Liberty BASIC
Liberty BASIC (LB) is een commerciële programmeertaal en integrated development environment (IDE) die draait op 32- en 64-Bit (32- Bit Modus) versies van Windows.

Achtergrond
Liberty BASIC is geschreven door Carl Gundel en zijn eerste versie werd gepubliceerd in 1992, door zijn bedrijf Shoptalk Systems en wordt sindsdien regelmatig bijgewerkt. De laatste gepubliceerde update van de software was in 2017. De huidige versie is v4.5.1. Deze versie draait ook op Windows Vista, Windows 7, Windows 8(.1) en Windows 10.

Liberty BASIC wordt in diverse publicaties en verwijzingen over programmeertalen als voorbeeld taal gebruikt bij het programmeren van Windows, met inbegrip van het boek Beginning Programming For Dummies door Wallace Wang.

Liberty BASIC heeft bijna geen beperkingen als zeer geavanceerde programmeertaal, maar het wordt zeer acceptabel gevonden als een goede bruikbare inleiding tot het programmeren van IDE voor de gemiddelde en gevorderde gebruikers van Windows inclusief Vista en Windows 7. De OS/2 versie is zeer oud, maar gratis. Een nieuwe versie die op Windows, Macintosh en Linux zal draaien wordt momenteel actief ontwikkeld.

De compiler herkent zijn eigen dialect van de programmeertaal BASIC.

De programmeertaal dialect en IDE heeft een eigen marktgebied ontwikkeld voor beginnende en gevorderde programmeurs die de vaardigheden van programmeren willen leren. Hoewel het nog minder bekendstaat als commercieel product is het daar ook geschikt voor en betekent dit niet dat Liberty BASIC alleen geschikt is voor onderwijssoftware. Het is een product met een commerciële potentie.

De huidige versie, draait alleen op Microsoft Windows, maar aan versie 5 wordt momenteel druk gesleuteld en die draait eveneens op Mac OS en Linux systemen.

Eigenschappen
 LSN listings (interactief programma voor oefenen en leren speciaal voor de beginner) 
 FreeForm programma om vensters met controls e.d. te ontwerpen. (visueel ontwikkel hulpmiddel, geschreven in Liberty BASIC) 
 Een Debugger fouten opsporingsprogramma 
 Openen van DLL s en Application Programming Interfaces om de functies daaruit te gebruiken. 
 Liberty BASIC is in staat via de ODBC-methode te communiceren met alle denkbare databases
 Graphics mogelijkheden om tekeningen te programmeren in kleur
 SPRITE animatie, geluid, muziek, en joystick controle 
 Een aanvullend pakket genaamd ASSIST met vele nieuwe eigenschappen, zoals een code opmaak, het plaatsen van versie nummer bij bron codes, prestaties toetser, makkelijk te gebruiken browser voor het aangeven van code verschillen, en een beter compressie- en distributiesysteem

Bronnen
 Websites voor broncode en volledig werkende programma's. Nederlandstalig forum. Liberty BASIC Nederland
 Liberty BASIC Programmer's Encyclopedia (omvat onder andere een archief van de LB - bulletins bestaande uit 143 nieuwsbrieven van verscheidene jaren) 
 Actieve forums waar de gebruikers elkaar helpen, problemen bespreken, elkaar tips geven en waar deelgenomen wordt aan programmeerwedstrijden en communautaire projecten (zie links hieronder)
 Helpbestanden en tutorials in het Nederlands. Nederlandse Website
 Beginning Programming with Liberty BASIC (engels) bij Lulu , bij Amazon
 APIs for Liberty BASIC (engels), bij Lulu , bij Amazon

Onderscheidende elementen en eigenschappen van de taal

Met Liberty BASIC kun je programma's maken in zowel de MSDos stijl (toetsenbord) als in GUI Windows (grafische omgeving) met muis en toetsenbord besturing. Bovendien is Liberty BASIC gebaseerd op EVENT/DRIVEN programmering. Liberty BASIC maakt gebruik van het Windows besturingsprogramma waarbij de programmeur de verscheidene types vensters en de standaard windows controles zoals knoppen, menu's, textboxes, etc. kan benutten.

De kerngedachte bij het creëren van Liberty BASIC was om de behandeling van vensters naar analogie syntaxis van het werken met bestanden te doen. Bijvoorbeeld, (uit de help file van Liberty BASIC):

"Het OPEN commando opent communicatie met een apparaat, hetgeen kan zijn een disk file, een venster, een dynamic link library of een seriële communicatie poort."

 OPEN device FOR purpose AS #handle {LEN = n}

Deze algemeen toepasbare syntaxis is een van de eigenschappen van LB die het tot een eenvoudig te leren taal maakt.

Zodra een “apparaat (device)” geopend is, kunnen gegevens en ook bevelen voor de besturing van dit device naar dit device worden “geprint“. Voor elk type van apparaat is er een reeks bevelen die op deze wijze naar kunnen worden verzonden. In de recentere versies van LB kan het woord „print“ uit de print statement worden weggelaten, waardoor de syntaxis nog eenvoudiger is geworden.

Eenvoud staat centraal bij Liberty BASIC. Slechts twee variabelentypes worden ondersteund in LB4.03: numeriek en karakterreeks. Geen typeverklaringen worden vereist: elke variabele met een $-teken aan het eind van zijn naam is een strengvariabele; anders is het een numerieke variabele. De vereiste nauwkeurigheid van de numerieke variabelen wordt automatisch toegepast. Voor het aanroepen van APIs of het aanroepen van DLLs van derde partijen waren toch extra data types (STRUCT) nodig. Het werken en aanroepen van DLLs is daarom toch niet ook eenvoudig geworden.

Licentie informatie

De GOLD licentie stelt u in staat opzichzelfstaande toepassingen te maken die een runtime-engine en enkele hulp bestanden gebruiken (uw programma wordt gecompileerd naar zogenaamde P-code). Opzichzelfstaande (standalone) toepassingen vereisen niet dat u uw broncode prijsgeeft.

Zie ook
Just BASIC

Externe links
 Liberty BASIC Nederland
 Liberty BASIC
 Liberty BASIC programmers Encyclopedia
 blog van Carl Gundel auteur van Liberty BASIC 
 Engelstalig forum 
 vervallen Engelstalig forum

Liberty BASIC
Software-ontwikkelomgeving