Quanto è maturo FreeBASIC? [chiuso]


10

Un mio amico sta pensando di utilizzare FreeBASIC in un ambiente di produzione critico. Attualmente usano GWBasic e vogliono fare una transizione dolce verso linguaggi più moderni. Sono solo preoccupato che potrebbero esserci dei bug non rilevati nel software. Vedo che il loro numero di versione è 0.22.0, il che indica che non è ancora abbastanza maturo. Ho anche letto questa discussione, senza riuscire a concludere. Anche sulle loro pagine di Sourceforge non vi è alcuna indicazione se si tratti di Alpha o Beta (che comunque non è un ottimo indicatore). Qualcuno ha la propria esperienza sulla maturità, idee su come giudicare la maturità o conoscere le aziende che utilizzano FreeBASIC in un ambiente di produzione critico?


23
Se stanno usando GWBasic qualcosa è un miglioramento.
Craig,

1
I forum di FreeBASIC sembrano un posto migliore per porre questa domanda.
Matt Ellen,

2
@David Hanno un ambiente di test? Potrebbe valere la pena eseguirne uno e assumere come consulente uno degli sviluppatori del progetto, in modo che lui / lei possa correggere i bug trovati nell'esecuzione del test.
Vitor Py,

4
Ho il sospetto che il passaggio da GWBasic a un altro dialetto BASIC non sarà così "morbido" come pensi. La legge di Hofstadter si applica soprattutto alle riscritture.
Rein Henrichs,

1
I numeri di versione sono cose molto specifiche del progetto. Alcuni progetti riservano la cifra maggiore a qualcosa di molto speciale e continuano a far rivivere le versioni minore e micro.
Lars Viklund,

Risposte:


8

Spero che non sia troppo tardi per scavare un vecchio thread.

Ho usato FreeBASIC in un ambiente industriale per 5+ anni e l'ho trovato solido come una roccia. In realtà ha funzionato molto bene intorno allo 0.1, con una crescente compatibilità con QuickBASIC, ed è lentamente cresciuto per superare quelle radici e diventare più "serio", ma si può dire che funzioni in una modalità compatibile con il QB quasi al 100%. Rilasci abbastanza grandi vedono solo il numero di versione aumentare di 0,01.

Suggerisco al tuo amico di portare GWBASIC su MS QuickBASIC, il che dovrebbe essere abbastanza semplice (l'ho già fatto prima, non è progettato per la compatibilità al 100%?). FreeBASIC ti offre quindi un'opzione del '21 ° secolo' per l'esecuzione nativa come app a 32 bit, nel caso qualcuno ne avesse bisogno. Altrimenti con Windows 7 ecc., Sei bloccato usando una VM che esegue DOS o qualcosa del genere.


10

PureBasic è probabilmente la soluzione migliore al posto di FreeBASIC, ma se fossi in te, probabilmente cambierei in un linguaggio più moderno e robusto come C # o Python.


3

Il migliore BASIC da utilizzare per l'aggiornamento da GWBASIC è PowerBasic (www.powerbasic.com). Molti l'hanno già fatto in precedenza, quindi c'è molta esperienza nella comunità degli utenti di Powerbasic se hai bisogno di assistenza lì.

Inoltre Powerbasic è un prodotto di alta qualità quasi senza problemi / bug e sviluppato attivamente. Non è gratuito ($ 199) ma vale ogni centesimo.

Cordiali saluti: Non sono affiliato con loro e uso VB.NET da solo (per motivi professionali; altrimenti sarebbe Powerbasic ...).


3

Powerbasic è abbastanza maturo e lo consiglierei vivamente, soprattutto se l'affidabilità e l'ottimo supporto sono importanti per te. Personalmente non lo uso più perché non è realmente progettato per la programmazione di giochi - per il quale utilizzo (e consiglio) il BlitzMax multipiattaforma.

Detto questo, Freebasic non dovrebbe essere un grosso ostacolo se vieni da GWBasic, e sembra essere anche ragionevolmente stabile. Anche la documentazione e il supporto del forum sono migliori della media.

Tuttavia, se fossi una società (al contrario di un individuo) alla ricerca di una soluzione che sarà lì e supportata per il prossimo futuro, andrei con qualcosa come Powerbasic. ecco un programma che può convertire QBasic in Powerbasic: http://www.powerbasic.com/support/downloads/files/QB2PBv2.zip

Spero che sia di aiuto! Russell


3

Questi sono i seguenti dialetti di base che sono validi sia come compilatore che come script incorporabile:

1) gambas

Questi sono i seguenti dialetti di base che funzionano solo come compilatore ma possono incorporare altri script:

2) jabaco

3) obiettivo di base

4) freebasic

5) chipmunkbasic

Questi sono i seguenti dialetti di base incorporabili che sono buoni e possono essere incorporati in altri dialetti di base a seconda dei framework:

6) scriptbasic

7) maven-sb4j

8) ajbasic

Tutti questi possono anche essere usati per creare applicazioni gui che differiscono tra loro, strumenti di connessione al database e nell'area delle applicazioni incorporabili (pagine del server web), scriptbasic e gambas-gbs3 sono già lì, mentre se riesci a ottenere fb-curl e fb-simplewebserver e integrarli nel framework freebasic, quindi anche nelle pagine del server freebasic (se non ci sono, potrebbe essere necessario scaricare e copiare e incollare i file di libreria e intestazione nella lib e includere rispettivamente la directory di freebasic). Anche jabaco può incorporare maven-sb4j, oppure objectbasic e chipmunkbasic possono incorporare rispettivamente applecript e scriptbasic. Quindi è probabile che questi abbiano una soluzione per la maggior parte dei requisiti.

Se sei molto particolare con la compatibilità di gwbasic, scegli bwbasic (gwbasic migliorato per freebsd e linux), ma non penso che ci sia molta differenza con alcuni altri.

Tuttavia per la grafica con bwbasic devi fare i conti con le opzioni basate su x11 o attendere fino a quando non aggiunge il supporto per tk, fox e altri toolkit ben noti.

Se sei disposto a cercare:

Ambiente di sviluppo simile a vb + pagine di server di base, quindi scegli gambas o jabaco con maven-sb4j.

Interprete robusto supportato da un ide sottile ma buono: freebasic, e se puoi ottenere fb-curl e fb-simplewebserver e integrarli in framework freebasic, allora anche freebasic-server-pages.

Motore Web robusto per pagine server di base, quindi scriptbasic e thinbasic.

Quindi, questi sono tutti robusti e possono diventare utilizzabili almeno dopo aver aggiunto alcuni moduli.

Preso in prestito alcune funzionalità minori da python / perl / ruby: scriptbasic (e anche yabasic3)

Sintassi semplice e molto standard: in futuro sarebbe obasico (openbasic), attualmente freebasic e scriptbasic sono due gusti diversi o di base tradizionale, mentre gambas e jabaco sono dialetti vb6 vari.


2

Qual è esattamente il tuo caso d'uso? O meglio il caso d'uso del tuo amico. Li indirizzerei verso Python (o qualsiasi altro linguaggio ampiamente usato ma anche semplice) ma forse c'è qualche motivo specifico per cui devono usare un dialetto BASIC.

Sono tutto per giocare con varie lingue in progetti personali, ma per scopi di produzione critici in genere mi attengo a lingue ampiamente conosciute, ampiamente supportate e molto testate in battaglia.


3
Questa non è una risposta, ma più adatta come commento. Il caso d'uso è che viene utilizzato per il calcolo aziendale critico di costi dei materiali, costi di manodopera, generazione di modelli 3D, ecc. L'attuale programma GWbasic ha circa 30.000 righe di codice (create da un singolo sviluppatore), motivo per cui un più piccolo la riscrittura è preferita rispetto a Python, che richiederebbe una riscrittura completa.
David,

5
Non conosco personalmente FreeBASIC o GWBasic ma sospetto che non sia una piccola riscrittura. La maggior parte dei dialetti BASIC che ho incontrato sono in realtà abbastanza diversi l'uno dall'altro. Pure Basic, Real Basic, Blitz Basic, GL Basic, ecc. Sono concettualmente molto simili (ad es. Non orientati agli oggetti) ma la sintassi è completamente diversa.
jhocking

Sono tentato di sottovalutare chiunque preferisca il codice "carino" a quello funzionante. Sembra che abbiano una vasta gamma di GWBASIC provati e testati, sono contenti della sua funzionalità, vorrebbero semplicemente passare a un linguaggio più moderno senza dover riscrivere o riprogettare tutto, il che è perfettamente sensato. Riscrivere un sistema legacy di grandi dimensioni è uno dei compiti più ardui che tu possa mai intraprendere!
James Anderson,

Passare a un linguaggio più moderno senza riscrivere tutto è un primo istinto sensato, ma non molto pratico in questa situazione. Se l'unico motivo per riscrivere tutto è ottenere un codice "carino", allora sì, è una grande perdita di tempo, ma è un motivo per non cambiare lingua. Se tuttavia hai davvero bisogno di cambiare lingua (questo è un vecchio thread, quindi non ricordo se lo avesse fatto), cambiare lingua ti costringe a riscrivere tutto.
jhocking

0

Poi c'è il supporto java-api o japi per scriptbasic, yabasic2 e jabaco, che è multipiattaforma.

Ma ovviamente oggi molti dialetti di base dispongono anche di altri toolkit multipiattaforma, che presto potranno aprire la strada a applicazioni di qualità in futuro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.