Насколько зрелый FreeBASIC? [закрыто]


10

Мой друг рассматривает возможность использования FreeBASIC в критической производственной среде. В настоящее время они используют GWBasic и хотят плавно перейти на более современные языки. Я просто беспокоюсь, что в программном обеспечении могут быть необнаруженные ошибки. Я вижу, что их номер версии - 0.22.0, что указывает на то, что он еще не совсем зрелый. Я также прочитал эту дискуссию, не имея возможности сделать вывод. Также на их страницах Sourceforge нет указаний на то, является ли это Альфа или Бета (что в любом случае не очень хороший показатель). У кого-нибудь есть собственный опыт относительно зрелости, идеи о том, как судить о зрелости, или знаете о компаниях, использующих FreeBASIC в критической производственной среде?


23
Если они используют GWBasic, что-нибудь является улучшением.
Крейг,

1
Форумы FreeBASIC кажутся лучшим местом для того, чтобы задать этот вопрос.
Мэтт Эллен

2
@ Дэвид Есть ли у них среда тестирования? Возможно, стоит его запустить и нанять в качестве консультанта одного из разработчиков проекта, чтобы он мог исправить ошибки, обнаруженные в ходе тестирования.
Вит Пи

4
Я подозреваю, что переход с GWBasic на другой диалект BASIC не будет таким «мягким», как вы думаете. Закон Хофштадтера особенно применим к переписыванию.
Рейн Хенрикс

1
Номера версий очень специфичны для проекта. Некоторые проекты резервируют главную цифру для чего-то очень особенного и просто продолжают набирать минор и микро версии.
Ларс Виклунд

Ответы:


8

Надеюсь, еще не поздно выкопать старую ветку.

Я использую FreeBASIC в промышленной среде более 5 лет и считаю, что он очень прочный. На самом деле он работал очень хорошо около 0.1, с растущей совместимостью с QuickBASIC, и постепенно увеличивался, чтобы превзойти эти корни и стать более «серьезным», но можно сказать, что он работает в почти 100% совместимом с QB режиме. Достаточно большие выпуски видят только увеличение номера версии на 0,01.

Я предлагаю вашему другу перевести GWBASIC в MS QuickBASIC, что должно быть довольно просто (я делал это раньше, разве он не рассчитан на 100% совместимость?). Затем FreeBASIC дает вам возможность 21-го века работать как 32-битное приложение, если кто-то почувствует необходимость. В противном случае с Windows 7 и т. Д. Вы застряли на виртуальной машине с DOS или чем-то еще.


10

PureBasic - это, вероятно, ваша лучшая ставка вместо FreeBASIC, но на вашем месте я бы, вероятно, перешел на более современный и надежный язык, такой как C # или Python.


3

Imho лучший BASIC для обновления GWBASIC - PowerBasic (www.powerbasic.com). Многие делали это раньше, поэтому в сообществе пользователей Powerbasic достаточно опыта, если вам понадобится помощь.

Также Powerbasic - это высококачественный продукт, практически без проблем / ошибок и активно развивающийся. Это не бесплатно (199 долларов), но стоит каждого пенни.

К вашему сведению: я не связан с ними и использую VB.NET сам (по профессиональным причинам; в противном случае это будет Powerbasic ...).


3

Powerbasic вполне зрелый, и я от всей души рекомендую его, особенно если для вас важны надежность и отличная поддержка. Лично я больше не использую его, потому что он на самом деле не предназначен для программирования игр - для чего я использую (и рекомендую) кроссплатформенный BlitzMax.

Тем не менее, Freebasic не должен быть слишком большим препятствием, если вы пришли из GWBasic, и, кажется, также достаточно стабилен. Документация и поддержка на форуме лучше, чем в среднем.

Тем не менее, если бы я был компанией (а не частным лицом), которая искала решение, которое будет там и будет поддерживаться в обозримом будущем, я бы выбрала что-то вроде Powerbasic. Вот программа, которая может конвертировать QBasic в Powerbasic: http://www.powerbasic.com/support/downloads/files/QB2PBv2.zip

Надеюсь это поможет! Рассел


3

Это следующие базовые диалекты, которые хороши как в качестве компилятора, так и встраиваемого скрипта:

1) гамбас

