FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к QuickBASIC, а также компилятор для него (FreeBASIC Compiler). Первоначально компилятор разрабатывался как свободная альтернатива Microsoft QuickBasic, но быстро оброс новыми возможностями и стал мощным средством разработки. Первые версии компилятора были написаны на Visual Basic, но теперь он может откомпилировать сам себя (написан
на FreeBASIC).
Компилятор
Транслятор языка компилирует тексты QBasic и FreeBASIC в 32-битные исполняемые модули Win32, DOS (в защищённом режиме) и Linux x86 модули.
Ассемблирование и компоновка производятся с помощью GNU Binary Utilities.
Компилятор распространяется на условиях GNU GPL, стандартная библиотека — на GNU LGPL.
Имеется несколько сред разработки для данного компилятора. В качестве отладчика может использоваться GNU Debugger (также поддерживается gprof).
Несмотря на то, что компилятор имеет совместимость с QuickBASIC, в язык FreeBASIC было добавлено множество расширений и возможностей для соответствия современным требованиям и стандартам и совместимости с библиотеками и API, написанными на C/C++. Начиная с версии 0.17 пользователь может выбрать три режима компиляции (опция -lang): режим совместимости с QuickBASIC (qb), старыми версиями FreeBASIC (deprecated), и стандартный режим, включающий в себя все последние изменения и возможности языка.
Новые возможности и расширения:
поддержка Unicode;
множество встроенных типов переменных (Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, String, ZString, WString);
типы данных определяемые пользователем (бесконечная вложенность, Union, тип поля (array, function, bit fields));
пространства имён;
перечислимый тип (Enum);
новые возможности при работе с массивами (до 2 ГБ, Redim Preserve);
указатели (указатели на любые типы данных, неограниченная косвенная адресация);
перегрузка функций и операторов;
необязательные аргументы функций;
встроенный ассемблер (ассемблерные инструкции в исходном коде программы);
препроцессоры;
Typedefs;
конструкторы и деструкторы классов;
улучшенная графическая библиотека.
Проект FreeBASIC является кроссплатформенным пакетом для интегрированных сред разработки, первоначально созданный Андре Виктором, состоящий из компилятора, ассемблера на базе ГНУ, компоновщика и архиватора, поддерживающим исполняемые библиотеки, включая программную графическую библиотеку. Компилятор f
bc к настоящему времени поддерживает процессоры на базе i386-архитектуры для ОС DOS, Linux, Windows и платформе Xbox. Проект также содержит тонкие связи (файлы заголовков) для некоторых популярных библиотек сторонних разработчиков, таких как, например, исполняемых библиотек C, Allegro, SDL, OpenGL, GTK+, Windows API и многих других, а также модулей, созданных для многих из этих библиотек.
FreeBASIC - высокоуровневый язык программирования, поддерживающий процедурное программирование, объектно-ориентированную парадигму и мета-программирование, с синтаксическим совместимым с майкрософтовским QuickBASIC. Фактически, проект FreeBASIC первоначально начинался, как попытка создания кодово-совместимой альтернативы для QuickBASIC, но он вырос в мощное средство разработки. Сегодня возможности FreeBASIC стали куда шире возможностей майкрософтовского QuickBASIC в множестве областей, поддержка большого количества данных в языке позволяет создавать программные стили, современные платформы и интерфейсы.
FbEdit - интегрированная среда разработки для FreeBASIC
Как и каждый программный продукт RAD, FbEdit делает прикладную разработку легкой и быстрой, обеспечивая умные функции и встроенные умные инструментальные средства:
синтаксическая подсветка характеристик;
более удобочитаемый код и лучший обзор;
темы;
легкая приспособляемость к вашим персональным настройкам;
визуальный диалоговый редактор;
быстрое wysiwyg создание диалоговых окон Microsoft Windows с помощью мыши;
заказная поддержка элементов управления;
многократно используемые, настраиваемые элементы управления подобно видеоиграм, окну просмотра internet или электронных таблиц;
автозавершение кода;
более быстрое занесение данных для более быстрой разработки;
подсказки “tooltips” по программированию, что минимизирует необходимость для просмотра руководства по языку;
умный отступ и автоматическое формирование блоков при редактировании создает хорошо организованный код и меньшее количество ошибок;
Знаете ли Вы, как разрешается парадокс Ольберса? (Фотометрический парадокс, парадокс Ольберса - это один из парадоксов космологии, заключающийся в том, что во Вселенной, равномерно заполненной звёздами, яркость неба (в том числе ночного) должна быть примерно равна яркости солнечного диска. Это должно иметь место потому, что по любому направлению неба луч зрения рано или поздно упрется в поверхность звезды. Иными словами парадос Ольберса заключается в том, что если Вселенная бесконечна, то черного неба мы не увидим, так как излучение дальних звезд будет суммироваться с излучением ближних, и небо должно иметь среднюю температуру фотосфер звезд. При поглощении света межзвездным веществом, оно будет разогреваться до температуры звездных фотосфер и излучать также ярко, как звезды. Однако в дело вступает явление "усталости света", открытое Эдвином Хабблом, который показал, что чем дальше от нас расположена галактика, тем больше становится красным свет ее излучения, то есть фотоны как бы "устают", отдают свою энергию межзвездной среде. На очень больших расстояниях галактики видны только в радиодиапазоне, так как их свет вовсе потерял энергию идя через бескрайние просторы Вселенной. Подробнее читайте в FAQ по эфирной физике.