Здравствуйте, Cicero, Вы писали:
C>Очень часто это слышу: Паскаль(иногда конкретизируют: Turbo Pascal) не подходят для обучения программированию.
C>Обычно аргументов нет. Самый "сильный" аргумент — это несовременный!
Аргументы:
1) Многословный. Чтобы написать простейшую вещь, нужно очень много кода;
2) Нет нормального современного IDE. Нужны средства автоматического рефакторинга, удобной навигации по коду, поиск зависимостей, легкие быстрые переименования, выделения функции, метода, интерфейса, переменной и т.д;
3) Низкоуровневый. Нет нормальных удобных библиотек. Все пиши на низком уровне, сам, на массивах и указателях. В итоге имеем, что за неимением нормальных библиотек, новички для решения простейших задач городят тормозные громоздкие спагетти велосипеды, с квадратичной сложностью вместо константной;
4) Не поддерживаются концепции, которые современные программисты должны знать. Функциональная парадигма, распараллеливание, конкуррентность, асинхронность, реактивное программирование, итераторы, метапрограммирование — сейчас это база, которую нужно знать даже новичкам. И легче всего это делать сверху вниз, сразу прививая нормальный стиль.
5) В современном мире паскаль прививает крайне хреновый стиль программирования. Только недавно сделали возможность объявлять переменные по месту использования;
6) Куча граблей на ровном месте. Юникоды и т.д, приходится воевать с тем, о чем в других языках уже давно не задумываешься.
7) Трудности с написанием нормального современного UI. Набросать формочку и прямо в обработчике кнопки фигачить всю логику — это ни хрена не современный UI. Формируется по умолчанию такой стиль у новичков, что потом их либо хрен будут брать на работу, либо они потратят много времени и сил и переучатся практически с нуля. Сил приходится прикладывать настолько много, что быстрее полного нуля научить заново, чем переучивать того, кто говнокодил десятилетиями. Полюбуйтесь на нашего главного православного, его именно паскаль сгубил, его теперь хрен переучишь, если он не научился программировать на юниорском уровне за 20 лет, хрен он когда научится теперь.
8) Оторванность от современных реалий. Нет нормальной литературы, современных библиотек на все случаи жизни. Вот если тебе нужно какую нидь кластеризацию k means по быстрому сделать, чтоб на видюхе считалось — что, будешь с нуля писать все?
9) Новичкам нужно быстро что то сделать чтобы было красиво. Графику подрубить быстро, текстурочку, чтоб со звуками и т.д. Быстро и просто не получится даже на продвинутых паскалях. Да, будет проще, чем в 80-е годы, но много геморройнее, чем даже на JavaScript. На котором всякие 3d крайне легко делать.
10) Community. Всякие паскали уже все давно забыли как страшный сон. Задашь какой вопрос на форуме — хрен тебе кто ответит, это давно уже не актуально. Будешь на грабли наступать самостоятельно и абсолютно бессмысленно.
Хватит. Язык был неплох для обучения в 80-х годах. Какая то применимость была в 90-е. Уже в двухтысячном от него нужно было держаться как можно дальше, появились языки много лучше. В 2019-м даже мысли не может быть такое использовать для обучения. Еще б бейсик ранних 80-х бы вспомнили, с переменными f1 и строковыми вида $b5, с ограничениями на максимальную длину переменной, с редакторированием по строчкам, со всякими rename, gosub, goto

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