Turbo Pascal в XXI веке
Oct. 9th, 2014 10:31 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вчера дочка одной хорошей знакомой написала мне письмо с просьбой помочь найти дистрибутив Turbo Pascal. Оказывается, школьников до сих пор учат программировать в этой среде.
Какая жуть! Нет, я ничего не имею против языка Pascal вообще, и его борландовского диалекта в частности, хотя на мой взгляд, для первоначального обучения он немножко слишком низкоуровневый.
Но досовский компилятор 20-летней давности! Во-первых, запустить его в современных Windows близко к невозможному, нужен эмулятор dos, dosbox какой-нибудь. Во-вторых почто в эпоху, когда даже нетбуки 64-битные, мучить детей 16-битными моделями паияти? (конечно у Турбо Паскаля модель памяти собственная. и она существенно лучше, чем все что поддерживали 20 лет назад 16-битные компиляторы C для MS-DOS. но все же).
Это при том, что есть Free Pascal, который поддерживает все современные операционные системы и процессоры, генерирует нормальный 32-битный или 64-битный код, имеет нормальные интерфейсные библиотеки и IDE с современным интерфейсом.
Нет ведь, надо засунуть детей в досбокс, чтобы ни поуправлять каким-нибудь USB-шным гаджетом, ни написать бота к любимому чатику или форуму, преобразовать скачанную с телефона фотографию или сделать ещё что-то, имеющее отношение к их внеучебной (реальной или виртуальной) жизни было нельзя.
А уж учить на этом работе с графикой... Даже тогда, в 1993 году казалось очень странным решение Borland не включать в дистрибутив поддержку 256-цветного режима VGA 320x200. А уж сейчас в эпоху FullHD дисплеев когда слова PseudoColor Visual не помнят даже программисты со стажем, учить графике на примере 16-цветных режимов VGA.. Слов нет, даже матерных.
Конечно, я поделюсь с девочкой сохранившимся в старых запасах SVGA256.bgi , и уверен, что dosbox, основноне назначение которого - запуск старых игрушек, потянет 1024x768x256. Но это тоже PseudoColor. То есть то, что в реальности уже умерло навсегда. А настоящего TrueColor там, увы, не будет. API под него не заточен.
Кстати, ссылка на то, где взять дистрибутив Turbo Pascal вместе с досбоксом, пригодный для установки в современные 32 и 64-битные системы есть в английской википедии. Из чего я делаю вывод, что данное издевательство над детьми не особенность российского менталитета или постсоветской системы образования. Но детей уже защитили от информации так хорошо, что поискать в этом месте им не приходит в голову.
Лучше бы, блин, латынь учили, если так хочется мертвые языки преподавать. Там хотя бы написаны грамотные тексты, на примере которых можно учиться выражению своих мыслей, стилю и т.д.
Массива общедоступных качественных текстов на Turbo Pascal нет. Любой другой язык взять - хоть Java, хоть Python, хоть даже новомодный Хаскель, количество серьезного production code, доступного для чтения и изучения будет больше. Поскольку в те времена, когда production code писали на Turbo Pascal (я этим вообще-то десять лет занимался) и в той среде где это было применимо, принципы Free Software (Open Source тогда еще не изобрели, а вот Столлман свой манифест уже написал) был не слишком популярны.
Какая жуть! Нет, я ничего не имею против языка Pascal вообще, и его борландовского диалекта в частности, хотя на мой взгляд, для первоначального обучения он немножко слишком низкоуровневый.
Но досовский компилятор 20-летней давности! Во-первых, запустить его в современных Windows близко к невозможному, нужен эмулятор dos, dosbox какой-нибудь. Во-вторых почто в эпоху, когда даже нетбуки 64-битные, мучить детей 16-битными моделями паияти? (конечно у Турбо Паскаля модель памяти собственная. и она существенно лучше, чем все что поддерживали 20 лет назад 16-битные компиляторы C для MS-DOS. но все же).
Это при том, что есть Free Pascal, который поддерживает все современные операционные системы и процессоры, генерирует нормальный 32-битный или 64-битный код, имеет нормальные интерфейсные библиотеки и IDE с современным интерфейсом.
Нет ведь, надо засунуть детей в досбокс, чтобы ни поуправлять каким-нибудь USB-шным гаджетом, ни написать бота к любимому чатику или форуму, преобразовать скачанную с телефона фотографию или сделать ещё что-то, имеющее отношение к их внеучебной (реальной или виртуальной) жизни было нельзя.
А уж учить на этом работе с графикой... Даже тогда, в 1993 году казалось очень странным решение Borland не включать в дистрибутив поддержку 256-цветного режима VGA 320x200. А уж сейчас в эпоху FullHD дисплеев когда слова PseudoColor Visual не помнят даже программисты со стажем, учить графике на примере 16-цветных режимов VGA.. Слов нет, даже матерных.
Конечно, я поделюсь с девочкой сохранившимся в старых запасах SVGA256.bgi , и уверен, что dosbox, основноне назначение которого - запуск старых игрушек, потянет 1024x768x256. Но это тоже PseudoColor. То есть то, что в реальности уже умерло навсегда. А настоящего TrueColor там, увы, не будет. API под него не заточен.
Кстати, ссылка на то, где взять дистрибутив Turbo Pascal вместе с досбоксом, пригодный для установки в современные 32 и 64-битные системы есть в английской википедии. Из чего я делаю вывод, что данное издевательство над детьми не особенность российского менталитета или постсоветской системы образования. Но детей уже защитили от информации так хорошо, что поискать в этом месте им не приходит в голову.
Лучше бы, блин, латынь учили, если так хочется мертвые языки преподавать. Там хотя бы написаны грамотные тексты, на примере которых можно учиться выражению своих мыслей, стилю и т.д.
Массива общедоступных качественных текстов на Turbo Pascal нет. Любой другой язык взять - хоть Java, хоть Python, хоть даже новомодный Хаскель, количество серьезного production code, доступного для чтения и изучения будет больше. Поскольку в те времена, когда production code писали на Turbo Pascal (я этим вообще-то десять лет занимался) и в той среде где это было применимо, принципы Free Software (Open Source тогда еще не изобрели, а вот Столлман свой манифест уже написал) был не слишком популярны.
no subject
Date: 2014-10-09 06:54 am (UTC)А как сейчас с этими направлениями дела? Что-то не слышно никаких вестей давно уже :)
no subject
Date: 2014-10-09 06:58 am (UTC)no subject
Date: 2014-10-09 06:58 am (UTC)no subject
Date: 2014-10-09 06:58 am (UTC)no subject
Date: 2014-10-09 06:59 am (UTC)В околоджавских кругах сейчас весьма популярен язык Clojure - такой lisp для JVM.
C другой стороны MIT некоторое время назад отказался от Scheme в преподавании своих курсов в пользу Python. Поскольку тот лучше отражает особенности современной IT когда есть куча кривых библиотек и их надо использвоать потому что реимплементировать их - жизни не хватит.
no subject
Date: 2014-10-09 07:00 am (UTC)no subject
Date: 2014-10-09 07:01 am (UTC)no subject
Date: 2014-10-09 07:03 am (UTC)no subject
Date: 2014-10-09 07:04 am (UTC)no subject
Date: 2014-10-09 07:06 am (UTC)Я его на одних модулях Graph и Crt и их взаимодействии завалю, не касаясь даже Turbo Vision и доступа к функциям Dos.
no subject
Date: 2014-10-09 07:08 am (UTC)no subject
Date: 2014-10-09 07:18 am (UTC)no subject
Date: 2014-10-09 07:18 am (UTC)no subject
Date: 2014-10-09 07:21 am (UTC)Самое страшное, что классу к 10му процесс окукливания счастливо завершается, и человек уже сам начинает сопротивляться попыткам показать, как применить применить немногие имеющиеся знания к окружающему миру. "Проще у гугла спросить". :-(
no subject
Date: 2014-10-09 07:26 am (UTC)no subject
Date: 2014-10-09 07:27 am (UTC)no subject
Date: 2014-10-09 07:27 am (UTC)no subject
Date: 2014-10-09 07:28 am (UTC)Палеопрограммирование
Date: 2014-10-09 07:29 am (UTC)Скажу так же, что современные компьютеры слишком быстры для программ, скомпилированных TP/BP — при запуске возникает Runtime Error 200. Проблема в модуле Crt — он пытается таймить, сколько циклов занимает 1 миллисекунда (для Sleep), и падает с переполнением 32-битного счётчика. Crt нужна патчить, патч у меня тоже есть.
no subject
Date: 2014-10-09 07:29 am (UTC)Re: ÐалеопÑогÑаммиÑование
Date: 2014-10-09 07:34 am (UTC)no subject
Date: 2014-10-09 07:37 am (UTC)no subject
Date: 2014-10-09 07:37 am (UTC)no subject
Date: 2014-10-09 07:38 am (UTC)Помню-помню! Именно в те годы (1990-1992) чтобы задействовать "волшебный" 256-цветный режим, мне пришлось писать собственную графическую библиотеку под Turbo C. Ну и заодно разбираться с алгоритмами Брезенхейма, Флойда-Стейнберга и пр. :) Заодно выяснилось, что кроме стандартного 320*200*256 адаптер можно заставлять работать в 320*240*256, 360*480*256 и других разрешениях. А сколько разных экспериментов ставили с выводом графики на голом и неоплачивавшемся энтузиазме!
no subject
Date: 2014-10-09 07:38 am (UTC)