Это следующие базовые диалекты, которые хороши только как компилятор, но могут встраивать другие скрипты:

2) Джабако

3) цель

4) freebasic

5) бурундук

Это следующие встраиваемые базовые диалекты, которые хороши и могут быть встроены в другие базовые диалекты в зависимости от структуры:

6) сценарий основы

7) maven-sb4j

8) айбасик

Все это также можно использовать для создания приложений графического интерфейса, которые отличаются друг от друга, инструментов для подключения к базе данных и в области встраиваемых приложений (страниц веб-сервера), scriptbasic и gambas-gbs3 уже есть, тогда как если вы можете получить fb-curl и fb-simplewebserver и интегрируйте их в фреймворк freebasic, а затем и страницы freebasic-server-сервера (если их там нет, вам, возможно, придется скачать и скопировать-вставить библиотеку и заголовочные файлы в lib и включить каталог freebasic соответственно). Даже jabaco может встраивать maven-sb4j, или ObjectiveBic и ChipMunkBasic могут встраивать appleScript и scriptbasic соответственно. Таким образом, они могут иметь решение для большинства требований.

Если вы неравнодушны к совместимости с gwbasic, выберите bwbasic (gwbasic, улучшенный для freebsd и linux), но я не думаю, что есть какая-то разница с некоторыми другими.

Однако для графики с bwbasic вам придется бороться с опциями на основе x11 или подождать, пока он не добавит поддержку tk, fox и других известных наборов инструментов.

Если вы готовы искать:

Надежная vb-подобная среда разработки + базовые страницы сервера, затем выберите gambas или jabaco с maven-sb4j.

Надежный интерпретатор поддерживается с тонкой, но хорошей идеей: freebasic, и если вы можете получить fb-curl и fb-simplewebserver и интегрировать их в инфраструктуру freebasic, то также freebasic-server-pages.

Надежный веб-движок для основных серверных страниц, а затем базовых сценариев и тонких базовых.

Итак, все они надежны и могут стать полезными, по крайней мере, после добавления нескольких модулей.

Заимствованы некоторые незначительные возможности из python / perl / ruby: scriptbasic (а также yabasic3)

Простой и очень стандартный синтаксис: в будущем будет obasic (openbasic), в настоящее время freebasic и scriptbasic - это два разных аромата или традиционный базовый, тогда как gambas и jabaco - это разные диалекты vb6.


2

Какой именно ваш вариант использования? Или, скорее, случай использования вашего друга. Я бы направил их к Python (или любому другому широко используемому, но также и простому языку), но, возможно, есть какая-то конкретная причина, почему они должны использовать диалект BASIC.

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


3
Это не ответ, но больше подходит как комментарий. Сценарий использования заключается в том, что он используется для критически важного для бизнеса расчета материальных затрат, затрат на рабочую силу, создания 3D-модели и т. Д. Текущая программа GWbasic имеет около 30 000 строк кода (созданных одним разработчиком), что является причиной того, что меньше переписывание предпочтительнее по сравнению с переходом на Python, который потребует полного переписывания.
Дэвид

5
Я лично не знаком ни с FreeBASIC, ни с GWBasic, но подозреваю, что это не маленькая перезапись. Большинство основных диалектов, с которыми я сталкивался, на самом деле сильно отличаются друг от друга. Pure Basic, Real Basic, Blitz Basic, GL Basic и т. Д. Они концептуально очень похожи (например, не объектно-ориентированы), но синтаксис совершенно другой.
Джоккинг

Желание понизить голос любого, кто предпочитает «красивый» код рабочему. Похоже, что у них есть большое количество проверенных и испытанных GWBASIC, они довольны его функциональностью, они просто хотели бы перейти на более современный язык без необходимости переписывать или перепроектировать все, что совершенно разумно. Переписывание большой устаревшей системы - одна из самых трудных задач, которые вы когда-либо могли выполнить!
Джеймс Андерсон

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

0

Затем есть поддержка java-api или japi для scriptbasic, yabasic2 и jabaco, которые являются кроссплатформенными.

Но, разумеется, сегодня многие базовые диалекты имеют и другие кроссплатформенные наборы инструментов, которые вскоре могут проложить путь для качественных приложений в будущем.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.