vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2014-10-09 10:31 am

Turbo Pascal в XXI веке

Вчера дочка одной хорошей знакомой написала мне письмо с просьбой помочь найти дистрибутив 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 тогда еще не изобрели, а вот Столлман свой манифест уже написал) был не слишком популярны.

[identity profile] division---bell.livejournal.com 2014-10-09 06:54 am (UTC)(link)
А помните, в 90-ые была модная движуха по объектно-ориентированным ЛИСПу и ПРОЛОГу, ещё масса учебников издавалась и им пророчили великое будущее, которое должно было остаться за языками, поддерживающие исчисление предикатов

А как сейчас с этими направлениями дела? Что-то не слышно никаких вестей давно уже :)

[identity profile] smirnfil.livejournal.com 2014-10-09 06:58 am (UTC)(link)
Лисп не мертвее хаскеля. Только не такой модный. Пролог как был академической игрушкой так и остался.

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2014-10-09 08:07 (UTC) - Expand

(no subject)

[identity profile] orangeudav.livejournal.com - 2014-10-09 10:17 (UTC) - Expand

(no subject)

[identity profile] otstavnov.com - 2014-10-09 11:46 (UTC) - Expand

(no subject)

[identity profile] potan.livejournal.com - 2014-10-09 13:18 (UTC) - Expand

(no subject)

[identity profile] otstavnov.com - 2014-10-09 14:22 (UTC) - Expand

[identity profile] k113.livejournal.com 2014-10-09 06:58 am (UTC)(link)
Препод умеет программировать на турбопаскале. И учит этому много лет.

[identity profile] smirnfil.livejournal.com 2014-10-09 06:58 am (UTC)(link)
Если для человека настолько критичен язык - он не умеет программировать.

(no subject)

[identity profile] edo-rus.livejournal.com - 2014-10-09 13:55 (UTC) - Expand

(no subject)

[identity profile] levtsn.livejournal.com - 2014-10-09 07:04 (UTC) - Expand

(no subject)

[identity profile] lqp.livejournal.com - 2014-10-09 07:54 (UTC) - Expand

(no subject)

[identity profile] dmitrmax.livejournal.com - 2014-10-09 09:48 (UTC) - Expand

(no subject)

[identity profile] p_govorun.livejournal.com - 2014-10-09 11:00 (UTC) - Expand

(no subject)

[identity profile] gegmopo4.livejournal.com - 2014-10-09 15:39 (UTC) - Expand

(no subject)

[identity profile] p_govorun.livejournal.com - 2014-10-10 16:42 (UTC) - Expand

(no subject)

[identity profile] gegmopo4.livejournal.com - 2014-10-11 11:16 (UTC) - Expand

(no subject)

[personal profile] alll - 2014-10-09 07:37 (UTC) - Expand

(no subject)

[personal profile] alll - 2014-10-09 08:19 (UTC) - Expand

(no subject)

[identity profile] edo-rus.livejournal.com - 2014-10-09 11:52 (UTC) - Expand

(no subject)

[identity profile] shadowfoto.livejournal.com - 2014-10-09 07:38 (UTC) - Expand

(no subject)

[identity profile] mc6312.livejournal.com - 2014-10-09 09:35 (UTC) - Expand

(no subject)

[identity profile] gul-kiev.livejournal.com - 2014-10-09 09:49 (UTC) - Expand

(no subject)

[identity profile] mc6312.livejournal.com - 2014-10-09 10:55 (UTC) - Expand

(no subject)

[identity profile] k113.livejournal.com - 2014-10-09 11:38 (UTC) - Expand

[identity profile] levtsn.livejournal.com 2014-10-09 07:03 am (UTC)(link)
мне кажется на тп изучают структурное программирование, в железо не лезут. а турбо - чисто по инерции никто не хочет менять курс учебный

(no subject)

[identity profile] levtsn.livejournal.com - 2014-10-09 07:18 (UTC) - Expand

(no subject)

[identity profile] potan.livejournal.com - 2014-10-09 13:22 (UTC) - Expand

[identity profile] chva.livejournal.com 2014-10-09 07:18 am (UTC)(link)
Моя кузина четыре года назад тоже начинала учиться программировать в вузе (ЛЭТИ) тоже на Turbo Pascal.

