vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Вчера дочка одной хорошей знакомой написала мне письмо с просьбой помочь найти дистрибутив 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 тогда еще не изобрели, а вот Столлман свой манифест уже написал) был не слишком популярны.

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

Date: 2014-10-09 08:41 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Всё же считаю, что multiedit 6.1 был удобнее и развитее, чем нынешний emacs или vim. Возможно, отчасти потому что они зарождались для терминалов без поддержки Ctrl+Key, Fn, arrow keys, а иногда даже ansi.

Я соглашусь, что редактирование файлов произвольного размера без отжирания соответствующего количества виртуальной памяти сейчас не так актуально (хотя иногда было бы полезно).
Компилятор макросов, хоть и делает более удобной диагностику ошибок и позволяет создавать макросы большего размера, но тоже не так актуален - скорость позволяет интерпретировать.
Но более удобная работа с окнами (в т.ч. частично перекрывающимися и изменяемыми мышкой), настройка keyboard shortcuts, простое подключение произвольного отладчика (td, masm и пр)...
Можно сказать, что вывод сообщений в 2-3 строки отдельным всплывающим окошком - не unix-way, что у кого руки не из жопы, тот сможет и perl debugger (например) подключить, да и вообще, отладка пошаговым прохождением сейчас применима нечасто...
Только всё равно меня не покидает ощущение, что редактор типа multiedit сделал бы мою работу (под юниксом) эффективнее.

Date: 2014-10-09 09:47 am (UTC)
From: [identity profile] filonov.livejournal.com
Только всё равно меня не покидает ощущение, что редактор типа multiedit сделал бы мою работу (под юниксом) эффективнее.
Что только народ не придумает, чтоб не изучать emacs.

Date: 2014-10-09 10:14 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Хм, да, я почему-то традиционно vim использую.
Записал себе в todo изучить и настроить emacs, раз он так хорош. :)

Date: 2014-10-09 02:06 pm (UTC)
From: [identity profile] filonov.livejournal.com
Ну основное достоинство емакса все же не лисп, а накопленная база кода. vim тут слегка бледновато смотрится.

Date: 2014-10-09 03:50 pm (UTC)
From: [identity profile] slobin.livejournal.com
Scheme вроде умел (когда racket ещё назывался mz-scheme). Но мог с тех пор разучиться: поддержка неродных языков там во многом для галочки. Хотя я питоном пользуюсь (с тех пор, как компьютеры стали достаточно быстрыми, чтобы запуск питона из под вима стал незаметным вообще: если результата нажатия на кнопку надо ждать, то это не работа, это борьба с).

Но вообще я сам тоже (уже который год) запинываю себя изучить емакс. Потому что репозиторий плагинов для вима (в отличие от емакса) -- это не есть правильный путь. Вим не для такого стиля использования.

Оффтопик, откуда-то с опеннета:

-- Ну и как я тебе тёток за 50 пересажу на емакс?
-- Тёток за 50 как раз легко: скажу им, что это как лексикон, только лучше.

И знаешь, мне кажется, что это не только прикол. Есть в этой идее какая-то глубокая сермяжная правда. :-)

... Железо нужно всем! ...

Date: 2014-10-09 01:24 pm (UTC)
From: [identity profile] edo-rus.livejournal.com
можете кидать в меня чем угодно, но у меня в todo уже больше 10 лет стоит "изучить emacs". да и vi я знаю на уровне ":x", ":q!".

садился пару раз, вот не идёт оно у меня почему-то...

Date: 2014-10-09 11:43 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
А скажите пожалуйста, с какой целью до сих пор поддерживается вот это:

> без поддержки Ctrl+Key, Fn, arrow keys, а иногда даже ansi.

Что, где-то существуют еще живые терминалы? И именно поэтому я в MC должен нажимать что-то вроде ESC-Shift-? (две клавиши руками,а эскейп - ногой)

Date: 2014-10-10 04:35 am (UTC)
From: [identity profile] gul-kiev.livejournal.com
Одновременное нажатие Esc-Shift-? терминал не передаст, ногу использовать необязательно, нажимайте последовательно. :)

