Wie ausgereift ist FreeBASIC? [geschlossen]

10

Ein Freund von mir erwägt, FreeBASIC in einer kritischen Produktionsumgebung einzusetzen. Sie verwenden derzeit GWBasic und möchten einen sanften Übergang zu moderneren Sprachen vollziehen. Ich mache mir nur Sorgen, dass die Software möglicherweise unentdeckt bleibt. Ich sehe, dass ihre Versionsnummer 0.22.0 ist, was darauf hinweist, dass es noch nicht ganz ausgereift ist. Ich habe diese Diskussion auch gelesen , ohne sie abschließen zu können. Auch auf ihren Sourceforge- Seiten gibt es keinen Hinweis darauf, ob es sich um Alpha oder Beta handelt (was sowieso kein sehr guter Indikator ist). Hat jemand eigene Erfahrungen mit der Reife, Ideen zur Beurteilung der Reife oder kennt er Unternehmen, die FreeBASIC in einer kritischen Produktionsumgebung einsetzen?

David
quelle
23
Wenn sie GWBasic verwenden, ist alles eine Verbesserung.
Craig
1
Die FreeBASIC-Foren scheinen ein besserer Ort zu sein, um diese Frage zu stellen.
Matt Ellen
2
@ David Haben sie eine Testumgebung? Es könnte sich lohnen, einen der Projektentwickler als Berater einzustellen, damit er die im Testlauf gefundenen Fehler beheben kann.
Vitor Py
4
Ich vermute, dass der Übergang von GWBasic zu einem anderen BASIC-Dialekt nicht so "weich" sein wird, wie Sie denken. Das Hofstadter-Gesetz gilt insbesondere für Umschreibungen.
Rein Henrichs
1
Versionsnummern sind sehr projektspezifisch. Einige Projekte reservieren die Hauptziffer für etwas ganz Besonderes und drehen die Neben- und Mikroversionen weiter.
Lars Viklund

Antworten:

8

Ich hoffe, es ist nicht zu spät, einen alten Faden auszugraben.

Ich benutze FreeBASIC seit mehr als 5 Jahren in einer industriellen Umgebung und habe festgestellt, dass es absolut solide ist. Es hat tatsächlich um 0,1 sehr gut funktioniert, mit zunehmender QuickBASIC-Kompatibilität, und ist langsam gewachsen, um diese Wurzeln zu überschreiten und "ernster" zu werden, aber es kann gesagt werden, dass es in einem nahezu 100% QB-kompatiblen Modus arbeitet. Bei ziemlich großen Releases steigt die Versionsnummer nur um 0,01.

Ich schlage vor, Ihr Freund bringt das GWBASIC zu MS QuickBASIC, was ziemlich einfach sein sollte (ich habe es schon einmal gemacht, ist es nicht für 100% Kompatibilität ausgelegt?). FreeBASIC bietet Ihnen dann die Option "21. Jahrhundert", nativ als 32-Bit-App ausgeführt zu werden, falls jemand dies wünscht. Andernfalls stecken Sie unter Windows 7 usw. bei einer VM fest, auf der DOS oder ähnliches ausgeführt wird.

Antonius
quelle
10

PureBasic ist wahrscheinlich die beste Wahl anstelle von FreeBASIC, aber wenn ich Sie wäre, würde ich wahrscheinlich zu einer moderneren und robusteren Sprache wie C # oder Python wechseln.

Gary Willoughby
quelle
3

Imho ist PowerBasic (www.powerbasic.com) das beste BASIC für das Upgrade von GWBASIC. Viele haben dies bereits getan, daher gibt es in der Benutzergemeinschaft von Powerbasic eine Menge Erfahrung, falls Sie dort Unterstützung benötigen.

Auch Powerbasic ist ein qualitativ hochwertiges Produkt mit fast keinen Problemen / Fehlern und aktiv entwickelt. Es ist nicht kostenlos (199 $), aber jeden Cent wert.

