Не е нужно да се регистрирате!
Трябва ли да се учи паскал в училище?
Иди на страница 1, 2 Следваща
|
| Предишната тема :: Следващата тема |
| Автор |
Съобщение |
dancho
Регистриран на: 23 Feb 2006 Мнения: 52
|
Пуснато на: Sat Sep 15, 2007 9:09 am Заглавие: Трябва ли да се учи паскал в училище? |
|
|
Трябва ли да се учи паскал в училище?
Последната промяна е направена от dancho на Fri Mar 26, 2010 5:28 am; мнението е било променяно общо 1 път |
|
| Върнете се в началото |
|
 |
Реклама
|
Пуснато на: Заглавие: |
|
|
|
|
|
| Върнете се в началото |
|
 |
Synaptic

Регистриран на: 06 Sep 2007 Мнения: 344
|
Пуснато на: Sun Sep 23, 2007 2:02 pm Заглавие: |
|
|
| Pascal е хубав език за начинаещи,но вече е много стар.В мойто даскало направо започват от C. ;] |
|
| Върнете се в началото |
|
 |
admin Site Admin
Регистриран на: 12 Oct 2005 Мнения: 281 Местожителство: София(Варна)
|
Пуснато на: Sun Sep 23, 2007 5:23 pm Заглавие: |
|
|
А какво използвате като редактор за писане на код?
Не е ли малко сложничко да се учи C в училище?
Аз лично мисля, че Pascal е по-подходящ тъй като целта в училище е да покаже на учениците основите на програмирането, а не да ги прави програмисти.
Иначе може би C се доближава като синтаксис до съвременните езици за програмиране и като изключим указателите е добре да се преподава в училище. |
|
| Върнете се в началото |
|
 |
Synaptic

Регистриран на: 06 Sep 2007 Мнения: 344
|
Пуснато на: Sun Sep 23, 2007 5:54 pm Заглавие: |
|
|
| Ами кода го пишем на DevCpp. ;] Ами моят випуск започна с паскал и премин на C++,но сега започват от C. |
|
| Върнете се в началото |
|
 |
DR_GIGGULS
Регистриран на: 14 Mar 2007 Мнения: 71
|
Пуснато на: Mon Sep 24, 2007 11:57 am Заглавие: |
|
|
Паскал е добре да се учи. В него има въведение в работата с низове и масиви, което в един момент се оказва полезно.
Също така Паскал е направен с цел обучение. Според мен Паскал е доста лесен, но те учи да мислиш логично. Не съжалявам, че съм му отделил от времето си. |
|
| Върнете се в началото |
|
 |
mtpv
Регистриран на: 08 Apr 2008 Мнения: 5
|
Пуснато на: Tue Apr 08, 2008 12:52 pm Заглавие: |
|
|
| и ние изучаваме паскал |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Tue Apr 08, 2008 4:10 pm Заглавие: |
|
|
| не харесвам паскал, езици създадени с цел обучение са доста хмм второкласни според мен, а и това да се почва с C в даскало не мисля че е особено добра идея също, някой хубав скриптов език си е перфектен за тая работа, а да не говорим че ruby и python не са играчки, въпреки че са лесни за учене и са перфектния първи език. Но яко някой разчита на даскалото за да го научи да програмира има сериозен психичен проблем, аз вече не разчитам на даскалото за нищо, а като се има предвид че ни учиха как се сейва файл си представете на кво ниво сме, вярно че нащо даскало е хуманитарна гимназия и малко информатиката не е на ниво, но като изключим българския, историята и философията, сички други часове са скръб. Продсто деградиращото ни образование ни принуждава да търсим алтернативни средства за обучение, така че ако ще и със асемблер да се почва в даскало същата файда. |
|
| Върнете се в началото |
|
 |
Synaptic