[identity profile] nathoo.livejournal.com 2014-10-09 07:21 am (UTC)(link)
Блин, ну ты же сам целую книжку написал про то что школа принципиально не учит ничему полезному.
Самое страшное, что классу к 10му процесс окукливания счастливо завершается, и человек уже сам начинает сопротивляться попыткам показать, как применить применить немногие имеющиеся знания к окружающему миру. "Проще у гугла спросить". :-(

(no subject)

[identity profile] nathoo.livejournal.com - 2014-10-09 07:42 (UTC) - Expand

[identity profile] dikem.livejournal.com 2014-10-09 07:27 am (UTC)(link)
А зачем школьников учат программировать? Или это профильная школа?

(no subject)

[identity profile] dikem.livejournal.com - 2014-10-09 11:44 (UTC) - Expand

(no subject)

[identity profile] edo-rus.livejournal.com - 2014-10-09 13:13 (UTC) - Expand

(no subject)

[identity profile] dikem.livejournal.com - 2014-10-10 07:10 (UTC) - Expand
phd_ru: (Default)

Палеопрограммирование

[personal profile] phd_ru 2014-10-09 07:29 am (UTC)(link)
Как программист, 15 лет писавший на разных версиях TurboPascal, и до сих пор иногда редактирующий старые программы, я храню дистрибутив BP7. Могу дать.

Скажу так же, что современные компьютеры слишком быстры для программ, скомпилированных TP/BP — при запуске возникает Runtime Error 200. Проблема в модуле Crt — он пытается таймить, сколько циклов занимает 1 миллисекунда (для Sleep), и падает с переполнением 32-битного счётчика. Crt нужна патчить, патч у меня тоже есть.

Re: Палеопрограммирование

[personal profile] alll 2014-10-09 07:34 am (UTC)(link)
Емнип DosBox (среда, в которой нынче запускают dos-программы) про это знает и имеет соответствующую ручку в настройках.

[identity profile] aba.livejournal.com 2014-10-09 07:37 am (UTC)(link)
это учитывая тот факт что мелкософт бесплатно в образовательных целях раздаёт студию

А - накуа?

[identity profile] dinozavr.livejournal.com 2014-10-09 07:47 am (UTC)(link)
Microsoft Visual Studio 2010 Express раздается отродясь даром. И продолжает раздаваться даже сейчас. Функционально для школьника она ничем не отличается от не-экспресса.

Re: А - накуа?

[identity profile] aba.livejournal.com - 2014-10-09 17:20 (UTC) - Expand

(no subject)

[identity profile] k113.livejournal.com - 2014-10-09 08:14 (UTC) - Expand

(no subject)

[identity profile] aba.livejournal.com - 2014-10-09 17:22 (UTC) - Expand

(no subject)

[identity profile] tzirechnoy.livejournal.com - 2014-10-09 08:15 (UTC) - Expand

[identity profile] telegamochka.livejournal.com 2014-10-09 07:38 am (UTC)(link)
> Даже тогда, в 1993 году казалось очень странным решение Borland не включать в дистрибутив поддержку 256-цветного режима VGA 320x200.

Помню-помню! Именно в те годы (1990-1992) чтобы задействовать "волшебный" 256-цветный режим, мне пришлось писать собственную графическую библиотеку под Turbo C. Ну и заодно разбираться с алгоритмами Брезенхейма, Флойда-Стейнберга и пр. :) Заодно выяснилось, что кроме стандартного 320*200*256 адаптер можно заставлять работать в 320*240*256, 360*480*256 и других разрешениях. А сколько разных экспериментов ставили с выводом графики на голом и неоплачивавшемся энтузиазме!
Edited 2014-10-09 07:39 (UTC)

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 16:04 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 16:44 (UTC) - Expand

(no subject)

[identity profile] mc6312.livejournal.com - 2014-10-10 06:38 (UTC) - Expand

(no subject)

[identity profile] mc6312.livejournal.com - 2014-10-10 07:21 (UTC) - Expand

(no subject)

[identity profile] slobin.livejournal.com - 2014-10-09 15:31 (UTC) - Expand

[identity profile] raydac.livejournal.com 2014-10-09 07:41 am (UTC)(link)
я бы лучше поставил эмуляторы Ямахи MSX2 и MSX Basic юзал

(no subject)

[identity profile] raydac.livejournal.com - 2014-10-09 07:50 (UTC) - Expand

(no subject)

[personal profile] petropavel - 2014-10-09 12:01 (UTC) - Expand

(no subject)

[identity profile] potan.livejournal.com - 2014-10-09 13:27 (UTC) - Expand

(no subject)

[identity profile] slobin.livejournal.com - 2014-10-09 15:40 (UTC) - Expand

(no subject)

[identity profile] f-andrey.livejournal.com - 2014-10-19 08:52 (UTC) - Expand

(no subject)

[identity profile] karpion.livejournal.com - 2014-11-08 20:31 (UTC) - Expand

Это от некомпетентности

[identity profile] dinozavr.livejournal.com 2014-10-09 07:45 am (UTC)(link)
Если речь о платформе Windows, то для школьников и паскаля я использую
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 проникнет в школы, я уверен!

(no subject)