Zu Ihrer Information: Ich bin nicht mit ihnen verbunden und benutze VB.NET selbst (aus beruflichen Gründen; sonst wäre es Powerbasic ...).


quelle
3

Powerbasic ist ziemlich ausgereift, und ich würde es wärmstens empfehlen, insbesondere wenn Ihnen Zuverlässigkeit und großartige Unterstützung wichtig sind. Ich persönlich benutze es nicht mehr, weil es nicht wirklich für die Programmierung von Spielen entwickelt wurde - für die ich den plattformübergreifenden BlitzMax verwende (und empfehle).

Abgesehen davon sollte Freebasic keine allzu große Hürde sein, wenn Sie von GWBasic kommen, und scheint auch einigermaßen stabil zu sein. Dokumentation und Forumunterstützung sind ebenfalls überdurchschnittlich gut.

Wenn ich jedoch ein Unternehmen wäre (im Gegensatz zu einer Einzelperson), das nach einer Lösung sucht, die auf absehbare Zeit dort sein und unterstützt wird, würde ich mich für so etwas wie Powerbasic entscheiden. Hier ist ein Programm, das QBasic in Powerbasic konvertieren kann: http://www.powerbasic.com/support/downloads/files/QB2PBv2.zip

Hoffe das hilft! Russell

Russell
quelle
3

Dies sind die folgenden grundlegenden Dialekte, die sowohl als Compiler als auch als einbettbares Skript geeignet sind:

1) Gambas

Dies sind die folgenden grundlegenden Dialekte, die nur als Compiler geeignet sind, aber andere Skripte einbetten können:

2) Jabaco

3) objektivbasisch

4) freebasic

5) Chipmunkbasic

Dies sind die folgenden einbettbaren Basisdialekte, die gut sind und je nach Framework in andere Basisdialekte eingebettet werden können:

6) scriptbasic

7) maven-sb4j

8) ajbasisch

All dies kann auch verwendet werden, um GUI-Anwendungen zu erstellen, die sich voneinander unterscheiden, Datenbankverbindungs-Tools und im Bereich einbettbarer Anwendungen (Webserver-Seiten) sind bereits scriptbasic und gambas-gbs3 vorhanden, wohingegen Sie fb-curl und erhalten können fb-simplewebserver und integrieren Sie sie in das freebasic Framework, dann auch in die freebasic-Server-Seiten (wenn sie nicht vorhanden sind, müssen Sie möglicherweise die Bibliotheks- und Header-Dateien unter der lib herunterladen und kopieren und das Verzeichnis von freebasic einschließen). Sogar Jabaco kann maven-sb4j einbetten, oder Objectivebasic und Chipmunkbasic können Applescript bzw. Scriptbasic einbetten. Daher haben diese wahrscheinlich eine Lösung für die meisten Anforderungen.

Wenn Sie sehr speziell mit gwbasic-Kompatibilität sind, wählen Sie bwbasic (gwbasic erweitert für freebsd und linux), aber ich denke, es gibt keinen großen Unterschied zu einigen anderen.

Für Grafiken mit bwbasic müssen Sie sich jedoch mit x11-basierten Optionen herumschlagen oder warten, bis die Unterstützung für tk, fox und andere bekannte Toolkits hinzugefügt wird.

Wenn Sie bereit sind zu suchen:

Robuste vb-ähnliche Entwicklungsumgebung + grundlegende Serverseiten, dann wählen Sie Gambas oder Jabaco mit maven-sb4j.

Robuster Interpreter, der mit einer dünnen, aber guten Idee unterstützt wird: freebasic. Wenn Sie fb-curl und fb-simplewebserver herunterladen und in das freebasic-Framework integrieren können, dann auch freebasic-server-pages.

Robuste Web-Engine für grundlegende Serverseiten, dann Scriptbasic und Thinbasic.