Регистриран на: 06 Sep 2007 Мнения: 344
|
Пуснато на: Tue Apr 08, 2008 4:56 pm Заглавие: |
|
|
Скриптов език да се учи в училище?!
Представи си колко ще са двойките и колко даскали го разбират.
Офтопик: pavelludiq, усещам, че имаш (хм) специално отношение към python-а, това е сигурно защото се занимаваш с него, но мисълта ми беше, че не трябва да го оставяш да определя виждането ти за другите езици. Идеята на самото програмиране е да разбереш как стават работите и да се досещаш как да ги направиш т.е да намираш едно ( може и повече ) решение(я) на даден проблем. Хубавото за един програмист е да може да го прави на различните езици и под различни ОС. Няма лошо да си се занимаваш с python, но паралелно с него може да учиш и нещо друго и ще разбереш за какво иде реч. ;] А като цяло програмирането си е едно, езиците ако ще и 1000 да са, хубаво е да се знае какво и как точно ще трябва да се направи ( един вид да видиш решението ), и след това си го решаваш според разл. езици и синтаксисите им. ;]
Ruby съвсем не е подходящ за начало. Виж защо, ще цитирам от Уикипедия.
| Код: |
Водещият принцип на Мац при създаването на езика е да направи програмистите щастливи чрез намаляване на ненужната работа...
Мац иска Ruby да следва принципа на най-малка изненада. Това значи, че поведението на езика трябва да е интуитивно и той трябва да работи, както програмистът би очаквал. Възможно е крайният резултат да е „принципът на най-малка изненада за Мац“, но огромен брой програмисти по света твърдят, че езикът съответства и на техния модел на мислене.
|
Колко от хората които за пръв път програмират имат модел на мислене като на програмист? Това, че спестява писането е добре, но за човек знаещ алгоритмите, знаещ основните цикли и функции, класове и подобни. ( Първото ми впечатление за Ruby беше хубаво, точно както е твоето сега, но сложната преносимост не ми хареса и го зарязах. )
Ако се започне от изучаването на VB( Visual Basic ), защото я има и тази практика се обвързваш изцяло с MS. Което е супер голям комерс и монопол!
Pascal е добър, аз от него съм започнал и ми е помогнал доста. Това, че сега не го ползвам и съм го позабравил не е важно, защото той ми даде начален ориентир как трябва да се работи. Ако мислите Паскал-а за губене на време помислете колко ненужни неща научавате всеки ден, т.е всяко знание е полезно, но не всичко ще ви потрябва някъде.
Започването от C или C++ също не е толкова трудно. Пример са съучениците ми, които са идиоти ( повечето от тях ), но го разбраха и могат да напишат проста програма. Не стават за програмисти, но и това е достатъчно.
Добре е да се започва от езици, в който лесно може да видиш резултата от програмата ти - по-лесно се разбира. Ами ако се започне да се учи MySql, кво ще гледаш един phpmyadmin и някакви таблички. Вече ако се допълни с php ( примерно ) ще разбереш за какво са всички тези таблички. |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Tue Apr 08, 2008 5:25 pm Заглавие: |
|
|
интерпретируем език е перфектен защото не трябва да се занимаваш с компилиране и глупости, а и когато почнах с С++ в 7-ми клас нямах представа какво означаваше 70% от кода на програмата която написах, защото никой не ми обеасни какво е iostream.h и какво е main() тези неща ги разбрах едва преди няколко месеца когато се занимавах с python и разбрах че main() е функция, истината е че един учител с С/С++ На новака ще трябва да му обеаснява и тези нища, или да започне направо с операторите.
А относно офтопика в момента уча С и Scheme. Scheme ми харесва повече, въпреки огромното количество скоби , също така се занимавам доста с разсъждения над различни проблеми и чета огромно количество код на python и то не учебен, а реален код на няколко програми които са доста обемисти. Също така и сънувам код доста често, обикновено е python и обикновено има смисъл и на няколко пъти съм стигал до интересни изводи така . Прекарвам поне по 20 минути на ден в медитация и в разсъждения над различни проблеми над които съм разсъждавал доста дълго преди това(медитацията която аз практикувам не е особено подходяща за разсъждения) Така че не си прав че нямам различни гледни точки. От както се занимавам сериозно с програмиране виждам много неща които не съм виждал(подобрих се по математика защото започнах да схващам по лесно сложни неща които нямат нищо общо с програмирането) Станах добър на логически игри, подобрих си дори тактическото мислене докато играя баскетбол. Абе програмирането трябва да се учи само заради оптимизиращия ефект върху мозъка ти  |
|
| Върнете се в началото |
|
 |
Synaptic

