Почему не Pascal

В школах и вузах России до сих пор много где преподают алгоритмы / программирование на Pascal. Это плохо. До того, как объяснить, почему плохо, объясню, почему до сих пор.
Во-первых, у образования нет денег. Школы и вузы нищие. Потому никакого обновления парка машин, никакой смены программы (как жили на советской, так и живут с лёгкими переделками), никаких новых учителей информатики. Уж тем более никакой массовой закупки лицензий.
Во-вторых, отечественное образование — замкнутый на себя мир, в котором царицами тётки с бигудями из ГорОНО, а богами седовласые дядьки из министерства. В массе своей их волнует вовсе не образование, уж тем более не какой-то там мировой прогресс. Были бы бумажки вовремя заполнены, карманы шелестели, ну и регалии звенели.
В-третьих, много где работает принцип “деды наши на Pascal учились, мы учились, вот и вам сойдёт”. Попробуй объясни ностальгирующему по молодости мужику, почему то, что он задорно делал 25 лет назад на уроках информатики (мечтая о ясноглазой практикантке пединститута), в 2017 году уже олдовенько примерно так же, как пятидюймовые дискетки.
В-четвёртых, система образования готовит не программистов. Это старая проблема, о которой говорят и пишут с 90-х. Опять же, наследие СССР, в котором делали умеющих программировать математиков и физиков, но даже не собирались делать программирующих программистов. Отсюда следующий блок эссе.

Почему плохо? Потому, что…
Программисты не используют Pascal. Если вы пойдёте работать в какой-нибудь ГосЦНИИПрорабПроект, вероятно, будет Delphi, да, но… кхм.
Школьники и студенты России тратят самое горячее для головы время на то, что им никогда нигде не пригодится. А если школьник или студент толковый, он решает узнать чуть больше. Тут его ждёт некоторое разочарование.
Кто тут у нас считает, что Pascal хорош для преподавания алгоритмов? Ну айда в магазин (или на трекер). Стивенс, Скиена, Лафоре, Клейнберг, Тардос, Дасгупта, КЛРШ, Седжвик… ой, не Pascal. Кнут вообще свой язык сделал, потому в сторонке. Вовсю в ходу либо псевдокод (который тоже не на базе Pascal, к слову, давненько уже используется), либо Python/Java/C++.
Может, школьник или студент прикоснётся к новинкам индустрии (да даже старинкам)? Хм… Что у Pascal с парадигмами вроде OOP или FP? Виртуальные машины? Сборка мусора? Асинхронность? Многопоточность? JIT? Подозреваю, что фанаты что-то прикрутили в FreePascal, но почему бы не получить всё это из коробки без костылей?
Хорошо, школьник или студент на ближайшем заборе прочитал о том, что в природе существуют штуки вроде NoSQL. Упс, а драйверов нет даже к MongoDB. Года три-четыре назад вроде как пытались делать, а потом забили. Бяда…
Может, лет до тридцати человек яростный дурак, потому может осилить только Pascal? Ну… На Amazon в топе продаж учебники типа “Python for Kids” и “JavaScript for Kids”. У них вот чёт получается.
Статьи в журналах, конференции, видео на YouTube, бурление на форумах. Могу продолжать бесконечно. Трижополлиард мест, где нет Pascal и уже не будет.

Да и с позиции именно обучения у меня претензии.
Алгоритмы сами по себе нафиг не нужны, если не готовить философов, потрясённых красотою концепций. Если делаете программистов, алгоритмы должны применяться. В идеале к чему-нибудь реальному.
Ассоциативный массив? Отлично. Давайте на нём сваяем примитивное кеширование перед базой данных. Сначала без кеширования, потом с кешированием, обстреляем всё и увидим, как няшно же.
Графы? Тоже неплохо. Давайте загрузим граф связей друзяшек из Twitter или Facebook, проанализируем связи и заодно выгрузим в Excel. Нет, никак? На Pascal это займёт год?
Может, братве и сестртве с горящими глазами подсунуть веселящую задачу написать свой язык программирования (да тот же Lisp)? На базовом уровне это задача для школьников по нынешним временам, да и реально весёлая. На Python или JavaScript решается достаточно легко, заодно можно подсунуть тему автоматов и алгоритмов на строках. Как там у Pascal со сроками решения?

Искренне не понимаю, как можно быть сторонником преподавания чего-либо на базе этого маргинального языка. Он был хорош до 90-х. Потом появились мобильные телефоны, интернеты, языки следующих поколений, автомобили Tesla и даже пиво “Балтика” (дотошным — 1992 год).
Как если бы вас учили вождению на Запорожце. Важны же принципы, да? Запорожец тоже машина. Четыре колеса. Двигатель. Дверцы хлопают. Очень простой. Вон ща из гаража в стотысячный раз выкатим, пыль смахнём и айда на улицы, из трубы попукивая. А на KIA, Daewoo и Hyundai пусть мажоры учатся.
Как-то так. В топку Pascal, короче.

Добавить комментарий