Турбо паскаль команды: Команды редактора — Turbo Pascal

как учили детей программированию в 90-х и что с этим было не так / Хабр

Немного о том, что из себя представляла школьная «информатика» в 90-х, и почему все программисты тогда были исключительно самоучки.

На чем учили программировать детей


В начале 90-х московские школы начали выборочно оснащать классами ЭВМ. В помещениях сразу ставили решетки на окна и тяжелую обитую железом дверь. Откуда-то появлялся учитель информатики (выглядел как самый важный товарищ после директора), основной задачей которого было следить, чтобы никто ничего не трогал. Вообще ничего. Даже входную дверь.

В классах чаще всего можно было встретить системы БК-0010 (в его разновидностях) и БК-0011М.

Фото взято отсюда

Детям рассказывали про общее устройство, а также с десяток команд «Бейсика», чтобы могли нарисовать на экране линии и кружки. Для младших и средних классов, наверное, этого было достаточно.

С сохранением своих творений (программ) тогда были отдельные проблемы. Чаще всего компьютеры с помощью контроллеров моноканала объединяли в сеть с топологией «общая шина» и скоростью передачи 57600 бод. Дисковод, как правило, был один, и с ним частенько не ладилось. То работает, то не работает, то сеть подвисла, то дискетка не читается.

Я тогда таскал с собой вот это творение емкостью 360 кБ.

Шансы на то, что в очередной раз я вытащу с нее свою программку, были процентов 50-70.

Однако главной проблемой всех этих историй с компьютерами «БК» были бесконечные зависания.

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

Ближе к 1993 году в отдельных школах и лицеях появлялись нормальные классы с 286-ми машинами, а местами стояли даже «трешки». По части языков программирования было два варианта: там, где заканчивался «Бейсик», начинался «Турбо Паскаль».

Программирование на «Турбо Паскале» на примере «танчиков»


На «Паскале» детей учили строить циклы, отрисовывать всякие функции, работать с массивами. В физмат-лицее, где я одно время «обитал», на информатику отводили одну пару в неделю. И два года там была вот эта вот скукотища. Разумеется, хотелось сделать что-то посерьезнее, чем вывод на экран значений массива или некой синусоиды.

Танчики


Battle City была одной из самых популярных игр на приставках клонах NES (Dendy и др.).

В 1996-м популярность 8-биток прошла, они давно пылились в шкафах, и мне показалось прикольным в качестве чего-то масштабного сделать именно клон «Танчиков» для ПК. Далее как раз о том, как тогда надо было извернуться, чтобы запилить на «Паскале» что-то с графикой, мышкой и звуком.

Рисовать можно только палочки и кружочки


Начнем с графики.

В базовом варианте «Паскаль» позволял рисовать некоторые фигуры, закрашивать и определять цвета точек. Самые продвинутые процедуры в модуле Graph, приближающие нас к спрайтам, это GetImage и PutImage. С их помощью можно было захватывать в предварительно зарезервированную область памяти участок экрана и потом использовать этот кусок как растровое изображение. Другими словами, если вы хотите многократно использовать на экране какие-то элементы или изображения, вы их сначала отрисовываете, копируете в память, стираете экран, отрисовываете следующее и так до тех пор, пока не создадите в памяти нужную библиотеку. Поскольку все происходит быстро, пользователь этих фокусов не замечает.

Первый модуль, где в ход пошли спрайты – редактор карт.

В нем было размеченное игровое поле. Клик мышкой вызывал меню, где можно было выбрать один из четырех вариантов препятствий. Кстати о мышке…

Мышь – это уже конец 90-х


Мыши, разумеется, были у всех, но до середины 90-х пользовались ими лишь в Windows 3. 11, графических пакетах и еще небольшом числе игр. В Wolf и Doom рубились только с клавиатуры. Да и в DOS-среде мышь была не особо нужна. Поэтому в Borland модуль работы с мышью даже не включали в стандартную поставку. Его надо было искать по знакомым, которые разводили руками и в ответ восклицали «а нафига он тебе?».