Регистриран на: 06 Sep 2007 Мнения: 344
|
Пуснато на: Tue Apr 08, 2008 6:34 pm Заглавие: |
|
|
Чак сънуване на код.. ( don't make me laugh ). Не си разбрал нещата за main() в c++, защото не си поискал да ги разбереш. Можело е да search-неш google или да попиташ учителя. Отново свързваш всичко с python.
Относно другото което каза, аз прекарвам ~ 1 час в размишления по дадена тема. Било то тема от деня, от седмицата, важно събитие или някаква дилема. Ест. това го правя когато имам време. Категорично не го свързвам с програмирането, защото още от преди да си имам на идея какво въобще е компютър съм го правил това.
Логическите игри отново са до съзнанието на човек и до самият човек. Аз съм фен на судокуто и си решавам, но отново не го свързвам с това, че се опитвам да бъда подобие на програмист.
Категорично математиката няма нищо общо, защото математиката си я харесвам от малък. Просто обичам да търся логиката в нещата ( също и физика обичам ), мразя да уча наизуст неща които въобще не разбирам или някакви тъпи дати или % на населението. Това са глупости за мен.
Тактическо мислене съм придобил от шах-а, когато играех с дядо ( бог да го прости ), също и от компютърните игри, които играех като по-малък в клубовете. Да, освен, че вредят компютърните игри и помагат, зависи си от гледната точка.
И за да дам още един пример, познавам един човек ( програмист ), силата му е в php и mysql-a ( друго нищо категорично не го интересува, но когато трябва разбира що годе за какво иде реч е сорс кода ), пияница, има доста ниска обща култура, а за логика да не говорим, а математиката му е ... ( добре че знае таблицата за умножение ). Виж не се опитвам да го злепоставя, а искам да ти кажа, че програмирането няма нищо общо с моралът и съзнанието на човека.
Може да придобиеш някакви навици от програмирането, но се съмнявам, че сънуването на сорс код е един от тях. Тези навици, обаче се градят доста време и този период на изграждане на нови навици се увеличава правопропорционално с нарастването на възрастта.
П.П: Мисля, че се отклонихме доста от идеята за паскал, ама мисля, че се получи интересен спор. |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Tue Apr 08, 2008 6:52 pm Заглавие: |
|
|
май не разбра какво исках да кажа. От както се занимавам сериозно с програмиране натоварвам мозъкът си до това което до скоро съм мислил че е крайност. Това води до положителни резултати във всички други умствени сфери с които се занимавам. А за сънуването на сорс, на скоро четох че и на други хора им се е случвало може би не си се вманиачил толкова А езиците определят начина ни на мислене, не само тези за програмиране а и човешките, говоря 3 езика и съм убеден че това развиваа доста умът. При програмирането е същото, ако знаеш повече езици, си способен да мислиш на различни такива и мисленето ти не е ограничено само от 1. за сега зная добре само 1 език и за това когато става дума за програмиране мисля най вече със неговите особености под внимание. Но това ще се промени. А този твой приятел не бих могъл да говоря тук, но всичко си е до човека, и аз имам много притаели алкохолици А за да се върна до накъде на темата ще дам няколко причини защо python е много добър избор да първи език:
1.Интерпретируем е и може да се види резултатът от даден израз веднага след като се напише, това е доста полезно при ученето.
2.Прост е и сравнително малък. Основата може да се научи доста бързо. Тук С също има досат силни позиций защото С не е голям език, но python е наистина невероятно бърз за научаване, след 3 часа четене успях да напиша един доста прост калкулатор, но бях изумен колко бързо попивам информацията.
3.Синтаксисът е много спесифичен. Няма {} с които да се заграждат функцийте, изразите не свършват със ;, задължително е използването на таб-а, за да се структурират логическите блокове(функций, класове, цикли) Това е доса добре измислено според мен защото не само учи как да структурираш кода си добре за да е четлив, но и грешките заради забравени ; намаляват драстично(аз съм неренотен шампион по синтактични грешки в класа ми)
минусите му не пречат на обучението, всъщност повечето му минуси не пречат и на професионалната разработка с него. А за мен неговите минуси са доста малко. Бавен е, lambda функцийте са почти безполезни, няма макроси както в lisp(това всъщност го няма защото макросите, такива каквито са в lisp, биха били почти безполезни в python или във който и да е друг език който има синтаксис различен от лисп).
А за паскал мога да говоря малко, учил съ го като първи език преди много години и нищо не помня, зная само че програмите започват с begin и вместо cin и cout се използва read и write  |
|
| Върнете се в началото |
|
 |
kuss
Регистриран на: 19 May 2008 Мнения: 2
|
Пуснато на: Thu May 22, 2008 5:54 pm Заглавие: |
|
|
| до скоро паскал бе най-изучаван в училищата но сега вече започват направо С . Поне в почвето училища в които се държи на информатиката това са моите наблюдения |
|
| Върнете се в началото |
|
 |
Реклама
|
Пуснато на: Заглавие: |
|
|
| до скоро паскал бе най-изучаван в училищата но сега вече започват направо С . Поне в почвето училища в които се държи на информатиката това са моите наблюдения |
|
| Върнете се в началото |
|
 |
e^x
Регистриран на: 30 Jul 2008 Мнения: 4
|
Пуснато на: Sun Dec 21, 2008 1:14 am Заглавие: |
|
|
| Synaptic написа: | | Pascal е хубав език за начинаещи,но вече е много стар.В мойто даскало направо започват от C. ;] |
Ти май изобщо не чуваш петлите аааа ????????????????? |
|
| Върнете се в началото |
|
 |
