Quelle est la maturité de FreeBASIC? [fermé]

10

Un de mes amis envisage d'utiliser FreeBASIC dans un environnement de production critique. Ils utilisent actuellement GWBasic et souhaitent effectuer une transition en douceur vers des langages plus modernes. Je crains juste qu'il y ait des bogues non détectés dans le logiciel. Je vois que leur numéro de version est 0.22.0, ce qui indique qu'il n'est pas encore tout à fait mature. J'ai également lu cette discussion, sans pouvoir conclure. De plus, sur leurs pages Sourceforge , rien n'indique si c'est Alpha ou Beta (ce qui n'est de toute façon pas un très bon indicateur). Quelqu'un a-t-il sa propre expérience de la maturité, des idées sur la façon de juger de la maturité, ou connaît-il des entreprises utilisant FreeBASIC dans un environnement de production critique?

David
la source
23
S'ils utilisent GWBasic, tout est une amélioration.
Craig
1
Les forums FreeBASIC semblent un meilleur endroit pour poser cette question.
Matt Ellen
2
@David Ont-ils un environnement de test? Il peut être utile d'en exécuter un et d'embaucher en tant que consultant l'un des développeurs du projet, afin qu'il / elle puisse corriger les bogues trouvés lors de la phase de test.
Vitor Py
4
Je soupçonne que la transition de GWBasic vers un autre dialecte BASIC ne sera pas aussi "douce" que vous le pensez. La loi de Hofstadter s'applique particulièrement aux réécritures.
Rein Henrichs
1
Les numéros de version sont des choses très spécifiques au projet. Certains projets réservent le chiffre majeur à quelque chose de très spécial et continuent de faire tourner les versions mineures et micro.
Lars Viklund

Réponses:

8

J'espère qu'il n'est pas trop tard pour déterrer un vieux fil.

J'ai utilisé FreeBASIC dans un environnement industriel pendant plus de 5 ans et je l'ai trouvé solide comme le roc. En fait, cela a très bien fonctionné aux alentours de 0,1, avec une compatibilité QuickBASIC croissante, et a lentement grandi pour dépasser ces racines et devenir plus "sérieux", mais on peut lui dire de fonctionner dans un mode compatible à 100% QB. Les versions assez importantes ne voient que le numéro de version augmenter de 0,01.

Je suggère que votre ami apporte le GWBASIC à MS QuickBASIC, ce qui devrait être assez facile (je l'ai déjà fait, n'est-il pas conçu pour une compatibilité à 100%?). FreeBASIC vous donne ensuite une option «21e siècle» pour fonctionner en mode natif en tant qu'application 32 bits si quelqu'un en ressent le besoin. Sinon, avec Windows 7, etc., vous êtes bloqué en utilisant une machine virtuelle exécutant DOS ou quelque chose.

Antony
la source
10

PureBasic est probablement votre meilleur pari au lieu de FreeBASIC mais si j'étais vous, je passerais probablement à un langage plus moderne et robuste tel que C # ou Python.

Gary Willoughby
la source
3

Imho le meilleur BASIC à utiliser pour la mise à niveau de GWBASIC est PowerBasic (www.powerbasic.com). Beaucoup l'ont déjà fait auparavant, donc il y a beaucoup d'expérience dans la communauté des utilisateurs de Powerbasic si vous avez besoin d'aide.

Powerbasic est également un produit de haute qualité avec presque aucun problème / bogue et développé activement. Ce n'est pas gratuit (199 $) mais vaut chaque centime.

FYI: Je ne suis pas affilié avec eux et j'utilise moi-même VB.NET (pour des raisons professionnelles; sinon ce serait Powerbasic ...).


la source
3

Powerbasic est assez mature, et je le recommande vivement, surtout si la fiabilité et un excellent support sont importants pour vous. Personnellement, je ne l'utilise plus car il n'est pas vraiment conçu pour la programmation de jeux - pour lequel j'utilise (et recommande) le BlitzMax multiplateforme.

Cela étant dit, Freebasic ne devrait pas être trop difficile si vous venez de GWBasic, et semble également assez stable. La documentation et le support du forum sont également meilleurs que la moyenne.

Pourtant, si j'étais une entreprise (par opposition à un individu) à la recherche d'une solution qui sera là et prise en charge dans un avenir prévisible, j'irais avec quelque chose comme Powerbasic. voici un programme qui peut convertir QBasic en Powerbasic: http://www.powerbasic.com/support/downloads/files/QB2PBv2.zip

J'espère que cela t'aides! Russell

Russell
la source
3

Ce sont les dialectes de base suivants qui sont bons à la fois comme compilateur et script intégrable:

1) gambas

Ce sont les dialectes de base suivants qui ne sont bons qu'en tant que compilateur mais peuvent incorporer d'autres scripts:

2) jabaco

3) objectifbasique

4) freebasic

5) chipmunkbasic

Ce sont les dialectes de base intégrables suivants qui sont bons et peuvent être intégrés dans d'autres dialectes de base en fonction des cadres:

6) scriptbasic

7) maven-sb4j

8) ajbasic

Tous ceux-ci peuvent également être utilisés pour créer des applications GUI qui diffèrent les unes des autres, des outils de connexion à la base de données et dans le domaine des applications embarquables (pages de serveur Web), scriptbasic et gambas-gbs3 sont déjà là, alors que si vous pouvez obtenir fb-curl et fb-simplewebserver et les intégrer dans le framework freebasic, puis également les pages freebasic-server (si elles ne sont pas là, vous devrez peut-être télécharger et copier-coller la bibliothèque et les fichiers d'en-tête sous la lib et inclure respectivement le répertoire de freebasic). Même jabaco peut intégrer maven-sb4j, ou objectivebasic et chipmunkbasic peuvent incorporer respectivement applescript et scriptbasic. Il est donc probable que ceux-ci aient une solution pour la plupart des exigences.

Si vous êtes très particulier avec la compatibilité avec gwbasic, choisissez bwbasic (gwbasic amélioré pour freebsd et linux), mais je ne pense pas qu'il y ait beaucoup de différence avec d'autres.

Cependant, pour les graphiques avec bwbasic, vous devez faire face aux options basées sur x11 ou attendre qu'il ajoute la prise en charge de tk, fox et d'autres boîtes à outils bien connues.

Si vous souhaitez rechercher:

Environnement de développement de type vb robuste + pages de serveur de base, puis choisissez gambas ou jabaco avec maven-sb4j.

Interprète robuste pris en charge avec une idée fine mais bonne: freebasic, et si vous pouvez obtenir fb-curl et fb-simplewebserver et les intégrer dans le framework freebasic, puis également freebasic-server-pages.

Moteur Web robuste pour les pages de serveur de base, puis scriptbasic et thinbasic.

Ils sont donc tous robustes et peuvent devenir utilisables au moins après l'ajout de quelques modules.

A emprunté quelques fonctionnalités mineures à python / perl / ruby: scriptbasic (et aussi yabasic3)

Syntaxe simple et très standard: serait obasique (openbasic) à l'avenir, actuellement freebasic et scriptbasic sont deux saveurs variées ou basiques traditionnelles, tandis que gambas et jabaco sont des dialectes vb6 variés.

kaushikkg
la source
2

Quel est exactement votre cas d'utilisation? Ou plutôt le cas d'utilisation de votre ami. Je les dirigerais vers Python (ou l'un des autres langages largement utilisés mais également simples), mais il y a peut-être une raison spécifique pour laquelle ils doivent utiliser un dialecte BASIC.

Je suis tout à fait pour jouer avec différentes langues dans des projets personnels, mais à des fins de production critiques, je m'en tiens généralement à des langues qui sont largement connues, largement prises en charge et très éprouvées au combat.

jhocking
la source
3
Ce n'est pas une réponse, mais plutôt un commentaire. Le cas d'utilisation est qu'il est utilisé pour le calcul critique des coûts de matériaux, de main-d'œuvre, de génération de modèle 3D, etc. Le programme GWbasic actuel compte environ 30 000 lignes de code (créées par un seul développeur), ce qui explique pourquoi un la réécriture est préférable à l'utilisation de Python, ce qui nécessiterait une réécriture complète.
David
5
Je ne connais pas personnellement FreeBASIC ou GWBasic mais je pense que ce n'est pas une petite réécriture. La plupart des dialectes de base que j'ai rencontrés sont en fait assez différents les uns des autres. Pure Basic, Real Basic, Blitz Basic, GL Basic, etc. Ils sont conceptuellement très similaires (par exemple, non orientés objet) mais la syntaxe est complètement différente.
jhocking
Tenté de dévaloriser tous ceux qui préfèrent le "joli" code au code de travail. On dirait qu'ils ont un grand corps de GWBASIC éprouvé, ils sont satisfaits de sa fonctionnalité, ils aimeraient juste passer à un langage plus moderne sans avoir à tout réécrire ou tout repenser, ce qui est parfaitement sensé. Réécrire un grand système hérité est l'une des tâches les plus ardues à entreprendre!
James Anderson
Passer à une langue plus moderne sans tout réécrire est un premier instinct sensé, mais pas vraiment pratique dans cette situation. Si la seule raison de tout réécrire est d'obtenir du "joli" code, alors c'est une énorme perte de temps, mais c'est une raison pour ne pas changer de langue. Si toutefois vous avez vraiment besoin de changer de langue (c'est un vieux fil donc je ne me souviens pas s'il l'a fait), alors changer de langue vous oblige à tout réécrire.
jhocking
0

Ensuite, il existe un support java-api ou japi pour scriptbasic, yabasic2 et jabaco, qui est multiplateforme.

Mais bien sûr, de nos jours, de nombreux dialectes de base ont également d'autres boîtes à outils multiplateformes, ce qui pourrait bientôt ouvrir la voie à des applications de qualité à l'avenir.

kaushikkg
la source