Object oriented + Moderno linguaggio BASIC + Full-featured IDE + Documentazione al completo
KBasic è supportato sulle seguenti piattaforme:
Puoi creare moderne applicazioni BASIC per Windows, Mac OS X e Linux con sintassi BASIC ma in veste moderna.
Giunge con una sintassi simile a Java orientata agli oggetti e retrocompatibilità con VB6 e QBasic, essendone 100% compatibile, ma non è un clone VB6 o VB.NET! Sebbene abbia una sintassi simile a quest'ultimo, per quanto riguarda funzioni, oggetti simili e classi. KBasic combina la potenza espressiva di un linguaggio object oriented come il C++ con la familiarità e facilità d'uso del VB6. Consente a sviluppatori con una base installata di applicazioni VB6 d'iniziare a sviluppare per gli ambienti Mac OS X e Linux senza dover affrontare una curva d'apprendimento ripida: KBasic usa il familiare paradigma del visual design e implementa pienamente il linguaggio BASIC.
KBasic è costituito dai seguenti programmi:
È circa 5 MB di codice sorgente (C++)
130,000 righe di programmazione, 100 classi, 500 metodi in 280 file.
È veramente facile sviluppare applicazioni GUI multi-piattaforma con la ben nota sintassi BASIC in stile moderno, poiché KBasic usa il familiare paradigma visuale e implementa completamente il linguaggio BASIC. KBasic usa Qt per fornire funzionalità multipiattaforma (Qt è una tecnologia multipiattaforma leader nel mondo). |
Sommario delle caratteristiche
Nelle pagine che seguono farai la conoscenza di KBasic: anche se non posso descrivere ogni cosa in dettaglio come in un libro, descriverò alcune delle feature di KBasic ad un livello esperto. Nondimeno se conosci C++, VB6, BASIC o simili, oppure Java, non avrai difficoltà a procedere: ne condivide molti concetti.
Il libro di KBasic: il libro contiene informazioni dettagliate su KBasic; le puoi trovare nel KBasic Software Atelier nel menu 'Help'. È incluso come file PDF e HTML; quindi se sei interessato ad una trattazione riga per riga per favore fai riferimento al libro KBasic.
KBasic giunge con un'ampia documentazione ipertestuali, così puoi cliccare dove t'interessa. La parte di documentazione che probabilmente userai per la maggiore è il KBasic Language Reference; ogni link fornisce un modo diverso di navigare il KBasic Language Reference; provali tutti per vedere qual`è meglio per te. Potresti anche provare il libro di KBasic che contiene informazioni dettagliate su KBasic, e ha un sistema di ricerca testuale. Ci sono anche un numero sempre crescente di libri KBasic.
KBasic contiene molti esempi di programmi che t'insegnano a come implementare differenti tipi di task con KBasic. La maggior parte di essi ti mostrerà classi e mouduli, altri tecniche di programmazione e le basi, e alcuni semplicemente ti faranno vedere cosa è possibile.
Nota che la maggior parte degli esempi ipotizzano che tu abbia una qualche esperienza con KBasic e la programmazione Object-Oriented e perciò non sono ampiamente commentati. Se sei interessato ad una copertura riga per riga fai riferimento a “Learning Coding for Beginners” e a “The KBasic Book”.
Dettaglio feature
KBasic
KBasic non è uno, ma tre linguaggi di programmazione.
Tramite uno dei seguenti comandi puoi passare ad una delle tre modalità KBasic.
Se vuoi usare le nuovissime caratteristiche (Default) usa OPTION KBASIC
Se vuoi usare del vecchio codice VB6 OPTION OLDBASIC
Se vuoi usare del vecchissimo codice BASIC come QBASIC: OPTION VERYOLDBASIC
È possibile usare tutte e tre le modalità nel tuo programma, per es. un modulo usa un modo e un altro ne usa un altro. Semplicemente colloca una di queste righe in cima al tuo modulo. L'opzione di default è OPTION KBASIC.
Naturalmente, come altri liguaggi di programmazione, KBasic giunge con comandi per il controllo di flusso, conversione/cast, trattamento degli errori, eventi e funzioni di libreria come GUI, input o output, math e così via: vedi i riferimenti al linguaggio per maggiori info. Inoltre dovrebbero esserti familiari le seguenti parti.
Se inizi a lavorare con il tuo primo programma KBasic tieni a mente che è molto simile a VB6; hai moduli o classi e form, che lavorano assieme. Gli eventi nei tuoi form sono azionati dall'utente e puoi rispondere ad essi nel tuo programma all'interno delle subroutine: questo è quanto.
Annotazioni
Esempi di sintassi
Open Source
Stai dietro le quinte! Scopri di più sulla macchina KBasic. Puoi avere il codice sorgente di KBasic. Per saperne di più source_codes.
KBasic – Esempi
Stai dietro le quinte! Scopri di più su KBasic.
Ecco qui un esempio di programma.
Per una maggiore comprensione il programma che segue copre molti degli aspetti menzionati sopra
Const globalConst = 1 Const globalConst2 As Integer = 2 Dim globalVar As Integer = 4 Dim globalVar2 As test globalVar2 = test.Entry ' global scope Enum test Entry = 666 Entry2 Security = Entry securus secura securum End Enum Type book bkname As String * 100 isbn(1000) As Integer End Type Type address books(50) As book age As book Name[9] As Integer End Type Sub globalSub() Dim localVar = 99 End Sub ' scope a livello modulo Module module1 Public Type address age As Integer End Type Public Type module_type element AS integer End Type Public Enum module_enum Entry Entry2 Security = Entry End Enum Const moduleConst = 7 Public publicModuleVar As Integer Private privateModuleVar As Integer Sub moduleExplicit() Dim localVar = module1.publicModuleVar dim localVar2 = module1.moduleConst ' Dim localVar3 As module1.module_enum ' nome completo non consentito dopo AS Dim localVar3 As module_enum localVar3 = module1.module_enum.Entry 'Dim localVar4 As module1.module_type ' nome completo non consentito dopo AS End Sub Sub moduleImplicit() dim localVar = publicModuleVar dim localVar2 = moduleConst dim localVar3 as module_enum localVar3 = module_enum.Entry dim localVar4 as module_type End Sub Sub moduleSubWithDefaultArgument(ko as integer = 6) dim localVar = ko End Sub Sub moduleSubWithOptionalArgument(Optional ko As Integer) If Not IsMissing(ko) Then dim localVar = ko End If End Sub Sub moduleSub() Const localConst = 6 dim n = localConst End Sub Sub moduleSubWithArgument(i as integer) dim localVar = i End Sub Sub moduleSubWithArgumentShadowing(i2 as integer) Dim localVar = i2 Dim i2 = localVar + 99 dim i3 = i2 End Sub Sub subOverloading ( ) print "sub1" End Sub Sub subOverloading ( i as integer = 1) print "sub2" End Sub Function moduleFunction() As String subOverloading() subOverloading(88) return "hello" End function function moduleFunctionRecursive(byref i as integer) as integer if i > 6 then return 1''i ''i = i + 1 return moduleFunctionRecursive(1)''i) End function End Module ' class scope Class Walzer Public var As integer End Class Class Salsa inherits Walzer public Enum class_enum Entry Entry2 Security = Entry End Enum public type class_type element AS integer End Type const classConst = 4 public publicInstanceVar as integer Private privateInstanceVar As Integer 'Protected protectedInstanceVar As Integer Static Public publicClassVar As Integer' = 8 'dim publicModuleType as module1.module_type dim publicModuleType2 as module_type ' chiamata del costruttore genitore dentro il costruttore Sub meExplicit() dim localVar = Me.publicInstanceVar ' è lo stesso con Parent dim localVar2 = Me.publicClassVar dim localVar3 = Salsa.publicClassVar dim localVar4 = Salsa.classConst Dim localVar5 = Me.classConst ' Dim localVar6 As class_enum localVar6 = Salsa.class_enum.Entry ' Dim localVar7 As Me.class_enum ' nome completo non consentito dopo AS dim localVar8 as class_type End Sub Sub meImplicit() dim localVar = publicInstanceVar dim localVar2 = publicClassVar dim localVar3 = classConst Dim localVar4 As class_enum dim localVar5 as class_type End Sub Sub classSub() const localConst = 6 dim n = localConst End Sub Sub classSubWithArgument(i as integer) dim localVar = i End Sub function classFunction() as string return "hello" End Function ' Static Public Sub test() Throws Walzer ' Throw New Walzer ' End Sub ' Private pvtFname As String ' ' Public Property Nickname As String ' ' Get ' print "Hi" ' End Get ' ' Set ( ByVal Value As String ) ' print "Hi" ' End Set ' ' End Property End Class CLASS rumba Public latein AS INTEGER 'Public mySalsa As New Salsa 'Public mySalsa2[10] As Salsa ' Public mySalsa3[] As Salsa PUBLIC SUB dance_rumba() Print "rumba!!!" 'print mySalsa.var End Sub ' default constructor Constructor rumba () print "constructor" End Constructor Constructor rumba ( _latein as integer) Print "constructor2" latein = _latein End Constructor Destructor rumba ( ) print "destructor" End Destructor Static Sub myMsgBox(ByRef m As Double) '' m = m + 1 End Sub Static Sub myMsgbox2(Optional m As Integer) If IsMissing(m) Then '' m = m + 1 Else Print "do nothing" End If End Sub Static Function monique(ByRef i As Integer, ByVal h As Double, ParamArray b() As Variant) As Integer For i = LBound(b) To UBound(b) Print b(i) Next i Return i End Function static SUB structByReference(byref m AS address) ''m.name[2] = 71 End Sub ' static SUB structByValue(byval m AS address) ' struct passata per valore non consentita ' m.name[2] = 71 ' End Sub ' Static Function returnStructByVal() as address ' restituzione di struct non consentita ' dim m AS address ' ''m.Name[2] = 71 ' return m ' End Sub ' static SUB arrayByRef(byref m[] AS address) ' argomento array non consentito ' m[8].name[2] = 71 ' End Sub ' Sub test(ByRef t(8) As Long) ' array a dimensione fissa non consentito ' End Sub ' Sub test2(ByVal t(8) As Long) ' array a dimensione fissa non consentito ' End Sub ' Static Function returnArrayByRef() as adress[] ' restituzione di un array "aperto" non consentita ' dim m[8] AS address ' m[1].Name[2] = 71 ' return m ' End Sub ' static SUB arrayByRef(byref m[][] AS address) ' m[8][9].name[2] = 71 ' End Sub ' ' Static Function returnArrayByRef() as adress[][] ' restituzione di un array "aperto" non consentita ' dim m[8][6] AS address ' m[1][4].Name[2] = 71 ' return m ' End Sub END CLASS DIM j(5 TO 10) AS address ''j(3).namer(6) = 123 ''j(1).age.isbn(10) = 1000 ''j[2].namer[1] = j(3).namer(6) + j(1).age.isbn(10) 'Dim Emp As rumba = New rumba DIM r AS NEW rumba r.dance_rumba() 'With r ' .dance_rumba() 'End With 'Print r.latein 'Print r.mySalsa.var Print globalVar ' accessibile ovunque Print globalVar2 ' accessibile ovunque Print globalConst ' accessibile ovunque publicModuleVar = 99 Print publicModuleVar Salsa.publicClassVar = 111 Print Salsa.publicClassVar print moduleConst DIM m = 1 AS INTEGER 'PRINT rumba.monique( h:=12.2, i:=m ) ''Print rumba.monique(m, 12.2, 5, 8, 7) ' TRY ' Salsa.test() ' CATCH (b AS Walzer) ' PRINT "got you!" ' End Catch '
PERCHÉ KBASIC È UTILE PER LA COMUNITÀ LINUX, WINDOWS O MAC OS X?
Nel 21º secolo dovrebbe essere benevenuto il concetto che chiunque sia in grado di programmare un'interfaccia. La programmazione non ha bisogno di essere riservata ai pochi che sanno, dovrebbe essere semplice come navigare nel web.
La vera alternativa
Un moderno computer è ancora inefficiente come dispositivo per risparmiare il lavoro perché richiede una programmazione. Ora se più persone sanno programmare tutto quello di cui hanno bisogno facilmente e velocemente significa che non hanno bisogno d'imparare la sintassi e le parole chiavi - forse chiunque saprà usare un computer.
Probabilmente hai già sentito riguardo allo 'sporco e inefficiente codice' e alle 'cattive abitudini' che i programmatori VB acquisiscono. Questo era vero nel 1960, degli anni '70 e '80 quando eri forzato ad ottimizzare per un minimo consumo di RAM e uso della CPU. Oggigiorno, con quasi ognuno che usa almeno un processore di classe Pentium con 32 MB di RAM, non te ne devi preoccupare.
Ritorno al Basic!
Lascia stare la disciplina, abbraccia l'usabilità e la semplicità!
KBasic ci porta vicino a questa realtà.
Leggi di più
Cos'è?
BASIC = Beginners All-purpose Symbolic Instruction Code (N.d.T.: Codice d'Istruzione Simbolico per principianti)
Standard BASIC
Esempio: IF a = 5 AND b < 20 THEN fai qualcosa ELSE fai qualcos'altro
Parole chiavi: IF, THEN, ELSE, ELSEIF, ENDIF, FOR, EACH, NEXT, LOOP, DO, WHILE, GOTO, GOSUB, INTEGER, STRING, BOOLEAN, LONG, DIM, AS, SUB, FUNCTION, SELECT, CASE, END, TYPE, PRIVATE, PUBLIC, EXIT, OPTION, EXPLICIT, COMPARE, ON, ERROR, STOP, AND, OR, XOR, NOT …
Funzioni per i file: ACCESS, APPEND, BINARY, INPUT, OUTPUT, RANDOM, CHDIR, MKDIR, RMDIR, FILES, CLOSE, EOF, FILEATTR, FREEFILE, KILL, LOC, LOF, PRINT, NAME, RESET, SEEK, SHELL, WITDH, WRITE …
Funzioni aggiuntive: BEEP, DATE, HEX, TIME …
Funzioni matematiche: ABS, ATN, COS, SIN, TAN, EXP, LOG, SGN …
Regolari tipi di dati: INTEGER, STRING …
Tipi di dati definiti dall'utente: TYPE, ARRAY …
Estensioni KBasic
Voglio che l'utente utilizzi moderne tecniche di programmazione. A tal scopo, ho aggiunte alcune nuove feature al linguaggio BASIC standard.
Cosa posso farci?
È possibile fare molto con BASIC. Sai quale linguaggio usano per la maggiore molti veri scienziati, non scienziati del computer, per testare le loro teorie e costruire dei demo per i colleghi? BASIC. È facile da usare e ha abbastanza grafica per semplici simulazioni. Non solo VB, di solito è stato il QBasic per il vecchio DOS o una variante BASIC nel Macintosh.
Chi ne ha bisogno?
Esempi storici
“Dove sono le applicazioni?”
Ricorda la situazione con OS/2 (un cattivo esempio). Il suo “successo” ha languito per anni.
Ci sono centinaia di applicazioni VB commerciali; si usa molto il Visual Basic nel business per la sua facilità d'uso. Ora se potessero fare il porting di queste applicazioni su Linux …
Perché BASIC?
Utile per Linux / Mac OS X / altri progetti?
Poiché più grande la base degli utenti Linux/Mac diventa, ci sarà più volonta da parte dei produttori hardware e software di fare il porting di software esistente, fornire drivers, o scrivere del nuovo software. Vedranno un possibile profitto invece di una semplice buona volontà di fare una donazione alla comunità Linux/Mac.
Ciò che fa Linux/Mac quello che è adesso e quello che diventerà è il risultato diretto di persone che ci lavorano. E più persone che scoprono Linux/Mac salgono a bordo, maggiori saranno le possibilità.
Penso che portare BASIC in Linux/Mac manterrà il trend di flessibilità.
Perché ho iniiziato un nuovo progetto BASIC?
Domanda sui limite della licenza
Q: Ho bisogno di una licenza Qt, se voglio sviluppare applicazioni open source o programmi privati?
A: No, non ne hai bisogno.
Q: Ho bisogno di una licenza Qt, se voglio sviluppare applicazioni commerciali, che non sono open source?
A: Sì, ne hai bisogno. puoi avere una licenza Qt da Trolltech. Vedi www.trolltech.com.
Q: Ho un Mac e sarò l'unico ad usare il tuo package. La mia domanda è di quante copie ne avrei bisogno? Ho una torre G5 che uso per la maggior parte del tempo e un portatile che uso solo quando sono lontanto dalla mia tower. Alcuni accordi dicono che è richiesta una sola copia fintanto che soltanto una viene usata allo stesso. Altre aziende richiederebbero due copie persino se solo una verrà usata allo stesso tempo.
A: Hai bisogno di una sola licenza, se desideri usarla nel tuo G5 o laptop.
Q: Perché KBasic non supporta controlli ActiveX?
A: Perché ActiveX gira solo in Windows e KBasic è un linguaggio multipiattaforma. Supportarlo significa attenersi solo a Windows. Cerca invece di scrivere i tuoi ActiveX usando KBasic. Ad ogni modo hai pieno accesso alle API di Windows o ad ogni DLL. Seguirà l'accesso ai file *.SO in Linux e Mac.
QUAL'È LA DIFFERENZA TRA VB.NET E KBASIC?
Porting di applicazioni VB su Linux o Mac OS X
Vedi il confronto tra Visual Basic e KBasic, i paragrafi che seguono ti mostrano dove sono diversi in relazione al porting dei tuoi progetti. Per la prima volta nella storia dei computer, con il rilascio di Visual Basic.Net, molti sviluppatori Visual Basic sono stati lasciati indietro. VB è cambiato così tantto che non è possibile aprire e far girare del vecchio codice VB6. È richiesto agli sviluppatori Visual Basic di modificare il loro codice sorgente poiché .NET non può eseguire quel codice senza una modifica. Quindi se sei uno sviluppatore Visual Basic, farai il porting dei tuoi progetti o rimarrai al vecchio VB6. Porting significa imparare ad usare nuove parole chiavi, che in generale non funzionano come nel vecchio codice. In effetti, perché dovresti passare a .Net? Dopo aver imparato un nuovo linguaggio (.NET), che richiede cambiare significativamente la base del tuo codice sorgente, tu e il tuo progetto rimarreste legati ad un imponente “framework” e sotto Windows, avresti un programma che gira solo in Windows. Qual'è quindi l'alternativa? Invece d'imparare un nuovo linguaggio e IDE, meglio usare la conoscenza che hai gia. Usa KBasic! La maggior parte del tuo codice Visual Basic rimarrebbe intatto, come i form; la sintassi KBasic ne è compatibile al 100%, il che significa che le keyword sono identiche, includendo Mid, Left, Abs e così via.
Sorprendentemente
Sorprendentemente, in KBasic, a differenza di altri BASIC, Mid assegna una stringa come l'istruzione Mid in VB6. Quasi tutto il codice Visual Basic si traduce direttamente in quello KBasic. Ovviamente ci sono dei controlli che non funzionano allo steso modo, ma nel complesso le difference non sono nella sintassi, ma nel modello ad oggetti, che ha qualchevolta diversi controlli o nomi di proprietà. I controlli (form e checkbox e così via) di KBasic e Visual Basic sono uguali. KBasic ha più keyword built-in, per fornire compatibilità in avanti e all'indietro con VB6 e object orienting in generale. Come in VB6 le stringhe sono le stesse in KBasic, per far funzionare il vecchio codice. KBasic and Visual Basic hanno comunque le loro specifiche keyword; ad esempio Visual Basic ha Int, GoSub e Space.
I programmi KBasic girano su Linux e Mac
Non devi scrivere codice extra per simulare VB6 in applicazioni KBasic: questo è già stato fatto per te, per cui non hai problemi di perfomance come in altri BASIC. Inoltre KBasic ha Min e Max che Visual Basic non ha. Per facilitarti le cose, assicurati di spendere del tempo con il 'Manuale - Il Libro di KBasic' e i riferimenti al linguaggio. Un altro suggerimento e di testare e giocare con KBasic. Normalmente non ci sono differenze che richiedono di riscrivere il tuo codice Visual Basic; tutto il codice gira senza cambiamenti fintanto che sono coinvolti controlli e altri oggetti. Tra l'altro ci sono anche linee di codice in KBasic se ne hai bisogno. Programmi Visual Basic girano solo in Windows, quelli KBasic girano su Linux e Windows. KBasic ha un più ricco set di tipi di dati rispetto Visual Basic; pertanto ci sono tipi incompatibli tra i due. Il tipo Boolean ha dimensioni di un byte in KBasic, in VB6 occupa 2 byte. L'Integer (Long) is 32bit (64bit) in KBasic, in VB6 16bit (32bit). In aggiunta KBasic ha nuovi tipi di dati, come gli interi Int16/Int32 (che hanno dimensioni 16/32bit).
Non ci sono molte differenze
Non ci sono molte differenze su come i dati sono strutturati; entrambi offrono moduli, form e classi. Nessuna differenza neanche nelle strutture dati. Visual Basic ha tipi di dati definiti dall'utente, KBasic pure. KBasic e Visual Basic sono simili ma non uguali, KBasic fornisce alcune extra keyword e funzionalità, per usare alcune delle nuove feature object oriented ( che altri linguaggi come Java o C++ forniscono da anni). Puoi usare queste nuove caratteristiche in KBasic o solo il vecchio VB6 stuff. La gestione degli errori è più robusta e flessibile in KBasic che in Visual Basic. KBasic offre due metodi per gestire gli errori: Eccezioni, che si applicano ad un intero metodo, e blocchi Try-Catch, che si applicano a specifiche sezioni di codice; ma se vuoi utilizzare la vecchia maniera di gestione degli errori Visual Basic, il meccanismo On Error è supportato allo stesso modo. In effetti non passare a .Net! Scegli invece il porting a KBasic che ti dà tutto il supporto Windows, Mac e Linux; nessun enorme runtime, requisiti di sistema minimi, e portabilità del codice.
Almeno, prima d'iniziare con .Net, dovresti provare KBasic. Potresti scoprire che fa al tuo caso fare al tuo caso; ad ogni modo ti viene in aiuto uno strumento per convertire progetti VB.
KBasic è un compilatore BASIC alternativo
Perché KBasic è un compilatore BASIC alternativo per Windows, Mac OS X e Linux? KBasic è veramente ben fatto, è un potente linguaggio di programmazione e ha un completo IDE, e un ambiente RAD veramente professionale, molto simile a VB6. Ha centinaia di funzioni e comandi, può compilare applicazioni Linux o Mac OS X da Windows (o viceversa) ed è cross platform. È almeno disponibile per Windows XP/2000, Mac OS X e Linux/i386; genera eseguibili standalone EXE/BIN e ha un IDE di grande aiuto per i principianti. Il linguagfio KBasic includes un designer visuale per costruire GUI con elementi come finestre, form, menu e controlli data aware tra cui pulsanti, etichette e frame, textbox, pulsante radio, combo box, list box, check box… L'unica vera alternativa a VB6: KBasic nacque come progetto open source nel 2000… KBasic è uno strumento di sviluppo professionale, poiché offre tutti quegli elementi per creare prodotti professionali. KBasic fornisce una singola, facile da usare API per scrivere applicazioni GUI multipiattaforme con il look and feel (N.d.T: aspetta) appropriato per quel sistema. L'IDE veramente ben ideato e completo di tutti i tool di cui ha bisogno il programmatore tra cui un help sensitive-to-the-context (N.d.T.: sesnsibile al contesto).
*Linguaggio ben definito La struttura del linguaggio, le istruzioni e funzioni sono davvero facili da capire e la documentazione è completa e ben scritta. Giunge assieme ad un manuale stampabile di più 140 pagine che descrivono in dettaglio il gran numero di comandi, istruzioni e funzioni. Un potente e full-featured linguaggio Basic-like: completamente orientato agli oggetti e compilato in byte-code compiled. La sintassi è molto simile a VB6 e ne supprota i più comuni metodi e proprietà. È un linguaggio object-oriented e quindi usa l'ereditarietà e il polimorfismo. L'IDE offre la gestione e l'editing delle proprietà, il syntax highlighting, il completamento del codice, e il debugging del codice; tramite un debugger con breakpoint, a passo singolo, e ispezione delle variabili con visualizzazione dei valori in un'apposita finestra o posizionando il mouse sopra la variabile. La caratteristica principale di KBasic è che è stato creato epr consentire a sviluppatori VB6 d'iniziare a programmare in Linux o Mac OS X senza dover imparare un nuovo linguaggio. KBasic è un linguaggio ad alto livello per Linux, Mac OS X e Windows, costantemente aggiornato e migliorato. ====== VB6 vs. KBasic ====== QUAL'È LA DIFFERENZA TRA VB6 E KBASIC? In generale entrambi sono quasi uguali * La sintassi di KBasic è compatibile al 100% (parole chiavi come DIM, IF, SELECT CASE…) * L'IDE di KBasic è molto simile a VB6 (Form Designer, Syntax Highlighting, Auto Completion, Builtin-Help…) * KBasic supporta molti controlli, che sono molto simili a quelli di VB6 (Form, CommandButton, TextBox…) * KBasic giunge con un ricco set di oggetti VB6 (Application, …) * KBasic è in grado di creare applicazioni standalone (EXE, BIN…) * KBasic è in grado di usare molti database (in un prossimo futuro: MySQL, ODBC…) * KBasic non supporta ActiveX, poiché ActiveX è limitato a Windows Liberarsi di VB6 KBasic supporta la sintassi di VB6 al 100%. In aggiunta, molti componenti GUI li sono familiari. Ed è possibile sviluppare applicazioni GUI con la ben nota sintassi BASIC in veste moderna. KBasic giunge con un orientamento agli oggetti veramente Java-like e supporto all'indietro per VB6 e QBasic. KBasic combina la potenza espressiva di un linguaggio orientato agli oggetti come il C++ con la familiarità e facilità d'uso del VB6. Consente agli sviluppatori con una base di applicazioni VB6 d'iniziare a sviluppare in un ambiente misto Windows, Mac OS X e Linux senza dover fronteggiare una curva d'apprendimento ripida: KBasic usa il familiare paradigma di visual design e implementa pienamente il linguaggio BASIC. Perché KBasic ha successo Traditionalmente i linguaggi hanno sofferto dell'atteggiamento che dovresti abbandonare tutto quello che conosci e iniziare a sviluppare da zero con un nuovo insieme di concetti e una nuova sintassi, sostenenedo che è meglio alla lunga perdere tutto il bagaglio acquisito. Questo potrebbe essere vero alla lunga, ma nel breve tempo molto di quel bagaglio era di valore. Gli elementi di maggior valore potrebbero non essere il codice di base esistente, ma invece la base mentale preesistente. Se sei un abile programmatore VB6 e devi abbandonare tutto quello che sapevi su VB6 per adoottare un nuovo linguaggio, diventi subito molto meno produttivo per mesi, fino a che la tua mente si adatta al nuovo paradigma. Laddove se puoi usare a tuo vantaggio la tua conoscenza di VB6 ed espanderla, puoi continuare ad essere produttivo con quello che gia sai mentre ti muovi nel mondo della programmazione orientata agli oggetti. Poiché ognuno ha il suo modello di programmazione, questa mossa è abbastanza chiara dato che si evita lo sforzo aggiuntivo d'imparare un nuovo linguaggio di programmazione. Il problema dell'imparare un nuovo linguaggio è la produttività. Nessun'azienda può permettersi di perdere improvvisamente la produttività di un ingegnere del software, poiché sta imparando un nuovo linguaggio. KBasic è molto simile a VB6, non un modello di programmazione e sintassi completamtne nuovo. Ti consente di continuare a creare codice utile, applicando gradatamtne le feature mentre le impari e le comprendi. Questa potrebbe essere una delle più importanti ragioni del successo di Kbasic. In più la maggior parte del codice VB6 gira ancora in KBasic. Sorprendentemente Perché KBasic è un alternativa BASIC Windows, Mac OS X e Linux? KBasic è costruito bene, è un potentre linguaggio di programmazione e ha un completo IDE e un ambiente RAD molto simile a VB6, per cui ne è una valida alternativa. Ha centinaia di comandi e funzioni. Può compilare applicazioni in Linux o Mac OS X nella versione Windows (o viceversa) ed è cross platform. È al momento disponibile per Windows XP/2000, Mac OS X e Linux/i386 e genera eseguibli EXE/BIN standalone. Il linguaggio KBasic include un visual designer per costruire la GUI con oggetti come window, form, menu e data control quali pulsanti, etichette e frame, textbox, pulsanti radio, combo box, list box, check box… L'unica vera alternativa a VB6 KBasic iniziò nel 2000 come progetto open source… KBasic è uno strumento di sviluppo professionale, fornendo tutti quegli elementi per il design e la creazione di prodotti professionali. KBasic fornisce una singola, easy-to-use API per scrivere applicazioni GUI multi-piattaforma che adottino il look and feel proprio di quel sistema. L'IDE è stato ideato bene e si completa con tutti gli strumenti di cui necessita il programmatore tra cui un help sensitive-to-the-context (NdT.: Sensitivo al contesto). La struttura del linguaggio, le istruzioni e funzioni sono veramente semplici da comprendere e la docuemntazione è scitta bene e completa. Giunge con un manuale stampabile ben fatto con più di 140 pagine che descrivono in dettaglio il gran numero di comandi, istruzioni e funzioni. Un potente fully-featured linguaggio Basic-like: object-oriented e compilato in byte-code. La sintassi è molto simile a VB6 e il linguaggio ne supporti proprietà e metodi più comuni. È pienamente orientato agli oggetti e quindi usa ereditarietà e polimorfismo. L'IDE offre anche project managment e property editing, syntax highlighting, code completion (Ndt: completamento del codice), e modalità debugging; tramite un debugger codice sorgente con breakpoint e single stepping, step-through code (NdT: muoversi attraverso il codice), visualizzazione delle variabili in una finestra speciale o muovendo il mouse sopra la variabile nell'editor. La caratteristica principale di KBasic è che è stato creato per consentire a sviluppatori VB6 d'iniziare a programmare in Linux e Mac OS X senza dover imparare un nuovo linguaggio. Linguaggio Basic Professionale**
KBasic è un linguaggio Basic (ad alto livello) per Linux, Mac OS X e Windows ed è costantemente migliorato e aggiornato.
Il codice sorgente di KBasic è copyright di Bernd Noetscher 2000 - 2007. Tutti i diritti riservsti.
Puoi usarlo sotto i termini della GNU Public License come pubblicato dalla Free Software Foundation (versione 2); se sei interessato ad usare il codice per altre licenze o sviluppo commerciale, puoi acquistare delle licenze da KBasic Software.
KBasic Software offre il codice sorgente della GUI e della VM su Windows, Mac e Linux, per scopi non commerciali. Questo comprende IDE, form designer, toolbox, property window, source code editor con syntax highlighting, code completition, bookmarks, breakpoint, source code browser, builtin help, help file generator, project window, eccetera.
Puoi ottenere una copia del codice sorgente (GUI e VM) in una forma umanamente leggibile sotto i termini della licenza GPL versione 2, gratuitamente eccetto il costo del dispositivo, imballaggio e spedizione (30€), scrivendo a KBasic Software.