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 тогда еще не изобрели, а вот Столлман свой манифест уже написал) был не слишком популярны.
Это от некомпетентности
Date: 2014-10-09 07:45 am (UTC)http://pascalabc.net
1) Российский продукт (Южный университет).
2) Поддержка .NET.
3) Простая и понятная как репа IDE. Одна локаль в IDE и во встроеной консоли IDE (напомню на всякий случай что в Windows до сих пор GUI и консоль имеют разные локали, так что русский в 1251 до сих пор нечитаем в консоли, и школьники пишут интерфейс консольных приложений LATINICEY).
4) Хелп и обучалка на русском языке с примерами, достаточная, чтоб изучить Паскаль в обьеме школьных требований (профильной) информатики и сдачи ЕГЭ по С4 включительно. В нем кстати только консольные программы.
Может ли отказать школа от Паскаля? Не раньше чем от него откажутся на экзаменах, включая ЕГЭ. Пройдите и оцените масштаб бедствия на примере задачи С2 из открытого банка задач:
http://inf.reshuege.ru/test?theme=271
В ряде задач на выбор Кумир, Паскаль, Бейсик и С. В ряде задач - только Паскаль.
Школьник не может от него отказаться раньше, чем ФИПИ и прочее РАО не придет в чувство и не откроет для себя, что уже 21 век.
И Паскаль АБС - это все-таки лучше чем TP. Алзо, он свободный и бесплатный.
Можно, конечно, и спереть коммерческий RAD Embarcadero Studio Architect XE6 - вершину (на сегодня) эволюции TP / BP на платформе Windows. А смысл? А совесть?
Перейдет ли школа на Питон, как уже много лет взывают энтузиасты из ФИПИ, такие как Денис Кириенко? Есть в сети замечательное видео. Встает на совещании преподаватель из МГУ и говорит - Как? Я 35 лет преподаю Паскаль, а вы теперь мне говорите что Питон лучше? Нет, я и дальше буду преподавать Паскаль!
А так как именно он в итоге начальник, то... Ну, к 22 веку Питон 2 проникнет в школы, я уверен!
Re: Это от некомпетентности
Date: 2014-10-09 07:49 am (UTC)Наличием IDE
Date: 2014-10-09 07:55 am (UTC)Или ты берешься обьяснить ВСЕМ из класса в 40 человек все команды консоли, которыми они будут работать? Под windows же?
На Маке и линуксе я еще могу понять этот ход, пусть лазарус. Но под windows? А все 100% шкльного обучения идет под Windows.
Дочка моя, например, пишет в школе на Free Pascal, используя компилятор командной строки. Но исходник все равно должен набираться в графическом редакторе - Sublime Text, Notepad++, PsPAd, Geany, Notepad наконец. Vi , Emacs под виндоуз у среднего школьника отсутствуют.
Забыл еще указать второй приличный паскаль с IDE (for win) - Bludshed Software. Тоже птичка. нивапрос.
Но он чуть дальше от TP, и чуть глюковатей.
Re: Наличием IDE
Date: 2014-10-09 08:08 am (UTC)Вообще в комплекте FreePascal для Windows идет турбо-среда очень похожая на 6-7 борланд. И с локализацией консоли там все в порядке.
Вот сейчас скачал и попробовал - русские буквы в редакторе и в выводе выглядят одинаково.
IDE на Turbo Vision в текстовой моде?
Date: 2014-10-09 11:05 am (UTC)Re: IDE на Turbo Vision в текстовой моде?
Date: 2014-10-09 11:10 am (UTC)Re: Это от некомпетентности
Date: 2014-10-09 06:57 pm (UTC)Это может быть хорошо с учебной точки зрения. Объяснять, что последовательность байт, символов и то, что видишь на экране - не одно и то же.
Еще бы в эту кучу добавить парочку исходных текстов от китайцев, которые иероглифы в названии переменных использовали.
Re: Это от некомпетентности
Date: 2014-10-09 10:25 am (UTC)chcp 1251 ?
Re: Это от некомпетентности
Date: 2014-10-09 11:10 am (UTC)А так все ок, в остальном очень удобно.
Re: Это от некомпетентности
Date: 2014-10-09 11:48 am (UTC)C учетом что большинство учитилей сами не асиливают да
Date: 2014-10-09 12:02 pm (UTC)"даже динамические массивы"
Date: 2014-10-09 12:02 pm (UTC)Re: Это от некомпетентности
Date: 2014-10-09 06:25 pm (UTC)Только бинарники, исходников нет, в лицензии явно написано что copyrighted propietary software.
facepalm.jpg
Date: 2014-10-09 11:39 pm (UTC)CHCP 1251
no subject
Date: 2014-10-10 06:45 am (UTC)Потому что половина консольных приложений из комплекта винды начнет писать кракозябрами, ибо у них внутре сообщения в 866й кодировке приколочены гвоздями при компиляции. А так-то в консоли хоть юникод включай...