Vladi_mnt
Регистриран на: 02 Jan 2009 Мнения: 110
|
Пуснато на: Wed Mar 18, 2009 10:51 am Заглавие: |
|
|
Отсега и в моето училище ще започват директно със С и С++ - причината: Pascal отпада като език за програмиране на олимпиадите по информатика / което породи у мен малко съжаление, защото аз винаги съм съвсем малко избързал или закъснял със времето / И сега ще трябва да си уча С и С++ самичък вкъщи, защото моят випуск е последния такъв, който ще изучава Pascal като програмен език за даскалото ми... А пък ние ще си го доучим - понеже, няма как, започнали сме го... И въпреки че тези 2 години, през които изучавам Pascal са загуба на време за състезателното ми начало, именно Pascal ме научи да мисля логически, това ми беше началото, основата, на която се крепи сградата... И смятам, че в училище трябва да се започне с Pascal-а, защото, макар и стар език, той е много лесен за разбиране и работа, на него може би най-лесно се поставят основите на логическото мислене от начинаещите програмисти / или поне аз съм останал с такова впечатление / Това е нещото, без което един програмист не може - логическото мислене, което според мен Pascal най-добре го развива. Но за съжаление ( а и да се върна към темата ) С и С++ езиците постоянно го изместват и продължават все още да го избутват от училищната програма.... което ги прави според моите наблюдения най-често срещаните езици в българските училища / моля някой ако знае кои езици се изучават в чуждестранните училища да пише/ ако не засега, то поне в близкото бъдеще |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Wed Mar 18, 2009 2:02 pm Заглавие: |
|
|
(този пост може да прозвучи грубо, за което се извинявам, това просто е моя начин да вляза в комуникация, понеже съм задник)
@Vladi_mnt
Имам няколко въпроса:
1.От къде знаеш че паскал развива логическото мислене, след като(предполагам) не знаеш други езици освен него(ако знаеш, сподели)?
2. Какво прави паскал по добър език за обучение от C/C++
3. Какво разбираш под логическо мислене?
4. Кво ти пука за състезанията? Аз винаги съм ги смятал за загуба на време(не е възможно обективно да оцениш програмистките умения на някого)
5. Сериозно ли се надяваш да те научат да програмираш в даскало?
На някой от въпросите знам какво ще отговориш, на други не, за почти всички имам мнения, които биха се сторили обидни за повечето ученици по информатика. |
|
| Върнете се в началото |
|
 |
