LINUX.ORG.RU

Паскаль однозначно. В программировании главное научиться писать алгоритмы. Паскаль имеет строгий синтаксис, прост, и лёгок в обучении.

anterior
()
Ответ на: комментарий от Absurd

>Однозначно С. Хотя во многих институтах почему-то обучение начинают с Delphi, что является очень большой ошибкой.

>А какое принципиальное отличие?

Отличие огромное. Если человека начинать учить программированию с Дельфи, то он сразу как никак стыкается с классами и ООП, которого он нифига не понимает, а только формочки лепит. А начинать обучать человека на С в консоли как раз самое ано, нету никаких свистоперделок и т. д. Все просто и сурово, и можно сосредоточится на изучении алгоритмов, структур данных и прочих полезных вещей.

aldayneko
()

1. начинать со школы: lisp+haskell (одновременно)
2. в вузе не подпускать на пушечный выстрел к java - студент познавший java потерян для программирования ибо будет с радостью кодить код кило-мега-тоннами
3. если до вуза ни с одним языком знакомство не состоялось, то (С И (lisp ИЛИ haskell))

+ обязательно рассказывать про автоматы, языки, вычисления, предикаты, категории и т.д.

kvitaliy
()
Ответ на: комментарий от kvitaliy

> 1. начинать со школы: lisp+haskell (одновременно)

<irony>Класса со второго</irony>

Если серьезно, то Питон. Или, для эстетов, Ocaml.

tailgunner ★★★★★
()
Ответ на: комментарий от aldayneko

>>А какое принципиальное отличие?

>Отличие огромное. Если человека начинать учить программированию с Дельфи, то он сразу как никак стыкается с классами и ООП, которого он нифига не понимает, а только формочки лепит.

Я помню курсе на третьем писал курсовую, ЕМНИП LZW-кодирование и поначалу запутался в переменных. Решил заюзать классы на каждый чих и отлаживать их по отдельности при помощи набора тесткейсов - таблица замены, входной поток байт, выходной поток многобитных LZW-кодов итп. В конце концов таким макаром я это осилил, хотя теперь использование ООП в той задачке конечно кажется стрельбой из пушки по воробьям и сейчас я бы конечно написал ее процедурно.

Absurd ★★★
()
Ответ на: комментарий от DerKetzer

>Эту дрянь писали инопланетяне вообще.

эту дрянь писали специально для студней. Язык для новичков, нет непонятных скобок и закорючек, на вид почти как инглиш.

nu11 ★★★★★
()
Ответ на: комментарий от tailgunner

>Если серьезно, то Питон.

по мне так единственное достоинство питона для обучения это то, что он вырабатывает привычку грамотно расставлять отступы :)

nu11 ★★★★★
()
Ответ на: комментарий от val-amart

>это же где ты учился? мы лзв на первом курсе писали

Сейчас поднял конспекты - делал по теории информации на втором курсе.

Absurd ★★★
()
Ответ на: комментарий от nu11

> по мне так единственное достоинство питона для обучения это то, что он вырабатывает привычку грамотно расставлять отступы :)

Наверное, это потому, что ты не знаешь Питона.

tailgunner ★★★★★
()

C в классическом варианте (Керниган - Ричи). И консоль.

Для школьников - наверное, Basic или Pascal (хотя лучше все-таки Ruby :))

oami ★★
()
Ответ на: комментарий от tailgunner

>Наверное, это потому, что ты не знаешь Питона.

не знаю, но это не помешало мне написать на пистоне целый один скрипт :)

nu11 ★★★★★
()
Ответ на: комментарий от kvitaliy

> 1. начинать со школы: lisp+haskell (одновременно)

Охохо... Как там?.. "Монада — это моноид из категории эндофункторов", как раз для начальной школы.

mv ★★★★★
()
Ответ на: комментарий от nu11

> Технарям можно и турбопоскакаль впихнуть, потом смогут себе расчеты автоматизировать и мозг не взорвут.

Matlab/Octave. Паскаль нафиг.

mv ★★★★★
()
Ответ на: комментарий от mv

>Matlab/Octave. Паскаль нафиг.

у нас больше любят "мачкад"(с) (один из препов, орфография сохранена). Математические пакеты это хорошо, но не слишком универсально, не все задачи сводятся к вычислениям.

nu11 ★★★★★
()