Однако найти модуль для опроса мышки – это лишь половина дела. Чтобы мышью клацать по экранным кнопкам, их надо было нарисовать. Причем в двух вариантах (нажатую и не нажатую). У не нажатой кнопки верх светлый, а под ней тень. У нажатой наоборот. И отрисовать затем на экране трижды (не нажатая, нажатая, потом опять не нажатая). Плюс не забыть поставить задержки на отображение, ну и спрятать курсор.

Например, обработка главного меню в коде выглядела вот так:

Звук – только пищалка PC Speaker


Отдельная история со звуком. В начале девяностых клоны Sound Blaster только готовились к своему победному шествию, и большинство приложений работали лишь со встроенным динамиком. Максимум его возможностей – это одновременное воспроизведение только одного тона. И именно это позволял сделать Turbo Pascal. Через процедуру sound можно было «попищать» разными частотами, чего достаточно для звуков выстрелов и взрывов, но для музыкальной заставки, как тогда было модно, это все не подходило. В итоге нашлось весьма хитрое решение: в собственном архиве софта обнаружился «экзешничек», скачанный когда-то с какой-то BBS-ки. Он умел творить чудеса – воспроизводить несжатые wav-ы через PC Speaker, причем делал это из командной строки и не имел собственно интерфейса. Все, что нужно было – это вызвать его через паскалевскую процедуру exec и проследить, чтобы эта конструкция не рухнула.

В итоге забойный музон на заставке появился, но с ним вышла забавная штука. В 1996 году у меня была система на Pentium 75, раскочегаренным до 90. На нем все работало прекрасно. В вузе же, где нам на второй семестр поставили Pascal, в учебном классе стояли видавшие виды «трешки». По договоренности с преподавателем я потащил на второе занятие эти танчики, чтобы получить зачет и больше туда не ходить. И вот, после запуска из спикера повалил громкий рев вперемешку с булькающими гортанными звуками. В общем, 33-мегагерцовой «трешке» DX оказалось не под силу нормально крутить тот самый «экзешничек». Но в остальном все было нормально. Конечно, не считая заторможенного опроса клавиатуры, который портил весь геймплей вне зависимости от производительности ПК.

Но основная проблема не в «Паскале»


В моем понимании «Танчики» — это максимум, что можно было выжать из Turbo Pascal без ассемблерных вставок. Из явных недостатков конечного продукта – медленный опрос клавиатуры и медленная отрисовка графики. Усугубляло ситуацию крайне малое число сторонних библиотек и модулей. Их можно было сосчитать по пальцам одной руки.

Но больше всего меня расстраивал подход в школьном образовании. Детям никто тогда не рассказывал о преимуществах и возможностях других языков. На уроках практически сразу начинали говорить про begin, println и if, что запирало учеников внутри бейсико-паскалевской парадигмы. Оба эти языка можно считать исключительно учебными. Их «боевое» применение — редкое явление.

Зачем учить старшеклассников фейковым языкам – для меня загадка. Пусть они более наглядные. Пусть разновидности «Бейсика» кое-где используются. Но, в любом случае, если человек задумает связать свое будущее с программированием, ему придется учить с нуля другие языки. Так почему бы детям не ставить те же учебные задачи, но только уже на нормальной платформе (языке), в рамках которой они могли бы развиваться дальше самостоятельно?

Кстати о задачах. В школе и институте они всегда были абстрактные: посчитать то-то, построить функцию, нарисовать что-то. Я учился в трех разных школах, плюс у нас был «Паскаль» на первом курсе института, и ни разу преподаватели не ставили сколь-нибудь реальной прикладной задачи. Например сделать записную книжку или еще что-то полезное. Все было надуманное. А когда человек месяцами решает пустые задачи, которые потом идут в корзину… В общем, из института люди уже выходят выгоревшими.