Vladi_mnt
Регистриран на: 02 Jan 2009 Мнения: 110
|
Пуснато на: Wed Apr 22, 2009 6:49 pm Заглавие: |
|
|
няма проблем, pavelludiq / няма лошо да спорим, стига да е в пределите на културната дискусия а и не мисля че си задник - просто засега не си го показал по никакъв начин, за да смята който и да е, че си такъв /
Сега ще дам отговор на въпросите ти / с удоволствие , пък и ти изложи своите мнения, за които само загатваш; за мен ще е удоволствие да ги чуя и няма да се обидя, каквиото и да са /
3. Ще отговоря на 3 въпрос първоначално. Под логическо мислене аз разбирам умението да изготвиш алгоритъма за решение на конкретната задача - "След А идва Б, след Б - В .... и т.н."
2. Pascal се разбира лесно, защото езикът който се използва за него е английски , а не някой изкуствено измислен речник с нови думи, които тепърва да учиш.
1. Отговор на 1 въпрос: Pascal развива логическото мислене именно поради 2 - само е нужно да знаеш английски език / което се популяризира постоянно / и лесно разбираш какво пише в програмата, защото програмата на Pascal е / почти / свързан смислов текст на АЕ / Освен това, когато се готвех да ти напиша отговор на въпросите, тогава не знаех и бъкел от С++, но сега напредвам много бързо, именно поради факта че знам да правя програми на Pascal и само си научавам кой оператор от Pascal отговаря на кой оператор от С++ /
4. Тук си прав за мен, но частично. Истина е, че чрез тях не можеш да съдиш обективно за програмистките умения на някой, както ти казваш, но не са загуба на време за мен . И нещо лично да кажа: аз ги харесвам, защото винаги съм искал да се самоизявявам, да се самодоказвам. И затова " ми пука " за тях  
5. Ако бъда честен, преди да се запозная с това, което наричам " програмиране" ( и то по-точно "сухо програмиране" - не Web-design и др такива подобни ) тогава да, мислех си че ще ме научат в училище, но сега, след 2 години изучаване на различни езици за програмиране от всякакъв вид / освен Pascal и С++ още съм учил малко и HTML, CSS, MySql, PHP - аве, бях на школа по Web-design накратко / сега вече нещата ми изглеждат по-различни Аз сега, каквото знам на С++ е вследствие на работата вкъщи - в училище още учим Pascal.
Та сега разбрах че език се учи с практика . ДОМАШНА практика. |
|
| Върнете се в началото |
|
 |
Vladi_mnt
Регистриран на: 02 Jan 2009 Мнения: 110
|
Пуснато на: Wed Apr 22, 2009 6:55 pm Заглавие: |
|
|
И искам да се извиня за закъснението, с което ти пиша. Много вода изтече оттогава, научил съм доста С++, но и ми остава още МНОГО0оо0оо..
Послепис: приложи си и своето мнение тук; искам да го чуя и няма да се обидя, каквото и да говориш / дори и да е за мен, да ме обиждаш или ругаеш на ма*ка въпреки че не би го направил   / Да си модератор тук се изискват повече от нормални качества на човек   и ми е инт да ти чуя мнението
Ако се притесняваш че ще засегнеш другите, може да ми пратиш мнение като ЛС / и ако имаш мерак още да се занимааш с мен / |
|
| Върнете се в началото |
|
 |
Vladi_mnt
Регистриран на: 02 Jan 2009 Мнения: 110
|
Пуснато на: Wed Apr 22, 2009 7:03 pm Заглавие: |
|
|
Още 1 послепис: Pascal е по-добър език за обучение НЕ КАТО ЦЯЛО - в смисъл С++ е по-добър език като цяло / даже най-добрият предполагам /, за самото програмиране, ама ако почнеш да му учиш речника без да знаеш друг език - нз за другите, ма ми става лошо А аз като знам Pascal-чето още на 1 ден взех та научих 10 или 11 оператора на С++ (!), което мисля че е доста, /но пък упражненията съсипват / |
|
| Върнете се в началото |
|
 |
