QuickBASIC продолжает жить с QB64
Когда я купил свой первый компьютер, подержанный 386, работающий под управлением MS-DOS 6.22, у меня не было подключения к Интернету. Но у меня был установлен QuickBASIC и стопка журналов по программированию, которые выбрасывала местная библиотека, так что мне было чем себя занять. В то время я думал, что QuickBASIC более или менее неотличим от магии. Я мог бы написать простой код, скомпилировать его в .exe, записать на дискету и передать кому-нибудь другому для запуска на его собственной машине. Это казалось слишком хорошим, чтобы быть правдой. Как можно было улучшить эту технологию?
Конечно, это было много лет назад, а сейчас все по-другому. Современные языки программирования намного более функциональны, чем медленные варианты BASIC 80-х и 90-х годов. Но все же, когда я нашел дискету, полную программ, которые я написал десятилетия назад, я не мог не задуматься о том, можно ли снова запустить их. Я решил, что, используя что-то вроде DOSBox, я смогу установить QuickBASIC IDE и запускать их так, как будто я вернулся на свой верный 386.
К сожалению, этого не произошло. Возможно, я просто недостаточно хорошо разбираюсь в DOSBox, но мне не удалось заставить IDE запустить какой-либо исходный код, который я снял с дискеты. Это меня разочаровало, но потом мне пришло в голову, что современные интерпретаторы BASIC, вероятно, разрабатываются в каком-то уголке Интернета, и, возможно, я смогу найти способ запустить свой почти 30-летний код, не полагаясь на программное обеспечение 30-летней давности. сделай это.
Немного поискав, я нашел проект QB64. Это среда разработки QuickBASIC с открытым исходным кодом, которая не только полностью совместима с существующими программами, но и добавляет функции и возможности, которые были немыслимы на моем 386. Можно отображать PNG, загружать шрифты TTF или воспроизводить MP3 в фоновом режиме. всего одной или двумя командами.
Такие вещи были возможны с оригинальным QuickBASIC, но существовали скорее в сфере технических демонстраций, чем чего-либо еще. Ох, какие игры я мог бы создать в свое время с таким программным обеспечением! Мне приходилось довольствоваться гудками и ляпами, и даже это требовало от вас самостоятельно определять время подачи сигналов.
Более того, QB64 является кроссплатформенным и поддерживает компиляцию в собственные двоичные файлы для Linux, Windows и Mac OS. Это означало, что я мог не только запустить свой старый код в IDE, но и скомпилировать его в двоичный файл для своего рабочего стола Linux. У меня больше нет компьютера с Windows, но с помощью WINE я смог запустить версию QB64 для Windows и скомпилировать .exe-файл, который я мог бы передать своим друзьям, которые все еще живут в темные века.
Вы даже можете использовать QB64 для компиляции кода QuickBasic в приложение для Android, хотя здесь есть немало препятствий, и в настоящее время он работает только в Windows.
Это может быть упущено для тех, кто никогда не писал код BASIC на старинной машине, но следующий код создает экран 800×600, помещает полноэкранный PNG, воспроизводит MP3 и записывает сообщение, используя шрифт TrueType.
Для сравнения: этот инструмент QuickBasic для простого отображения изображения JPEG занимает 653 строки кода.
В трудные подростковые годы я создал графическую версию игры в стиле «Drugwars». Вы перемещали маленького человечка по пиксельной среде, покупая и продавая вещества, о которых я слышал в фильмах, но определенно никогда не видел лично. Это было ужасно. Но это была часть моей юности, и я подумал, что было бы интересно посмотреть, смогу ли я втиснуть какую-нибудь современную вспышку с помощью QB64.
Как оказалось, прозрачные PNG и возможность отображать правильные шрифты значительно упрощают задачу. Благодаря возможности воспроизводить музыку и окружающие звуковые эффекты в фоновом режиме даже небрежно сделанные игры кажутся намного лучше. На следующих скриншотах показано главное меню моей маленькой подростковой криминальной фантазии до и после применения QB64. Обратите внимание, что сам исходный код ядра более или менее такой же, я просто чередую его с возможностью загрузки и отображения внешних файлов.
Нет, вам определенно не следует. Я написал это не для того, чтобы попытаться убедить кого-либо перейти на язык программирования, который достиг своего пика еще до рождения многих наших читателей. QuickBASIC — устаревший язык с устаревшими методами и ограничениями, которые сбивают с толку современного программиста. Но QB64 действительно отлично справляется с модернизацией этого классического языка, хотя и в относительно небольшой степени по большому счету, для тех из нас, кто уже освоил его.
Пред: Архивные ссылки "Воскресное утро"
Следующий: Подкаст «Дело троянского коня»