Тут дело в том, что всё общение между стороной пользователя и стороной, где это выполняется, должно происходить одним потоком байт (двунаправленным), даже если всё происходит на локальной машине. Причём обычный текст должен передаваться в виде обычного текста (без дополнительного кодирования), а всё остальное (позиционирование, раскраска, мышка, Ctrl+Key, Fn, стрелочки) - специальными Esc-последовательностями. С одной стороны это даёт возможность запускать приложения через терминал где угодно, на любой удалённой машине через ssh, а с другой - вносит свои ограничения. Возможных способов кодирования много, и не всегда представления о том, что как кодируется, совпадают.
Пикантность добавляет то, что кодирование спец.функций начинается не со специального управляющего символа, а с обычной клавиши Escape, из-за чего её саму приходится обрабатывать с задержкой (и теоретически возможно случайно с клавиатуры набрать управляющую команду).
Вторая пикантность в том, что когда отказались от правила "обычный текст выводится без обработки" и перешли на utf8, управляющие последовательности по-прежнему кодируют через Esc вместо того, чтобы взять для них символы unicode.

Извините, если рассказал банальные и общеизвестные истины.

Date: 2014-10-12 02:13 am (UTC)
From: [identity profile] nepilsonis.livejournal.com
Вы объяснили «каким образом». А вопрос в оригинале «какого чёрта», или «за что всё это счастье именно мне».

Date: 2014-10-09 11:22 am (UTC)
From: [identity profile] fau74.livejournal.com
Мультиэдит для винды существовал.

Date: 2014-10-09 10:58 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan
Да, и был по сравнению с досовским уныл чуть более чем полностью.

Date: 2014-10-10 03:22 am (UTC)
From: [identity profile] fau74.livejournal.com
И чего же такого не умел виндовый по сравнению с досовским?

Date: 2014-10-10 05:05 am (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan

Я же не говорю, что он чего-то не умел. Я говорю, что он был уныл. Разумеется, я сейчас не вспомню, каких именно фич мне в нём не хватило 20 лет назад.

Просто осталось неформализуемое субъективное ощущение уровня «выглядят как настоящие, но радости от них никакой». Может быть, перенос UI из ограниченного текстового режима в свободный графический делает это с программами. Может быть, в те времена не было нормальных моноширинных TTF-шрифтов (а битмэпные досовские имели столь простой формат, что каждый мог написать редактор). Не знаю.

Date: 2014-10-09 07:56 am (UTC)
From: [identity profile] d1f.livejournal.com
> Или вот multiedit - древний текстовый редактор под msdos, но разве есть сейчас что-нибудь подобное?

Зависит от требуемой степени подобия.
Ищите fte, efte.

Date: 2014-10-09 08:00 am (UTC)
From: [identity profile] trilirium.livejournal.com
MultiEdit для своего времени был крутЪ!!

Date: 2014-10-09 08:12 am (UTC)
From: [identity profile] nathoo.livejournal.com
Я использовал ME в качестве IDE к всхлипперу.
До сих пор помню, как перевернулся мир после открытия команды make.
Оказалось, что 20 минут ждать компиляции прожекта (на 386 машине) совершенно необязательно.

Date: 2014-10-09 08:32 am (UTC)
From: [identity profile] trilirium.livejournal.com
А какая связь между редактированием через ME и временем компиляции? ))

Date: 2014-10-09 08:36 am (UTC)
From: [identity profile] nathoo.livejournal.com
МЕ позволял запускать произвольные внешние программы, в частности make.
Просто так совпало в моей жизни. Сначала был TurboC, а потом Clipper, и я никак не мог приспособиться жить без IDE. А потом оказалось, что ME - вполне себе IDE, только построенная на других принципах.

Date: 2014-10-09 08:38 am (UTC)
From: [identity profile] trilirium.livejournal.com
Аа, ясно. Т.е. сборкой по любому занимался make.

(no subject)

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

(no subject)

From: [identity profile] trilirium.livejournal.com - Date: 2014-10-09 01:35 pm (UTC) - Expand

Date: 2014-10-09 08:13 am (UTC)
From: [identity profile] trilirium.livejournal.com
Ну так, большинство нормальных пользователей PC -- не видели.

Date: 2014-10-09 09:20 am (UTC)
ivanaxe: (slack_1)
From: [personal profile] ivanaxe
У нас народ для совсем entrance-обучения использует python + wingIDE.
Порог въезжания в простые действия минимален.
Бесплатная лицензия есть, под win/lin/mac работает.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2025

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 07:59 pm
Powered by Dreamwidth Studios