[identity profile] mc6312.livejournal.com - 2014-10-10 06:45 (UTC) - Expand

[identity profile] gul-kiev.livejournal.com 2014-10-09 07:47 am (UTC)(link)
Не вижу ничего ужасного.
Турбопаскаль и 20 лет назад был не тем инструментом, на котором писали настоящие приложения (да и вообще паскаль, в общем-то). dosbox - не проблема.
Когда уровень дойдёт до моделей памяти и GUI, турбопаскаль, конечно, нужно менять на что-то более современное. А чтобы понять азы - вполне подходит. Удобно пройти пошагово, посмотреть значения переменных, поставить breakpoint, посмотреть контекстный help... Современные IDE, позволяющие делать то же самое, монстроидальны и расчитаны на большие проекты, их нужно отдельно и долго изучать.
Впрочем, возможно, я просто не знаю, что есть не менее простое и удобное для обучения (и бесплатное).
Или вот multiedit - древний текстовый редактор под msdos, но разве есть сейчас что-нибудь подобное? Про vim/emax вспоминать необязательно - они из той же эпохи (или даже раньше), под другую платформу и с другой идеологией.

(no subject)

[identity profile] gul-kiev.livejournal.com - 2014-10-09 08:41 (UTC) - Expand

(no subject)

[identity profile] filonov.livejournal.com - 2014-10-09 09:47 (UTC) - Expand

(no subject)

[identity profile] gul-kiev.livejournal.com - 2014-10-09 10:14 (UTC) - Expand

(no subject)

[identity profile] filonov.livejournal.com - 2014-10-09 14:06 (UTC) - Expand

(no subject)

[identity profile] slobin.livejournal.com - 2014-10-09 15:50 (UTC) - Expand

(no subject)

[identity profile] edo-rus.livejournal.com - 2014-10-09 13:24 (UTC) - Expand

(no subject)

[identity profile] gul-kiev.livejournal.com - 2014-10-10 04:35 (UTC) - Expand

(no subject)

[identity profile] nepilsonis.livejournal.com - 2014-10-12 02:13 (UTC) - Expand

(no subject)

[identity profile] fau74.livejournal.com - 2014-10-09 11:22 (UTC) - Expand

(no subject)

[personal profile] yurikhan - 2014-10-09 22:58 (UTC) - Expand

(no subject)

[identity profile] fau74.livejournal.com - 2014-10-10 03:22 (UTC) - Expand

(no subject)

[personal profile] yurikhan - 2014-10-10 05:05 (UTC) - Expand

(no subject)

[identity profile] d1f.livejournal.com - 2014-10-09 07:56 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 08:00 (UTC) - Expand

(no subject)

[identity profile] nathoo.livejournal.com - 2014-10-09 08:12 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 08:32 (UTC) - Expand

(no subject)

[identity profile] nathoo.livejournal.com - 2014-10-09 08:36 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 08:38 (UTC) - Expand

(no subject)

[identity profile] gul-kiev.livejournal.com - 2014-10-09 10:10 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 13:35 (UTC) - Expand

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 08:13 (UTC) - Expand

(no subject)

[personal profile] ivanaxe - 2014-10-09 09:20 (UTC) - Expand

[identity profile] gryzchick.livejournal.com 2014-10-09 07:55 am (UTC)(link)
Java и Haskell преподавать в школе - это гарантированный вывих мозга.
sergey_cheban: (Default)

[personal profile] sergey_cheban 2014-10-09 09:21 am (UTC)(link)
Нет, гарантированный вывих мозга - это немного другое. Вот, например, дочка принесла задание за 6 класс по информатике. Кроссворд на термины и определения. 8 по вертикали - "имя, обозначающее множество объектов", 5 букв. Выделите текст, чтобы прочитать ответ: "Общее". И такой - весь кроссворд.

Или вот, например, из того же учебника: "Каким способом чаще всего определяются понятия? Приведите определения двух-трёх понятий, построенных через ближайший род и видовое отличие".

Java хоть понять можно, а это - только тупо зазубрить, отключив мозг во избежание необратимых повреждений.

(no subject)

[identity profile] potan.livejournal.com - 2014-10-09 13:30 (UTC) - Expand

[identity profile] trilirium.livejournal.com 2014-10-09 07:59 am (UTC)(link)
А вот я совершенно не удивлюсь, если выяснится, что у них в школе железо такое, на котором ничего более новое не пойдет. ))

[identity profile] k113.livejournal.com 2014-10-09 08:18 am (UTC)(link)
То железо физически умерло уже. Самое старое - это пень3.

(no subject)

[identity profile] trilirium.livejournal.com - 2014-10-09 16:11 (UTC) - Expand

[identity profile] ico.livejournal.com 2014-10-09 09:06 am (UTC)(link)
Интересно, остались еще в школах "Е-практикум"'ы? :) КуМир итп... :) Под линукс! :)

