>Однозначно С. Хотя во многих институтах почему-то обучение начинают с Delphi, что является очень большой ошибкой.
>А какое принципиальное отличие?
Отличие огромное. Если человека начинать учить программированию с Дельфи, то он сразу как никак стыкается с классами и ООП, которого он нифига не понимает, а только формочки лепит. А начинать обучать человека на С в консоли как раз самое ано, нету никаких свистоперделок и т. д. Все просто и сурово, и можно сосредоточится на изучении алгоритмов, структур данных и прочих полезных вещей.
1. начинать со школы: lisp+haskell (одновременно)
2. в вузе не подпускать на пушечный выстрел к java - студент познавший java потерян для программирования ибо будет с радостью кодить код кило-мега-тоннами
3. если до вуза ни с одним языком знакомство не состоялось, то (С И (lisp ИЛИ haskell))
+ обязательно рассказывать про автоматы, языки, вычисления, предикаты, категории и т.д.
>Отличие огромное. Если человека начинать учить программированию с Дельфи, то он сразу как никак стыкается с классами и ООП, которого он нифига не понимает, а только формочки лепит.
Я помню курсе на третьем писал курсовую, ЕМНИП LZW-кодирование и поначалу запутался в переменных. Решил заюзать классы на каждый чих и отлаживать их по отдельности при помощи набора тесткейсов - таблица замены, входной поток байт, выходной поток многобитных LZW-кодов итп. В конце концов таким макаром я это осилил, хотя теперь использование ООП в той задачке конечно кажется стрельбой из пушки по воробьям и сейчас я бы конечно написал ее процедурно.
у нас больше любят "мачкад"(с) (один из препов, орфография сохранена). Математические пакеты это хорошо, но не слишком универсально, не все задачи сводятся к вычислениям.
Желательно знать название курса для студентов.
А вообще язык для обучения должен
1. иметь максимально простой синтаксис
2. быть достаточно гибким для демонстрации различных парадигм
> не знаю, но это не помешало мне написать на пистоне целый один скрипт :)
я вот тоже конфиги к Хмонаду писал, но Хаскелля не знаю.
Питон обладает большим преимуществом - используя его можно просто и наглядно продемонстрировать сложные концепции и парадигмы.
>Паскаль однозначно. В программировании главное научиться писать алгоритмы. Паскаль имеет строгий синтаксис, прост, и лёгок в обучении.
О-ЛО-ЛО-ЛО! Паскализм Головного(?) Мозга(???) детектед!!! Вирт себе волосы на ж.. рвет. Есть Модула, есть Оберон, есть Оберон-2 есть Компонентный Паскаль. Причем все эти языки проще чем паскаль и боле продвинутые чем паскаль.
Нет же. Мышки плакали, кололись, но продолжали жрать... паскаль. Не, как только начинается осень - в книжных магазинах сезонное поступление: книжки по паскалю (и еще книжка по С Подбельского, но это к теме не относится). Меня просто добила какая-то книжка, где на обложке(!) показано окно турбопаскаля в окне а-дя виндовз 95. Примерно к зимней сессии, лица, содержащиеся в местах принудительного получения знаний эти их скупают... И так до следующей осени.
>эту дрянь писали специально для студней. Язык для новичков, нет непонятных скобок и закорючек, на вид почти как инглиш.
Если для "стундя" профильного факультета С - куча непонятных "скобочек и закорлючек", то он видимо сильно ошибся с выбором будущей профессии. Хотя начинать конечно же надо с Схемы.
именно. Люди, занимающиеся исключительно числодроблением, относятся к другой профессии.
Владение мат. пакетами это хорошо, но не всегда достаточно. К примеру мне, как инженеру, захотелось написать небольшой модуль для любимого CAD-пакета, чтобы облегчить себе жизнь. Чем мне тут знание матлаба поможет? А вот того же банального паскаля было бы достаточно.
Или захочу я макрос к офису написать.
Более того, есть инженерные задачи, которые к вычислениям вообще не сводятся никак.
> Владение мат. пакетами это хорошо, но не всегда достаточно. К примеру мне, как инженеру, захотелось написать небольшой модуль для любимого CAD-пакета, чтобы облегчить себе жизнь. Чем мне тут знание матлаба поможет? А вот того же банального паскаля было бы достаточно.
Я не знаю, чем паскаль поможет. Расширения для автокада (сам он на крестах, скорее всего, написан) пишутся на автолиспе или бейсике, для юниграфикса на Си, крестах или встроенном скриптинге (забыл название), солидворкс на крестах, катька с проинженером тоже не на паскале. К тому же, это требует специфичных знаний и выходит за рамки программы обучения. Давать программирование в таких количествах инженерам (чтобы студент мог писать доп.софт для КАДов) - это такая же глупость, как учить программистов сопромату и механике жидкости и газа.
Я-то сам для юниграфикса плагин на сях писал, но не уверен, что кто-нибудь на моей специальности подвиг повторит. > Или захочу я макрос к офису написать.
А нафига инженеру офис? ПЗ инженер в латехе делает, ибо это самое лучшее, что для таких дел есть.
вот именно поэтому надо начинать с простого и логичного языка. Ведь не зря раньше изучение евопейских языков начинали с латыни - простого и логичного языка. А вот допустим если начать учить английский то знание этого набора костылей английского будет мешать учить скажем немецкий.
ту алгебру, которую учат в 8-11 классах очень хорошо сопровождать примерами на haskell - внешне программа на нём будет очень похожа на формулы на доске/в книге.
если позже этого, бывший школьник придёт в ВУЗ и будет учить алгебру - вот как раз и настанет время познакомиться с функторами, монадами, -морфизмами, -потентностями и прочими нешкольными понятиями.
> Просто мало кто знает. else в try тоже никто не пользуется - непривычно же.
Да все про него знают, но оно же фигню какую-то делает. Любой нормальный человек ожидает, что ветка else выполняется, если основная ветка не выполнилась ни одного раза. Теперь попробуй мне объяснить, почему она работает совсем не так?
В школе дают и должны давать базовое образование. Кроме так важной для хаскеллезадротов математики есть ещё гора предметов, важных для гармоничного развития личности. Программирование в школе можно вообще давать на уровне алгоритмического мышления. Для заинтересованных детей существуют спец.классы и доп.часы, где они углубленно изучают интересующий их предмет. На доп.часах физики я что-то ни одного гуманитария не видел, ровно как и меня не видели на внеклассных чтениях поэзии Серебрянного века.