Да, я понимаю, что стереотипы ломать сложно, и многие только при упоминании слова BASIC начинают плеваться, однако времена qBasic, VB и пр «недоязыков» программирования прошли. Не редко мне доводилось слышать в чужом разговоре фразы типа «да бейсик — ето ваще г-но», однако это абсолютно беспочвенное утверждение. Basic — это не конкретная реализация языка программирования, а лишь специфический синтаксис, и на него практически нет стандарта, такого, как, допустим у языка Си. Сейчас я хочу предоставить обзор одного из языков данного семейства, и доказать, что он практически не уступает современным профессиональным языкам программирования.
FreeBASIC
Немного из истории развития. Первоначально задумывался как свободная реализация qBasic от MS, и был написан целиком на Visual Basic (да да, и на нем умудряются писать компиляторы)), однако на этом разработчики не остановились и начали добавлять в него технологии из современных языков программирования. Сейчас он компилируется сам собой. До сих пор FreeBASIC имеет полную поддержку синтаксиса QB, но это ему не мешает использовать указатели, ООП, пространства имён, препроцессор и пр вкусности.
Структура FreeBASIC
Сам компилятор представляет из себя всего лишь транслятор из кода на Basic-е в код на Gnu Assembler, при этом использует функции из стандартных Си-шных библиотек. Компиляция программы проходит в 3 этапа:
1) Трансляция с Basic в Assembler
2) Компиляция as-ом
3) Линковка ld-ом
Разработчики большое внимание уделили совместимости с другими языками программирования, поэтому слинковать объектный файл написанный допустим на Си и на FreeBASIC не составит большого труда. В качестве дебаггера без проблем можно использовать все тот же gdb.
Написать за 5 мин.
Синтаксис Basic-а был выбран как самый легкий для восприятия человеком. Начинающему разобраться с написанием программ на FreeBASIC-е не составит большего труда. Разработчики составили очень подробный мануал с примерами применения различных конструкций языка. Также как и в классическом Basic-е нет явной точки входа, и программа может состоять всего лишь из одной строчки, к примеру
print «Hi»
также написать графическое приложение не составит особого труда
screen 18
circle(200, 200), 50
Также в язык включена прямая поддержка OpenGL-а, что позволяет писать более серьезные графические приложения без труда. Помимо этого также имеется прямая поддержка работы с клавиатурой, мышкой, джойстиками, что будет крайне полезно игроделам. Ко многим популярным библиотекам написаны заголовочные файлы, и имеются примеры их использования, что служит хорошей отправной точкой в их изучении.
Чем же он лучше других?
Он не лучше, он просто другой. Существует не так уж и много системных языков программирования, тем более бесплатных и кросс платформенных, поэтому любая альтернатива всегда в пользу. Основными положительными особенностями FreeBASIC-а я бы хотел отметить возможность программировать без использования указателей, что в разы повышает надежность программ. Ведь не секрет, что самые распространенные ошибки случаются как раз из за невнимательной работы с памятью со стороны программиста. Такие языки как Си к сожалению не могут предоставить таких средств.
Чего ожидать в будущем
Язык достаточно молод (ок 5-ти лет), но при этом приобрел достаточную популярность. В последнее время начал появляться в репозиториях распространенных дистрибутивов. Многие компании, выпуская образовательные версии своих дистрибутивов, включают его. Появляется все больше ресурсов посвященных FreeBASIC-у в различных странах, в том числе и в России. В связи со всем этим, если разработчики продолжат развитие в том же направлении, то… будет круто))
Официальный сайт http://freebasic.net
Форум Российского сообщества http://freebasic.justforum.net