Vladi_mnt
Регистриран на: 02 Jan 2009 Мнения: 110
|
Пуснато на: Wed Apr 22, 2009 7:10 pm Заглавие: |
|
|
| pavelludiq написа: | | интерпретируем език е перфектен защото не трябва да се занимаваш с компилиране и глупости, а и когато почнах с С++ в 7-ми клас нямах представа какво означаваше 70% от кода на програмата която написах, защото никой не ми обеасни какво е iostream.h и какво е main() тези неща ги разбрах едва преди няколко месеца когато се занимавах с python и разбрах че main() е функция |
Точно това искам да кажа: Pascal по-лесно се разбира, като го научиш после в С++ -а само си правиш аналогията м/у операторите в двата езика. / Напълно възможно е и python да е добър избор за начинаещия програмист, но, моля да ме извините, не съм запознат ИЗОБЩО с този език и затова не искам да рискувам с мнения за него, от които после да се отричам, извинявам, да правя мазало и т.н. Затова засега си оставам с Pascal-чето / |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Wed Apr 22, 2009 7:54 pm Заглавие: |
|
|
За щастие съм станал още по циничен и разочарован от образователната система след като изрових стария ми учебник по информатика от 9-ти клас и го зачетох. Това е един от най лошите учебници които някога съм имал. Няма да влизам в подробности, но ако с това въвеждат децата в света на информатиката, сигурно прогонват по голяма част от тях.
Да продължим нашия паралелен спор по 5 отделни(но свързани) теми:
3. Логическо мислене. Това което описваш с думите:
| Цитат: | | Под логическо мислене аз разбирам умението да изготвиш алгоритъма за решение на конкретната задача - "След А идва Б, след Б - В .... и т.н." |
Ми напомня по скоро на термина "императивно мислене". Всъщност паскал като императивен език насърчава именно това мислене. Ако не знаеш, това означава "конструирането на последователност от команди, указващи начина на изпълнение на програмата". Логическото мислене, това което аз разбирам под логика е мисленето от рода на: Aко Зевс е бог, и всички богове живеят на олимп, тогава Зевс живее на олимп". Това го има в програмирането, но не е същото със "Първо направи това, после направи това, след това направи това". Въпреки че разбирам какво искаш да кажеш, по ясно би било да се изразиш по следния начин "Програмирането на паскал учи как да изразяваме идеите си ясно и точно", което предполагам е по точно и ясно от "паскал ни учи да мислим логически". Самият аз научих повече за логиката след като изгледах няколко лекции по философия в academicearth.org от колкото от програмирането на който и да е език. Което ме навежда на мисълта че ако(това е истинска логика) наистина си имал в предвид че програмирането ни учи да изразяваме ясно и точно идеите си, тогава всички езици ни учат на това. От това следва още нещо, след всички езици ни учи да ИЗРАЗЯВАМЕ мислите си, а не да мислим, следователно някой езици са по добри в изразяването на идеите ни от други.
2. Този аргумент не стои. Отново мисля че разбирам какво искаш да кажеш(write е по ясно от cout), но не мисля че има голямо значение, и в Паскал и в С++ има много синтаксис, който трябва да бъде научен(скоби, кавички, точки и запетаи, граматиката и семантиката на езика), лексиката не е особено проблемна като я погледнев в тази светлина(една от причините поради която мисля че python или ruby са по подходящи езици от паскал, те нямат толкова много синтаксис, а и са по добри като езици).
1. Виж 3, императивно, не логическо. Логиката идва от присъствието на if. Това че можеш да съставяш изречения които да наподобяват кодът на паскал е израз именно на това че паскал не е способен да изразява по сложни идеи от императивните(последователни команди). Например следния израз(това е Ruby):
| Код: | | [1,2,3,4].map{ |x| x*x} |
в импративен код изглежда така:
| Код: | arr=[]
for x in [1,2,3,4] do
arr.append(x*x)
end |
(или нещо от тоя род)
Първия е по кратък и ясен, докато втория би бил по лесен за разбиране от обикновен човек. Ето как би изглеждал първия код в главата ми:
взимаме списък с елементи 1,2,3 и 4 и за всеки елемент прилагаме анонимната процедура с 1 аргумент, която връща квадрата на аргумента си и генерираме нов списък с резултатите.
Императивния вариант:
създаваме списък arr
За всеки елемент от списъка [1,2,3,4] го умножаваме по себе си и го добавяме към arr.
Ефективно този код прави едно и също, това което е различно обаче е мисленето, не знам как за кратко време бих могъл да те убедя че първия вариант е по добър, и за опитния програмист е по лесен за разбиране(поне за мен де), но ще се съглася че втория е по лесен за начинаещия, но не много по лесен. А това че езикът не може да престави първата идея синтактично е негова загуба.
Друго което искам да кажа е че няма да ти е толкова лесно да научиш да речем scheme само като сравняваш операторите с тези на паскал, защото ще ти се наложи да научиш как да мислиш в scheme, което е доста по интересно от това да запомниш синтаксиса на С++ и да съпоставяш операторите.
Мисля че поста ми е прекалено объркващ. Някой ден ще напиша нещо по ясно и точно. |
|
| Върнете се в началото |
|
 |
steliyan
Регистриран на: 25 Oct 2006 Мнения: 75
|
Пуснато на: Thu Apr 23, 2009 7:57 am Заглавие: |
|
|
| Само искам да кажа, че състезанията по информатика са 90% математика, ако не и повече. Това че си станал първи на някое такова състезание не те прави добър програмист, просто на тези състезания са разглеждат математически проблеми, а не някаква програма с реално предназначение (говоря като цяло). |
|
| Върнете се в началото |
|
 |