Желательно знать название курса для студентов.
А вообще язык для обучения должен
1. иметь максимально простой синтаксис
2. быть достаточно гибким для демонстрации различных парадигм

capricorn20
()
Ответ на: комментарий от nu11

> не знаю, но это не помешало мне написать на пистоне целый один скрипт :)

я вот тоже конфиги к Хмонаду писал, но Хаскелля не знаю.
Питон обладает большим преимуществом - используя его можно просто и наглядно продемонстрировать сложные концепции и парадигмы.

val-amart ★★★★★
()
Ответ на: комментарий от anterior

>Паскаль однозначно. В программировании главное научиться писать алгоритмы. Паскаль имеет строгий синтаксис, прост, и лёгок в обучении.

О-ЛО-ЛО-ЛО! Паскализм Головного(?) Мозга(???) детектед!!! Вирт себе волосы на ж.. рвет. Есть Модула, есть Оберон, есть Оберон-2 есть Компонентный Паскаль. Причем все эти языки проще чем паскаль и боле продвинутые чем паскаль.

Нет же. Мышки плакали, кололись, но продолжали жрать... паскаль. Не, как только начинается осень - в книжных магазинах сезонное поступление: книжки по паскалю (и еще книжка по С Подбельского, но это к теме не относится). Меня просто добила какая-то книжка, где на обложке(!) показано окно турбопаскаля в окне а-дя виндовз 95. Примерно к зимней сессии, лица, содержащиеся в местах принудительного получения знаний эти их скупают... И так до следующей осени.

Ну это уже не смешно, блин!

Macil ★★★★★
()
Ответ на: комментарий от nu11

>эту дрянь писали специально для студней. Язык для новичков, нет непонятных скобок и закорючек, на вид почти как инглиш.

Если для "стундя" профильного факультета С - куча непонятных "скобочек и закорлючек", то он видимо сильно ошибся с выбором будущей профессии. Хотя начинать конечно же надо с Схемы.

Sidrian
()
Ответ на: комментарий от Sidrian

>Если для "стундя" профильного факультета С - куча непонятных "скобочек и закорлючек"

может стоит внимательно читать посты? Я предлагал С для программистов, а паскакаль для остальных технарей

nu11 ★★★★★
()
Ответ на: комментарий от hibou

Нам сначала Модулу-2 дали, так нам потом C питоном казался.

t184256 ★★★★★
()
Ответ на: комментарий от nu11

> у нас больше любят "мачкад"(с) (один из препов, орфография сохранена).

mathcad - какашка.

> Математические пакеты это хорошо, но не слишком универсально, не все задачи сводятся к вычислениям.


У нормальных инженеров-то?

mv ★★★★★
()
Ответ на: комментарий от mv

>У нормальных инженеров-то?

именно. Люди, занимающиеся исключительно числодроблением, относятся к другой профессии.

Владение мат. пакетами это хорошо, но не всегда достаточно. К примеру мне, как инженеру, захотелось написать небольшой модуль для любимого CAD-пакета, чтобы облегчить себе жизнь. Чем мне тут знание матлаба поможет? А вот того же банального паскаля было бы достаточно.
Или захочу я макрос к офису написать.

Более того, есть инженерные задачи, которые к вычислениям вообще не сводятся никак.

nu11 ★★★★★
()
Ответ на: комментарий от nu11

> Владение мат. пакетами это хорошо, но не всегда достаточно. К примеру мне, как инженеру, захотелось написать небольшой модуль для любимого CAD-пакета, чтобы облегчить себе жизнь. Чем мне тут знание матлаба поможет? А вот того же банального паскаля было бы достаточно.

Я не знаю, чем паскаль поможет. Расширения для автокада (сам он на крестах, скорее всего, написан) пишутся на автолиспе или бейсике, для юниграфикса на Си, крестах или встроенном скриптинге (забыл название), солидворкс на крестах, катька с проинженером тоже не на паскале. К тому же, это требует специфичных знаний и выходит за рамки программы обучения. Давать программирование в таких количествах инженерам (чтобы студент мог писать доп.софт для КАДов) - это такая же глупость, как учить программистов сопромату и механике жидкости и газа.

Я-то сам для юниграфикса плагин на сях писал, но не уверен, что кто-нибудь на моей специальности подвиг повторит.

