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)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 06:58 am (UTC)no subject
Date: 2014-10-09 06:58 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 07:03 am (UTC)no subject
Date: 2014-10-09 07:08 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: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:28 am (UTC)(no subject)
From:no subject
Date: 2014-10-09 07:27 am (UTC)no subject
Date: 2014-10-09 07:29 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Палеопрограммирование
Date: 2014-10-09 07:29 am (UTC)Скажу так же, что современные компьютеры слишком быстры для программ, скомпилированных TP/BP — при запуске возникает Runtime Error 200. Проблема в модуле Crt — он пытается таймить, сколько циклов занимает 1 миллисекунда (для Sleep), и падает с переполнением 32-битного счётчика. Crt нужна патчить, патч у меня тоже есть.
Re: ÐалеопÑогÑаммиÑование
Date: 2014-10-09 07:34 am (UTC)Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:Re: Палеопрограммирование
From:no subject
Date: 2014-10-09 07:37 am (UTC)А - накуа?
Date: 2014-10-09 07:47 am (UTC)Re: А - накуа?
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From: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:44 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 07:41 am (UTC)no subject
Date: 2014-10-09 07:47 am (UTC)(no subject)
From:Будешь смеяться
From:Re: Будешь смеяться
From:Да, но они-то там пишут вот что:
From:Re: Да, но они-то там пишут вот что:
From:(no subject)
From:В школе не проходят ООП
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:Это от некомпетентности
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
From:Re: Наличием IDE
From:IDE на Turbo Vision в текстовой моде?
From:Re: IDE на Turbo Vision в текстовой моде?
From:Re: Это от некомпетентности
From:Re: Это от некомпетентности
From:Re: Это от некомпетентности
From:Re: Это от некомпетентности
From:C учетом что большинство учитилей сами не асиливают да
From:"даже динамические массивы"
From:Re: Это от некомпетентности
From:facepalm.jpg
From:(no subject)
From:no subject
Date: 2014-10-09 07:47 am (UTC)Турбопаскаль и 20 лет назад был не тем инструментом, на котором писали настоящие приложения (да и вообще паскаль, в общем-то). dosbox - не проблема.
Когда уровень дойдёт до моделей памяти и GUI, турбопаскаль, конечно, нужно менять на что-то более современное. А чтобы понять азы - вполне подходит. Удобно пройти пошагово, посмотреть значения переменных, поставить breakpoint, посмотреть контекстный help... Современные IDE, позволяющие делать то же самое, монстроидальны и расчитаны на большие проекты, их нужно отдельно и долго изучать.
Впрочем, возможно, я просто не знаю, что есть не менее простое и удобное для обучения (и бесплатное).
Или вот multiedit - древний текстовый редактор под msdos, но разве есть сейчас что-нибудь подобное? Про vim/emax вспоминать необязательно - они из той же эпохи (или даже раньше), под другую платформу и с другой идеологией.
no subject
Date: 2014-10-09 07:55 am (UTC)А мультиэдит это кривой и порт емакса под DOS. Кстати, в мультиедите в районе версии 6.0 отказались от паскальподобного языка и перешли на си-подобный.
Собственно аналогов мультиедиту в виндах нет и не может быть потому, что все, чей образ мышления требует использования подобных инструментов работают на той платформе где vim/emacs. Опять же эти два редактора портированы в Win32. Поэтому кому надо редактор с развитыми макросредствами, но при этом по каким-то причинам нет возможности использовать нормальную операционку, ставит себе емакс в винды и не парится.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 07:55 am (UTC)no subject
Date: 2014-10-09 09:21 am (UTC)Или вот, например, из того же учебника: "Каким способом чаще всего определяются понятия? Приведите определения двух-трёх понятий, построенных через ближайший род и видовое отличие".
Java хоть понять можно, а это - только тупо зазубрить, отключив мозг во избежание необратимых повреждений.
(no subject)
From:no subject
Date: 2014-10-09 07:59 am (UTC)no subject
Date: 2014-10-09 08:18 am (UTC)почему "умерло"?
From:Re: почему "умерло"?
From:Re: почему "умерло"?
From:Re: почему "умерло"?
From:(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 09:06 am (UTC)no subject
Date: 2014-10-09 11:11 am (UTC)(no subject)
From:Попугаю еще!
From:Re: ÐопÑÐ³Ð°Ñ ÐµÑе!
From:(no subject)
From:no subject
Date: 2014-10-09 09:14 am (UTC)no subject
Date: 2014-10-09 09:41 am (UTC)Вы его сильно перехвалили.
no subject
Date: 2014-10-09 10:21 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2014-10-09 09:49 am (UTC)Так что Turbo Pascal - еще не самое страшное.
no subject
Date: 2014-10-09 11:23 am (UTC)no subject
Date: 2014-10-09 09:50 am (UTC)Но конечно он всё равно старый.
no subject
Date: 2014-10-09 09:57 am (UTC)no subject
Date: 2014-10-09 10:09 am (UTC)В какой-то момент, когда я еще работал преподавателем в институте, я активно агитировал старшее поколение что студентам надо показывать и что-то более современное чем Borland Pascal. Например хоть тот же дельфи.
В какой-то момент, даже еще при моем присутствии на кафедре, это таки произошло, но к этому времени дельфи окончательно стал средой разработки для быдлопрограммистов, а я уже принял опенсорсную веру, и стал прибывать в уверенности, что студентам в качестве оконного средства разработки лучше всего показывать Qt. Но я ничего им не сказал, потому что уже понимал, что к тому моменту когда они до этого дозрели бы издохли бы и ишак и эмир и я бы еще раз кардинально поменял бы свои представления о мире.
no subject
Date: 2014-10-09 01:20 pm (UTC)Но уж лучше 16-битный паскаль, чем 64-битное пхп.
no subject
Date: 2014-10-09 01:23 pm (UTC)no subject
Date: 2014-10-09 03:51 pm (UTC)no subject
Date: 2014-10-09 05:42 pm (UTC)*весело* но не требуют
И вообще ну их, школьный курс очень слабо коррелирует с тем, что на экзаменах потом дают.
ТОП: 18:40 MSK
Date: 2014-10-09 06:40 pm (UTC)Почитать текст со всеми комментариями по ссылке (http://tools.t30p.ru/?http%3a%2f%2fvitus-wagner.livejournal.com%2f1021211.html).
Это Ваш 3-й ТОПовый пост в этом году.
Посмотреть статистику автора можно в карточке топблогера (http://rating.t30p.ru/?vitus_wagner.livejournal.com&p=tops).
no subject
Date: 2014-10-09 11:27 pm (UTC)Но в последний раз от него остались какие-то неприятные впечатления. Borland Pascal являлся коммерческой средой разработки, которая людям за деньги продавалась, достаточно удобной. А в этом фри-поделии, традиционно, встречались досадные неудобства, в стиле чудовищных сочетаний клавиш и прочей типично опенсорсной придури, когда компилятор работает, а интерфейс отлаживать никому неохота.