RGT
Регистриран на: 13 Apr 2008 Мнения: 132 Местожителство: Плевен
|
Пуснато на: Thu Apr 23, 2009 6:57 pm Заглавие: |
|
|
| ОК, доколкото разбирам, според вас алгоритмите(които са в основата на състезателното програмиране) нямат кой знае кво значение за тва дали си добър програмист? Интересно... |
|
| Върнете се в началото |
|
 |
Реклама
|
Пуснато на: Заглавие: |
|
|
|
|
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Thu Apr 23, 2009 8:01 pm Заглавие: |
|
|
Разбира се че смятам алгоритмите за важни, това което намирам за маловажно е състезателния елемент. До колкото знам да си добър състезател не е от най важните неща при програмирането(или поне се надявам да не е, защото не струвам там ) |
|
| Върнете се в началото |
|
 |
Baronov
Регистриран на: 08 Sep 2008 Мнения: 29
|
Пуснато на: Fri Apr 24, 2009 12:43 pm Заглавие: |
|
|
Според вас кой е по-добър програмист. Човек с висок рейтинг в топкодер или човек, който знае питон, руби и т.н., но не е чувал за динамично оптимиране.
Първият може да пише код, който работи максимално бързо и във всички възможни случаи. Пише сложни алгоритми и решава сложни задачи за кратко време.
Вторият знае всички хитрини на питон примерно. Пише неразбираеми щуротии от вида
[1,2,3,4].map{ |x| x*x}, но ако го накараш да напише ефективна програма е безполезен. Освен това, ако нещо в програмата му не работи седи часове и търси грешка, която пича от първата група ще намери веднага.
Не съм имал щастието да работя с човек от първата група, но съм карал курсове за програмиране с хора от втората и не бих искал да са ми колеги.
В една голяма компания, разбира се, има хора и от двата вида. Даже хората от втория вид са повече, защото те вършат черната работа. |
|
| Върнете се в началото |
|
 |
abs
Регистриран на: 19 Oct 2008 Мнения: 60
|
Пуснато на: Fri Apr 24, 2009 7:52 pm Заглавие: |
|
|
В моето училище започваме дори не от Си, а от Си++.
ПП. Baronov в колко часа трябва да бъде следващото SRM? В TopCoder пише 21:00 EDT, но в нашта часова зона колко часа се пада? И коя е тази часова зона EDT? |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Fri Apr 24, 2009 9:40 pm Заглавие: |
|
|
| Baronov написа: | Според вас кой е по-добър програмист. Човек с висок рейтинг в топкодер или човек, който знае питон, руби и т.н., но не е чувал за динамично оптимиране.
Първият може да пише код, който работи максимално бързо и във всички възможни случаи. Пише сложни алгоритми и решава сложни задачи за кратко време.
Вторият знае всички хитрини на питон примерно. Пише неразбираеми щуротии от вида
[1,2,3,4].map{ |x| x*x}, но ако го накараш да напише ефективна програма е безполезен. Освен това, ако нещо в програмата му не работи седи часове и търси грешка, която пича от първата група ще намери веднага.
Не съм имал щастието да работя с човек от първата група, но съм карал курсове за програмиране с хора от втората и не бих искал да са ми колеги.
В една голяма компания, разбира се, има хора и от двата вида. Даже хората от втория вид са повече, защото те вършат черната работа. |
<сарказъм>
Първо [1,2,3,4].map{ |x| x*x} е Ruby*, второ по добър програмист е тоя който решава проблеми и не се прави на супер героят Programmer Man. А и аз не използвам обфускирани трикчета в python(а просто ги изследвам като почитател на поезията), противоречи на философията на езика за чистота и яснота на кода. Дори някой пачове са били отхвърляни защото загрозяват синтаксиса.
| Цитат: | | Първият може да пише код, който работи максимално бързо и във всички възможни случаи. |
Може ли да надбяга куршум? Дори и да приемем че е възможно да пишеш код който е максимално бърз във всички възможни случаи,какво става ако НЯМА нужда кодът да е бърз в случая? Да речем че имаш една програма и 90% от кода и е средно бавен, и 10% е супер бавен, ако оптимизираш средно бавните 90% няма да направиш програмата особено по бърза, но ако ускориш тези 10% които са бавни, е напълно възможно програмата да стане достатъчно бърза за да не се налага по нататъчно оптимизиране, освен ако не е космическа сонда или нещо от сорта. Да профилираш кода си преди да оптимизираш е също толкова важно колкото и да носиш наметало и маска.
| Цитат: | | Освен това, ако нещо в програмата му не работи седи часове и търси грешка, която пича от първата група ще намери веднага. |
Python не е инструмент за писане на шел скриптове. Стандартната библиотека има инструменти за дебъгване, оптимизиране и тестване на кода, както и за подробното му документиране и дори може да използваш коментарите в кода си за тестове(doc tests) Така че не е необходимо да съм супер герой за да дебъгвам, просто трябва да съм достатъчно умен за да използвам правилните инструменти , признавам че съм прекалено тъп за да дебъгвам без тях.
А и спорът мисля че не беше за това кои са по добрите програмисти(този спор е безсмислен, защото има достатъчно добри python и ruby програмисти и достатъчно ужасни C програмисти(всеки път когято си инсталираш бъгав драйвер, писан е от Programmer man, а той програмира с нули и единици)), а за ползата от олимпиадите. Та какъв точно е аргументът ти за защита на олимпиадите? Че който не е добър в тях не може да пише бърз, ефективен и чист код?
*при това идиоматичен ruby, а не щуротия, въпреки че python варианта [x*x for x in [1,2,3,4]] е по четлив
</сарказъм>
eddit:
http://docs.python.org/library/doctest.html
http://docs.python.org/library/unittest.html
http://docs.python.org/library/debug.html |
|
| Върнете се в началото |
|
 |