> Или захочу я макрос к офису написать.


А нафига инженеру офис? ПЗ инженер в латехе делает, ибо это самое лучшее, что для таких дел есть.

mv ★★★★★
()

Wolfram Mathematica. Она, кстати, лисп, только не все об этом знают.

kot_otbelivatel
()
Ответ на: комментарий от Macil

>Есть Модула, есть Оберон, есть Оберон-2 есть Компонентный Паскаль. Причем все эти языки проще чем паскаль и боле продвинутые чем паскаль.

GNU Pascal/FreePascal еще. Ну и Ада.

Absurd ★★★
()
Ответ на: комментарий от mv

>А нафига инженеру офис?

Эксель или там OOCalc всеже немного лучше логарифмической линейки на которой рассчитывали первые ракеты и водородную бомбу.

Absurd ★★★
()
Ответ на: комментарий от nu11

>учить нужно программированию, а не языкам.

вот именно поэтому надо начинать с простого и логичного языка. Ведь не зря раньше изучение евопейских языков начинали с латыни - простого и логичного языка. А вот допустим если начать учить английский то знание этого набора костылей английского будет мешать учить скажем немецкий.

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от kot_otbelivatel

>> Например цикл for имеет часть else

Только работает он так, что им никто не пользуется.

Просто мало кто знает. else в try тоже никто не пользуется - непривычно же.

tailgunner ★★★★★
()
Ответ на: комментарий от mv

не нравиться haskell? или чего такая реакция?
или алгебру тоже не надо учить, потому что в ней есть страшное слово гомоморфизм?

kvitaliy
()
Ответ на: комментарий от kvitaliy

> не нравиться haskell? или чего такая реакция?
> или алгебру тоже не надо учить, потому что в ней есть страшное слово гомоморфизм?


Если ученик школы на вопрос про гомоморфизм, монады, моноиды, функторы и эндофункторы не ответит, то и Хаскелль ему учить также весело будет.

mv ★★★★★
()
Ответ на: комментарий от KRoN73

>Только машинные коды. Ассемблер - для студентов
Только морзянка. Машинные коды - для лузеров.

px ★★★
()
Ответ на: комментарий от KRoN73

а я не знаю процессоров выполняющих русский язык (кроме скриптов 1С :) ), но тем не менее это тоже код.

px ★★★
()
Ответ на: комментарий от mv

ту алгебру, которую учат в 8-11 классах очень хорошо сопровождать примерами на haskell - внешне программа на нём будет очень похожа на формулы на доске/в книге.
если позже этого, бывший школьник придёт в ВУЗ и будет учить алгебру - вот как раз и настанет время познакомиться с функторами, монадами, -морфизмами, -потентностями и прочими нешкольными понятиями.

kvitaliy
()
Ответ на: комментарий от px

>а я не знаю процессоров выполняющих русский язык

Выше где-то шла речь о процессорах, исполняющих русский язык? Нет, речь шла о машинном коде.

KRoN73 ★★★★★
()
Ответ на: комментарий от tailgunner

> Просто мало кто знает. else в try тоже никто не пользуется - непривычно же.

Да все про него знают, но оно же фигню какую-то делает. Любой нормальный человек ожидает, что ветка else выполняется, если основная ветка не выполнилась ни одного раза. Теперь попробуй мне объяснить, почему она работает совсем не так?

kot_otbelivatel
()
Ответ на: комментарий от kvitaliy

В школе дают и должны давать базовое образование. Кроме так важной для хаскеллезадротов математики есть ещё гора предметов, важных для гармоничного развития личности. Программирование в школе можно вообще давать на уровне алгоритмического мышления. Для заинтересованных детей существуют спец.классы и доп.часы, где они углубленно изучают интересующий их предмет. На доп.часах физики я что-то ни одного гуманитария не видел, ровно как и меня не видели на внеклассных чтениях поэзии Серебрянного века.

mv ★★★★★
()
Ответ на: комментарий от tailgunner

> Ты пробовал?

Хаскеллезадроты такие хаскеллезадроты... Сами-то поди не помнят, сколько существует изотопов аргона, а всё туда же - школьную программу расширять.

mv ★★★★★
()
Ответ на: комментарий от kot_otbelivatel

потому что for работает со списком? ;) Хотя else можно было бы и по-другому назвать

DNA_Seq ★★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.