Кстати, на третьем курсе того же вуза нам в программу поставили «плюсы». Вроде и дело благое, но народ был уставший, наевшийся фейков и «учебных» задач. Энтузиазма, как в первый раз, ни у кого не наблюдалось.

P.S. Погуглил на тему того, какие языки сейчас преподают в школах на уроках информатики. Все как и 25 лет назад: Basic, Pascal. Единичными вкраплениями идет Python.

Турбо Паскаль в JavaScript

WinAx

Сейчас все привыкли к мысли, что JavaScript может творить удивительные вещи, но Turbo Pascal в браузере стоит поискать всем, кто помнит его первоначальную реализацию. Он включает виртуальную машину с p-кодом, которая двоично совместима с компиляторами UCSD.

Turbo Pascal был одним из прорывов 1980-х годов. Это была реализация на ПК стандартного языка Паскаль, который в то время широко использовался для обучения информатике. Паскаль был одним из первых современных языков, доступных на ПК. Позже он превратился в объектно-ориентированную версию, которая все еще пользуется успехом, как Delphi.

Реализация JavaScript, которая находится на GitHub, не является полной реализацией Turbo Pascal 5.5, но если вы посмотрите на демонстрации, она впечатляет и включает большую часть языка и большую часть графического модуля. Автор, Лоуренс Кестелут, реализовал язык и стандартную библиотеку в объеме, достаточном для запуска пяти оригинальных программ, написанных еще в 1989 году — программисты делают сложные вещи по целому ряду безумных причин!

Компилятор рекурсивного спуска с ручным кодированием, Pascal — это язык с блочной структурой, занимает около 6000 строк JavaScript. Первоначальный Turbo Pascal полностью компилировался в машинный код, отсюда и слово «Turbo» в его названии. В более ранних реализациях Паскаля использовалась виртуальная машина, на которой выполнялся p-код. Сегодня виртуальные машины — очень популярный способ реализации языка, но тогда технология была не так хороша, и поэтому «p-code» был синонимом «медленного».

В отличие от собственно Turbo Pascal, компилятор JavaScript выводит p-код. Конечно, это означает, что проекту нужна была виртуальная машина с p-кодом, и это то, что вы найдете в репозитории GitHub — и это около 600 строк прокомментированного JavaScript. Утверждается, что он двоично совместим с исходным компилятором UCSD Pascal, что подразумевает, что его можно использовать для запуска устаревших программ UCSD Pascal, Fortran и Basic. Другими словами, виртуальная машина с p-кодом может быть полезна сама по себе.

У компилятора есть пользовательский интерфейс, имитирующий исходный командный интерфейс Turbo Pascal — позже он получил графический интерфейс. Если вы попробуете это здесь, обратите внимание, что не все команды были реализованы. Чтобы запустить один из примеров программ, используйте команду D, чтобы вывести каталог, а затем используйте команду W, чтобы загрузить файл, а затем R, чтобы запустить его. Используйте Ctrl-C, чтобы остановить это.

Понравилось это:

Нравится Загрузка. ..

Categories: JavaScript

Categories

• .NET [264]

• 3D Датчики [64]

• Android [258]

• Apple/iOS [72]

• AR/VR [44]

• Art [35]

• C/C++ [37]

• ePub [62]

• Google [14]

• HTML/CSS [22]

• Java [205]

• JavaScript [297]

• Mobile [435]

• Open Source [301]

• Perl [17]

• Python [106]

• Windows [151]

• Алгоритмы [59]

• Базы данных [361]

• Безопасность [213]

• Бизнес [494]

• Большие данные [198]

• Браузеры [202]

• Война в Украине [1157]

• Другое [329]

• Железо [353]

• Игры [215]

• ИИ [576]

• Инструменты [385]

• Картография & GIS [60]

• Космос [32]

• Культура, СМИ [78]

• Методология [22]

• Наследие [312]

• Облачные вычисления [197]

• Обучение и карьера [569]

• ОС [98]

• Проекты [13]

• Профи [396]