RGT
Регистриран на: 13 Apr 2008 Мнения: 132 Местожителство: Плевен
|
Пуснато на: Sat Apr 25, 2009 9:08 pm Заглавие: |
|
|
| abs написа: | В моето училище започваме дори не от Си, а от Си++.
ПП. Baronov в колко часа трябва да бъде следващото SRM? В TopCoder пише 21:00 EDT, но в нашта часова зона колко часа се пада? И коя е тази часова зона EDT? |
Кликаш на Next SRM, Click here to see when coding begins in other time zones и гледаш за София... По тва време на годината се добавят 7 часа, така че е в 4 сутринта. |
|
| Върнете се в началото |
|
 |
Baronov
Регистриран на: 08 Sep 2008 Мнения: 29
|
Пуснато на: Sun Apr 26, 2009 12:48 am Заглавие: |
|
|
| Това, което казвам е, че добрите състезатели са добри програмисти, т.е. от състезанията има полза. Обратното не е вярно. |
|
| Върнете се в началото |
|
 |
pavelludiq

Регистриран на: 10 Dec 2007 Мнения: 674 Местожителство: Shumen
|
Пуснато на: Sun Apr 26, 2009 8:21 am Заглавие: |
|
|
доказателство моля(сериозно съм любопитен , и съжалявам за преувеличената реакция в предишния пост) |
|
| Върнете се в началото |
|
 |
oracle
Регистриран на: 19 May 2009 Мнения: 6
|
Пуснато на: Tue May 19, 2009 9:26 pm Заглавие: |
|
|
| pavelludiq написа: | | не харесвам паскал, езици създадени с цел обучение са доста хмм второкласни според мен, а и това да се почва с C в даскало не мисля че е особено добра идея също, някой хубав скриптов език си е перфектен за тая работа, а да не говорим че ruby и python не са играчки, въпреки че са лесни за учене и са перфектния първи език. Но яко някой разчита на даскалото за да го научи да програмира има сериозен психичен проблем, аз вече не разчитам на даскалото за нищо, а като се има предвид че ни учиха как се сейва файл си представете на кво ниво сме, вярно че нащо даскало е хуманитарна гимназия и малко информатиката не е на ниво, но като изключим българския, историята и философията, сички други часове са скръб. Продсто деградиращото ни образование ни принуждава да търсим алтернативни средства за обучение, така че ако ще и със асемблер да се почва в даскало същата файда. |
не бих искал да те разочаровам, но на Паскал/Делфи съм писал комерсиални програми, на С/С++ - също, а така също и на i86 Assembler. С/С++ е труден за начинаещи... |
|
| Върнете се в началото |
|
 |
|
|
Можете да пускате нови теми Можете да отговаряте на темите Не Можете да променяте съобщенията си Не Можете да изтривате съобщенията си Не Можете да гласувате в анкети You cannot attach files in this forum Може да сваляте файлове от този форум
|
|