Наскільки зрілий FreeBASIC? [зачинено]


10

Мій друг розглядає можливість використання FreeBASIC у критичних виробничих умовах. В даний час вони використовують GWBasic і хочуть зробити легкий перехід до більш сучасних мов. Я просто переживаю, що в програмному забезпеченні можуть виявитись непомічені помилки. Я бачу, що їх версія версії становить 0,22,0, що вказує на те, що вона ще не зовсім зріла. Я також читав цю дискусію, не маючи можливості зробити висновок. Також на їхніх сторінках Sourceforge немає вказівки, чи це Альфа чи Бета (що все одно не дуже хороший показник). Хтось має власний досвід зрілості, ідеї, як судити про зрілість, чи знати про компанії, які використовують FreeBASIC у критичних виробничих умовах?


23
Якщо вони використовують GWBasic, що завгодно - це покращення.
Крейг

1
Форуми FreeBASIC здаються кращим місцем для запитання цього питання.
Метт Еллен

2
@David Чи є у них тестове середовище? Можливо, варто запустити його та найняти на посаду консультанта одного з розробників проекту, щоб він / вона могла виправити помилки, виявлені в тестовому циклі.
Vitor Py

4
Я підозрюю, що перехід від GWBasic до іншого діалекту BASIC не буде настільки "м'яким", як ви думаєте. Закон Гофштадтера особливо стосується переписувачів.
Рейн Генріхс

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

Відповіді:


8

Я сподіваюся, що не пізно викопати стару нитку.

Я використовував FreeBASIC в промислових умовах протягом 5+ років, і виявив, що він є твердим. Насправді це спрацювало дуже добре, приблизно в межах 0,1, зростаючи сумісність QuickBASIC, і повільно зросла, щоб перевищити ці корені і стала більш "серйозною", але можна сказати, що вона працює в майже 100% сумісному режимі QB. Досить великі випуски бачать лише кількість версій на 0,01.

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


10

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


3

Імхо найкращим базовим для оновлення з GWBASIC є PowerBasic (www.powerbasic.com). Багато хто робив це раніше, тому в спільноті користувачів Powerbasic є досить великий досвід, якщо вам там потрібна допомога.

Також Powerbasic - це високоякісний продукт, який майже не має проблем / помилок і активно розвивається. Це не безкоштовно (199 доларів), але коштує кожної копійки.

FYI: Я не пов'язаний з ними і сам користуюся 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) вільноосновний

5) бурундук

Це такі вкладені основні діалекти, які є хорошими та можуть бути вбудовані в інші основні діалекти, залежно від рамки:

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

7) maven-sb4j

8) айбазик

Все це також можна використовувати для створення додатків gui, які відрізняються між собою, інструментів підключення баз даних, а також у області вбудованих додатків (сторінки веб-сервера), scriptbasic та gambas-gbs3 вже є, тоді як якщо ви можете отримати fb-curl та fb-simplewebserver та інтегруйте їх у freebasic фреймворк, а також freebasic-сервер-сторінки (якщо їх там немає, можливо, вам доведеться завантажувати та копіювати та вставляти файли бібліотеки та заголовки під lib та включати каталог freebasic відповідно). Навіть jabaco може вставляти maven-sb4j, або objectbasic та chipmunkbasic можуть вставляти яблучний сценарій та scriptbasic відповідно. Тому вони, ймовірно, мають рішення для більшості вимог.

Якщо ви дуже специфічні щодо сумісності з gwbasic, тоді вибирайте bwbasic (розширений gwbasic для freebsd та linux), але я не думаю, що з деякими іншими існує велика різниця.

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

Якщо ви готові шукати:

Міцне vb-подібне середовище розробки + основні сторінки сервера, потім виберіть gambas або jabaco з maven-sb4j.

Надійний інтерпретатор підтримує тонку, але хорошу ідею: freebasic, і якщо ви можете отримати fb-curl та fb-simplewebserver та інтегрувати їх у freebasic frame, то також freebasic-сервер-сторінки.

Надійна веб-система для основних сторінок сервера, а потім scriptbasic та thinbasic.

Отже, всі вони надійні і можуть стати корисними принаймні після додавання декількох модулів.

Запозичені деякі незначні функції від python / perl / ruby: scriptbasic (а також yabasic3)

Легкий і дуже стандартний синтаксис: був би прихильним (openbasic) у майбутньому, в даний час freebasic і scriptbasic - це два різноманітні смаки або традиційний базовий, тоді як gambas і jabaco - це різноманітний діалект vb6.


2

Який саме ваш випадок використання? А точніше випадку використання вашого друга. Я б скеровував їх на Python (або будь-яку з інших широко використовуваних, але також простих мов там), але, можливо, є якась конкретна причина, чому їм потрібно використовувати базовий діалект.

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


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.