• Робототехника [292]

• Сайт [18]

• Соревнования & Хакатон [213]

• Социальные сети [42]

• Теория [149]

• Технологии [1417]

• Фото [76]

• Фреймворки [18]

• Языки [444]

RANDOM POSTS

Turbo Pascal в JavaScript

Сейчас все привыкли к мысли, что JavaScript может делать удивительные вещи, но Turbo Pascal в браузере стоит посмотреть всем, кто помнит его первоначальную реализацию. Он включает виртуальную машину с p-кодом, бинарно совместимую с компиляторами UCSD.

Turbo Pascal был одним из прорывов 1980-х годов. Это была компьютерная реализация стандартного языка Паскаль, который в то время широко использовался для обучения информатике. Паскаль был одним из первых современных языков, доступных на ПК. Позже он превратился в объектно-ориентированную версию, которая по-прежнему сильна, как Delphi.

 

 

Реализация JavaScript, которая находится на GitHub, не является полной реализацией Turbo Pascal 5.5, но если вы посмотрите на демонстрации, она впечатляет и включает в себя большую часть языка и большую часть графического модуля. Автор, Лоуренс Кестелут, реализовал только достаточно языка и стандартной библиотеки, чтобы запустить пять оригинальных программ, написанных еще в 1989 году — программисты делают сложные вещи по целому ряду безумных причин!

Компилятор рекурсивного спуска с ручным кодированием, Pascal — язык с блочной структурой, занимает около 6000 строк JavaScript. Оригинальный Turbo Pascal полностью скомпилирован в машинный код, отсюда и слово «Turbo» в его названии. В более ранних реализациях Pascal использовалась виртуальная машина, на которой выполнялся p-код. Сегодня виртуальные машины — очень популярный способ реализации языка, но тогда технология была не так хороша, и поэтому «p-код» был синонимом «медленного».

В отличие от собственно Turbo Pascal, компилятор JavaScript выводит p-код. Конечно, это означает, что проекту требовалась виртуальная машина с p-кодом, и это то, что вы найдете в репозитории GitHub — это около 600 строк закомментированного JavaScript. Утверждается, что он бинарно совместим с исходным компилятором UCSD Pascal, что означает, что его можно использовать для запуска устаревших программ UCSD Pascal, Fortran и Basic. Другими словами, виртуальная машина с p-кодом может быть полезна сама по себе.

 

 

Компилятор имеет пользовательский интерфейс, который имитирует исходный командный интерфейс Turbo Pascal — позже он приобрел графический интерфейс. Если вы попробуете это здесь, обратите внимание, что не все команды были реализованы. Чтобы запустить один из примеров программ, используйте команду D, чтобы просмотреть каталог, а затем используйте команду W, чтобы загрузить файл, а затем R, чтобы запустить его. Используйте Ctrl-C, чтобы остановить его.

 

 

Дополнительная информация

Живая веб-демонстрация Turbo Pascal

Сообщение в блоге о компиляторе и демонстрациях

GitHub Turbo Pascal

Статьи по теме

Pascal IDE Lazarus 1.0 выпущен        900 03

Интерпретаторы, виртуальные машины и JIT       

Лучшие языки 2012 г.

Языки программирования. Инфографика. Экли Новостная рассылка.

 

 

 

Комментарии

или отправьте свой комментарий по адресу: [email protected]

 


Состояние технической рабочей силы 2023
05.01.2023

В настоящее время в США насчитывается 9,2 миллиона человек, которых можно считать специалистами в области технологий, что составляет 5,8% от общей численности рабочей силы. Технологическая отрасль обеспечивает прямое экономическое влияние [ … ]

+ Полная история


Дизайнер микросхем получил награду ACM за прорыв в области вычислений в 2022 году Премия ACM Чарльза П. «Чака» Такера за прорыв в области вычислительной техники.

+ Полная история