Diese sind also alle robust und können zumindest nach dem Hinzufügen einiger weniger Module verwendet werden.

Einige kleinere Funktionen von Python / Perl / Ruby ausgeliehen: scriptbasic (und auch yabasic3)

Einfache und sehr standardmäßige Syntax: wäre in Zukunft obasisch (openbasic), derzeit sind freebasic und scriptbasic zwei verschiedene Geschmacksrichtungen oder traditionelles Basic, während Gambas und Jabaco verschiedene vb6-Dialekte sind.

kaushikkg
quelle
2

Was genau ist Ihr Anwendungsfall? Oder besser gesagt, der Anwendungsfall Ihres Freundes. Ich würde sie auf Python (oder eine der anderen weit verbreiteten, aber auch einfachen Sprachen da draußen) lenken, aber vielleicht gibt es einen bestimmten Grund, warum sie einen BASIC-Dialekt verwenden müssen.

Ich bin alles dafür, in persönlichen Projekten mit verschiedenen Sprachen herumzuspielen, aber für kritische Produktionszwecke halte ich mich im Allgemeinen an Sprachen, die weithin bekannt, weithin unterstützt und sehr kampferprobt sind.

jhocking
quelle
3
Dies ist keine Antwort, sondern eher als Kommentar geeignet. Der Anwendungsfall ist, dass es für die geschäftskritische Berechnung von Materialkosten, Arbeitskosten, Generierung von 3D-Modellen usw. verwendet wird. Das aktuelle GWbasic-Programm verfügt über rund 30.000 Codezeilen (von einem einzelnen Entwickler erstellt), weshalb es kleiner ist Das Umschreiben wird gegenüber dem Wechseln zu Python bevorzugt, was ein vollständiges Umschreiben erfordern würde.
David
5
Ich persönlich bin weder mit FreeBASIC noch mit GWBasic vertraut, aber ich vermute, dass es sich nicht um eine kleine Neufassung handelt. Die meisten BASIC-Dialekte, denen ich begegnet bin, unterscheiden sich tatsächlich erheblich voneinander. Pure Basic, Real Basic, Blitz Basic, GL Basic usw. Sie sind konzeptionell sehr ähnlich (z. B. nicht objektorientiert), aber die Syntax ist völlig anders.
Schockieren
Versuchung, jeden herunterzustimmen, der "hübschen" Code gegenüber Arbeitscode bevorzugt. Es hört sich so an, als hätten sie eine große Anzahl bewährter GWBASIC, sie sind mit seiner Funktionalität zufrieden, sie möchten einfach zu einer moderneren Sprache wechseln, ohne alles neu schreiben oder neu gestalten zu müssen, was durchaus sinnvoll ist. Das Umschreiben eines großen Legacy-Systems ist eine der schwierigsten Aufgaben, die Sie jemals ausführen können!
James Anderson
Der Wechsel zu einer moderneren Sprache, ohne alles neu zu schreiben, ist ein vernünftiger erster Instinkt, aber in dieser Situation nicht wirklich praktisch. Wenn der einzige Grund, alles neu zu schreiben, darin besteht, "hübschen" Code zu erhalten, dann ist das eine enorme Zeitverschwendung, aber das ist ein Grund, die Sprache nicht zu wechseln. Wenn Sie jedoch wirklich die Sprache wechseln müssen (dies ist ein alter Thread, an den ich mich nicht erinnere, wenn er es getan hat), zwingt Sie das Wechseln der Sprache so ziemlich dazu, alles neu zu schreiben.
Schockieren
0

Dann gibt es Java-API-Unterstützung oder Japi für Scriptbasic, Yabasic2 und Jabaco, die plattformübergreifend sind.

Aber natürlich haben heutzutage viele Basis-Dialekte auch andere plattformübergreifende Toolkits, die bald den Weg für hochwertige Anwendungen in der Zukunft ebnen können.

kaushikkg
quelle