(no subject)

[identity profile] ico.livejournal.com - 2014-10-09 11:18 (UTC) - Expand

(no subject)

[identity profile] rinnve.livejournal.com - 2014-10-09 11:20 (UTC) - Expand

[identity profile] amarao-san.livejournal.com 2014-10-09 09:14 am (UTC)(link)
Хаскель не новомодный, ему 20+ лет. Новомодные - rust, go & Julia

[identity profile] mc6312.livejournal.com 2014-10-09 09:41 am (UTC)(link)
> Free Pascal, который поддерживает все современные операционные системы и процессоры, генерирует нормальный код

Вы его сильно перехвалили.
petropavel: (морда2)

[personal profile] petropavel 2014-10-09 10:21 am (UTC)(link)
Когда сынуля морщил мозг над школьными задачками по информатике, поставил ему FreePascal (ставил на машину с WinXP). Хотел показать ему встроенный отладчик, потерпел фиаско. Там какой-то stub типа "здесь не работает и не будет". А так да, на TP похоже)

(no subject)

[personal profile] petropavel - 2014-10-09 10:40 (UTC) - Expand

[identity profile] kzn.livejournal.com 2014-10-09 09:49 am (UTC)(link)
Мою племянницу год назад в школе учили программировать на QuickBasic. И да, под dosbox.

Так что Turbo Pascal - еще не самое страшное.
Edited 2014-10-09 09:49 (UTC)

[identity profile] rinnve.livejournal.com 2014-10-09 11:23 am (UTC)(link)
Q[uick]Basic вполне себе адекватен для начального обучения, если не использовать уродский синтаксис "классического" бейсика (номера строк и циклы/подпрограммы через безусловные переходы). По сути тот же Паскаль, но меньше напрягает мозг правилами расстановки пунктуации.

[identity profile] http://users.livejournal.com/_iga/ 2014-10-09 09:50 am (UTC)(link)
Turbo Pascal в варианте BPW вполне работал в Windows.

Image

Но конечно он всё равно старый.
ext_613079: Default userpic (Бритый небритый)

[identity profile] shaplov.livejournal.com 2014-10-09 10:09 am (UTC)(link)
Хе-хе...
В какой-то момент, когда я еще работал преподавателем в институте, я активно агитировал старшее поколение что студентам надо показывать и что-то более современное чем Borland Pascal. Например хоть тот же дельфи.
В какой-то момент, даже еще при моем присутствии на кафедре, это таки произошло, но к этому времени дельфи окончательно стал средой разработки для быдлопрограммистов, а я уже принял опенсорсную веру, и стал прибывать в уверенности, что студентам в качестве оконного средства разработки лучше всего показывать Qt. Но я ничего им не сказал, потому что уже понимал, что к тому моменту когда они до этого дозрели бы издохли бы и ишак и эмир и я бы еще раз кардинально поменял бы свои представления о мире.

[identity profile] potan.livejournal.com 2014-10-09 01:20 pm (UTC)(link)
Все так.
Но уж лучше 16-битный паскаль, чем 64-битное пхп.

[identity profile] А Глазов (from livejournal.com) 2014-10-09 03:51 pm (UTC)(link)
А кто преподаватели? "Дедушка старый, ему все равно".

[identity profile] dsgtq-qfle.livejournal.com 2014-10-09 05:42 pm (UTC)(link)
*мрачно* учат
*весело* но не требуют
И вообще ну их, школьный курс очень слабо коррелирует с тем, что на экзаменах потом дают.

ТОП: 18:40 MSK

[identity profile] magictop30.livejournal.com 2014-10-09 06:40 pm (UTC)(link)
Вы попали в Т30P (http://www.t30p.ru) самых обсуждаемых тем в блогосфере.
Почитать текст со всеми комментариями по ссылке (http://tools.t30p.ru/?http%3a%2f%2fvitus-wagner.livejournal.com%2f1021211.html).
Это Ваш 3-й ТОПовый пост в этом году.
Посмотреть статистику автора можно в карточке топблогера (http://rating.t30p.ru/?vitus_wagner.livejournal.com&p=tops).Image

[identity profile] anonim-legion.livejournal.com 2014-10-09 11:27 pm (UTC)(link)
Я уже давно не трогал FreePascal.

Но в последний раз от него остались какие-то неприятные впечатления. Borland Pascal являлся коммерческой средой разработки, которая людям за деньги продавалась, достаточно удобной. А в этом фри-поделии, традиционно, встречались досадные неудобства, в стиле чудовищных сочетаний клавиш и прочей типично опенсорсной придури, когда компилятор работает, а интерфейс отлаживать никому неохота.

Page 1 of 2