Другие новости

  • Джеффри Хинтон покидает Google, чтобы предупредить об искусственном интеллекте
  • Восстание Rust — Windows 11
  • Python Software Foundation поднимает вопрос об открытом исходном коде в ЕС
  • Хинтон объясняет свой новый страх перед ИИ
  • Агенты ИИ организуют вечеринку
  • Fiberplane добавляет инструмент метрик
  • Что разработчики думают об ИИ
  • Grafana обновляет облачную платформу 900 97
  • Мета выпускает Buck2 Build System
  • Доступен пакет производительности Java SE
  • Учебная программа NSA по кибербезопасности
  • GitHub запускает сообщество частных специалистов по обслуживанию
  • Google запускает Startups Accelerator: Cloud Cohort

 

Язык программирования Pascal


Язык программирования Pascal

Статья в Википедии о языке программирования Pascal: история, описание, языковые конструкции, компиляторы, стандарты и многое другое.

Часто задаваемые вопросы о стандартах Pascal

Этот FAQ содержит различные часто задаваемые вопросы о различных стандартах Pascal.

Turbo Pascal (Википедия)

Turbo Pascal — это полная система разработки программного обеспечения, включающая компилятор и интегрированную среду разработки (IDE) для языка программирования Pascal, работающего под управлением CP/M, MS-DOS и CP/M-86, разработан Borland под руководством Филиппа Кана. Название Borland Pascal обычно предназначалось для высокопроизводительных пакетов (с большим количеством библиотек и исходным кодом стандартной библиотеки), в то время как исходная дешевая и широко известная версия продавалась как Turbo Pascal. Название Borland Pascal также используется в более общем смысле для обозначения диалекта Pascal от Borland. Turbo Pascal 7 также вдохновил меня на создание Turbo51.

Исходный код компилятора Turbo Pascal 7

Как работает компилятор Turbo Pascal? Здесь вы можете проверить исходный код компилятора командной строки Turbo Pascal 7.

Pascal для небольших машин

На этом веб-сайте вы найдете информацию о Pascal для небольших машин, например, компиляторы Wirth, файловый архив Yahoo Group UCSD Pascal, множество отсканированных книг и другие файлы на UCSD Pascal, Pascal на CP/M и MSX. и многое другое.

Pascal Central

Вы ищете других программистов Pascal? Ищете помощь по программированию, связанную с Pascal? Ищете исходный код Pascal? В мире хаоса иногда бывает трудно найти информацию, связанную с Pascal. Эта страница была разработана, чтобы попытаться собрать все такие источники, включая списки рассылки, группы новостей и архивы исходного кода, в одном месте.

Бесплатные компиляторы Pascal

На этой странице перечислены бесплатные компиляторы Delphi и Pascal для ряда платформ. На этой странице также перечислены несколько кросс-компиляторов.

Turbo Pascal Загрузить

Загрузить компиляторы Turbo Pascal для компиляции старых проектов Pascal.

Learn Pascal

Этот учебник представляет собой простое, но полное введение в язык программирования Pascal. Он охватывает весь синтаксис стандартного Паскаля, включая указатели.

Версии Borland®/Inprise® Pascal

В этом документе приведены краткие описания и фотографии версий Pascal, а также краткий список функций и примечания.

Сравнение Паскаля и C (Википедия)

Языки компьютерного программирования C и Паскаль часто сравнивают друг с другом, иногда с жаром, вероятно, потому, что эти языки имеют сходное время возникновения, влияния и цели и, таким образом, представляют собой два философских подхода. на аналогичную потребность. Оба использовались для разработки (и компиляции) своих собственных компиляторов в начале своей жизни, и оба были созданы и популярны в годы становления эпохи микрокомпьютеров.

10 основных причин, почему Pascal лучше, чем C

Паскаль, благородный язык сам по себе, был назван в честь известного французского математика и философа Блеза Паскаля. C был назван в честь персонажа Улицы Сезам…

Почему Pascal не является моим любимым языком программирования

Язык программирования Pascal стал доминирующим языком обучения в области информатики.