Liberty BASIC

Liberty BASIC
ParadigmEvent-driven, Procedural
Designed byCarl Gundel
DeveloperShoptalk Systems
First appeared1992; 33 years ago (1992)
Stable release
4.5.1 / May 31, 2017; 7 years ago (2017-05-31)
Typing disciplineDynamic, weak
OSMicrosoft Windows; Linux in unreleased Liberty Basic 5
Licenseproprietary
Filename extensions.bas, .fr3
Websitelibertybasic.com
Major implementations
Run BASIC, GLBCC
Influenced by
QuickBASIC
Influenced
Just BASIC, Leopard
The Liberty Basic v4.03 IDE system

Liberty BASIC (LB) is a commercial computer programming language and integrated development environment (IDE). It has an interpreter, developed in Smalltalk, which recognizes its own dialect of the BASIC programming language. It runs on 16- and 32-bit Windows and OS/2.

Background

Liberty BASIC was written by Carl "Gunner" Gundel and published in its first release by his company, Shoptalk Systems, in 1991. It has progressed steadily since then. The last published update to the software, version 4.5.1, was in June 2018.[1]

Though Liberty BASIC has its share of limitations in its design for advanced programming, it provides an introductory integrated development environment, IDE, for moderate to advanced users of Windows and OS/2. Dynamic-link libraries (DLLs) are available. In its current version, it runs only on Microsoft Windows, and under Wine on Linux. Alpha testing of Liberty BASIC v5.0 is underway with versions that run on Microsoft Windows, Mac OS X, Linux and on the Raspberry Pi as well.

Liberty BASIC does not compile to native code. Instead it compiles the code written in the IDE to an encrypted file with the extension TKN. This file is then executed by an EXE file that carries the same file name, although this may change with the release of version 5.

Features

Liberty Basic v4.03 running on Linux with Wine
  • A visual development tool called FreeForm, written in Liberty BASIC and greatly extended by the Liberty BASIC community over the years
  • Source level debugger
  • calling of DLLs and application programming interfaces (APIs)
  • Color graphics capability
  • Can create games with sprite animation, sound, music, and joystick control
  • An add-on package called Assist with many new features, such as a code formatter, source code versioning, a performance profiler, an easy-to-use code difference browser, and an improved package and deployment system

Distinguishing features

Liberty BASIC allows for procedural programming in a style similar to DOS BASICs that run in console mode, using a default "main window" that displays formatted text and accepts user input. It also supports event-driven programming based on a graphical user interface (GUI), using several types of windows that may contain the standard controls such as buttons, menus, textboxes, etc.

A central idea in creating Liberty BASIC was to model the handling of windows after the syntax for file handling. For example, (from the Liberty BASIC Help File):

"The OPEN command opens communication with a device, which can be a disk file, a window, a dynamic-link library or a serial communications port."

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

Once a “device” is open, data and also commands to control that device can be “printed” to it. For each type of device there is a set of commands which can be sent to it in this way. In the more recent versions of LB the word "print" may be dropped from the "print" statement, making the syntax even simpler.

Simplicity has been at the heart of Liberty BASIC from the beginning. This makes it easier to learn but at some cost, perhaps, in limiting functionality. Only two data types are supported in LB v4.03 — numeric and string. No type declarations are required; any variable with a $ sign at the end of its name is a string variable, otherwise it is numeric. (The plan for LB v5 is to support other types and user defined types as well as these.) For the purpose of making calls to an API or third-party DLLs there is a STRUCT and the additional types necessary for the DLL. The only other data structure supported is the ARRAY. Arrays of one or two dimensions are supported. LB v5 may support arrays of user-defined types.

Notable programs written in Liberty BASIC

  • FreeForm, a GUI editor for creating GUI formats, was written in LB.

Example code

Here are some examples of the language:

"Hello, World!" program:

print "Hello, World!"
end

Program to display a pop-up message box with the words "Hello, World!" on it:

nomainwin
notice "Hello, World!"
end
nomainwin
notice "Example program" + CHR$(13) + "Hello, World!"
end

Program to display an input box:

nomainwin
prompt "Enter your name:"; response$
notice "Response:" + CHR$(13) + response$
end

Running another application:

nomainwin
run "notepad.exe"
end

Printing multiplication table of 5 on form:

[multi]
    for i = 1 to 15
        res = 5 * i
        print res
    next i
end

Alternative implementations

The GNU/Liberty Basic Compiler Collection (GLBCC), by Anthony Liguori, is a set of tools to compile Liberty Basic programs, runs on Windows and Linux systems, but the project has not been updated since 2001.

In 2012 an alternative Windows implementation of Liberty BASIC, LB Booster (LBB), became available. Although substantially compatible with the Liberty BASIC 4 language syntax, LBB was developed entirely independently by Richard Russell and is written in BBC BASIC.

LBB offers (typically) increased execution speed, smaller self-contained executables and some additional capabilities. However LBB is not 100% compatible with LB4 and while many programs will run without modification, some may need to be adapted, or may even be unsuitable for running under LBB.

Liberty Basic does not provide for data declarations. Instead any new data name is treated as a new declaration. Some regard this as a benefit, others see it as a debugging issue for imperfect typers. In 2019 Peter J. D. Matthews devised a method for adding declarations and checking for undeclared data - without changing the code seen by the LB interpreter. In 2023 this system was ported to GitHub in public repository "LBPrePass" for anyone to use. This repository also contains program documentation. The program is written in Liberty Basic 4.5.1 and is intended to analyse 4.5.1 code.

References

  1. ^ "Liberty BASIC News". www.libertybasic.com. Retrieved January 25, 2019.

Read other articles:

Carlos Carbonero 2014Informasi pribadiNama lengkap Carlos Mario Carbonero MancillaTanggal lahir 25 Juli 1990 (umur 33)Tempat lahir Bogotá, KolombiaTinggi 1,78 m (5 ft 10 in)[1]Posisi bermain GelandangInformasi klubKlub saat ini A.C. Cesena (pinjaman dari Roma)Nomor 7Karier senior*Tahun Tim Tampil (Gol)2008–2009 Academia 23 (3)2009–2011 Atlético Huila 41 (9)2011 → Once Caldas (pinjaman) 18 (4)2011–2014 Estudiantes 10 (0)2012 → Arsenal de Sarandí (pinja...

 

Untuk film tahun 2011, lihat You Hurt My Feelings (film 2011). You Hurt My FeelingsPoster rilis teatrikalSutradaraNicole HolofcenerProduser Anthony Bregman Stefanie Azpiazu Nicole Holofcener Julia Louis-Dreyfus Ditulis olehNicole HolofcenerPemeran Julia Louis-Dreyfus Tobias Menzies Michaela Watkins Arian Moayed Owen Teague Jeannie Berlin Penata musikMichael AndrewsSinematograferJeffrey WaldronPenyuntingAlisa LepselterPerusahaanproduksi FilmNation Entertainment Likely Story DistributorA2...

 

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 2004–05 SM-liiga season – news · newspapers · books · scholar · JSTOR (April 2020) (Learn how and when to remove this template message) Sports season2004–05 SM-liiga seasonSM-liiga's 30 year anniversary badge on a jerseyFinals championsOulun Kärpät  Runners-upJok...

American politician Blomen in 1968 Part of the Politics series onDe Leonism Daniel De Leon Marxism Concepts Industrial unionism Left Communism DeLeonists Arnold Petersen Olive Johnson Eric Hass Organizations Industrial Workers of Great Britain Socialist Labor Party (Australia) Socialist Labor Party (USA) Socialist Labour Party (UK) Socialist Trade and Labor Alliance Workers' International Industrial Union Socialism portalvte Henning A. Blomen (September 28, 1910 – July 14, 1993) was an Amer...

 

2018 Wentworth by-election ← 2016 20 October 2018 2019 → The Division of Wentworth (NSW) in the House of RepresentativesRegistered103,747Turnout78.13% 8.11   First party Second party Third party   Candidate Kerryn Phelps Dave Sharma Tim Murray Party Independent Liberal Labor Popular vote 22,219 32,795 8,777 Percentage 29.19% 43.08% 11.53% Swing 29.19 19.18 6.20 2CP 51.22% 48.78% 2CP change 51.22 18.96 Results by postcode MP before election Malcolm Turnbul...

 

لوتروس، إماثياتقسيم إداريالبلد اليونان التقسيم الأعلى Alexandria Municipality (en) — Commune of Loutros, Imathia (en) السكانعدد السكان 1٬248 وفق resident population of Greece (en) (2021)1٬272 وفق resident population of Greece (en) (2001)1٬259 وفق resident population of Greece (en) (1991)1٬277 وفق resident population of Greece (en) (2011) معلومات أخرىرمز جيونيمز 735365 تعديل - تعديل ...

الرياض الماليةالشعارمعلومات عامةالبلد شركة سعوديةالتأسيس 2008 مالنوع شركة تعمل في مجال الاستثمار و إدارة الصناديقالمقر الرئيسي الرياض - المملكة العربية السعوديةالمنظومة الاقتصاديةالشركة الأم بنك الرياضالفروع الرياض - جدة - الدمام - الخبر - ابها - القصيم - حائل - تبوكالنشاط �...

 

Merseburg Merseburger Schloss Lambang kebesaranLetak Merseburg di Saalekreis Merseburg Tampilkan peta JermanMerseburg Tampilkan peta Sachsen-AnhaltKoordinat: 51°22′0″N 12°00′0″E / 51.36667°N 12.00000°E / 51.36667; 12.00000Koordinat: 51°22′0″N 12°00′0″E / 51.36667°N 12.00000°E / 51.36667; 12.00000NegaraJermanNegara bagianSachsen-AnhaltKreisSaalekreisPemerintahan • Lord MayorJens Bühligen (CDU)Luas •...

 

Falkenstein Lambang kebesaranLetak Falkenstein di Donnersbergkreis Falkenstein Tampilkan peta JermanFalkenstein Tampilkan peta Rheinland-PfalzKoordinat: 49°36′27″N 7°52′26″E / 49.60750°N 7.87389°E / 49.60750; 7.87389Koordinat: 49°36′27″N 7°52′26″E / 49.60750°N 7.87389°E / 49.60750; 7.87389NegaraJermanNegara bagianRheinland-PfalzKreisDonnersbergkreis Municipal assoc.WinnweilerPemerintahan • MayorAndreas Fischer...

Madrid Open 2009 Sport Tennis Data 9 maggio – 17 maggio Edizione 8a Superficie Terra rossa Campioni Singolare maschile Roger Federer Singolare femminile Dinara Safina Doppio maschile Daniel Nestor / Nenad Zimonjić Doppio femminile Cara Black / Liezel Huber 2008 2010 Il Madrid Open 2009, ufficialmente Mutua Madrileña Madrid Open 2009 per motivi di sponsorizzazione, è un torneo di tennis che si è giocato sulla terra rossa. È stata l'ottava edizione a livello ATP e la prima a livello WTA...

 

Untuk kegunaan lain, lihat Tabernakel. Model Kemah Suci di Timna Park, Israel Kemah Suci (Ibrani: משכן, translit. mishkān, har. 'tempat tinggal atau menetap') atau juga disebut Kemah Pertemuan (Ibrani: אֹ֣הֶל מוֹעֵד֩, translit. ’ōhel mō‘êḏ) adalah tempat ibadah sentral yang dapat dipindah-pindah untuk bangsa Ibrani sejak masa mereka meninggalkan Mesir setelah peristiwa Eksodus (keluar dari Mesir), hingga masa para hakim ketika mereka t...

 

† Египтопитек Реконструкция внешнего вида египтопитека Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:Четвероно...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2023. Berikut ini adalah daftar pusat perbelanjaan di Pekanbaru, Riau: Mal SKA Pekanbaru Mal Ciputra Seraya Mal Pekanbaru Metropolitan Trade Center Pekanbaru Plaza Citra Plaza Senapelan Sukaramai Trade Center Plaza Ramayana Panam Square The Central Plaza Lo...

 

River in PolandŚwinaŚwina and the Baltic SeaLocationCountry PolandPhysical characteristicsSource  • locationSzczecin Lagoon Mouth  • locationBaltic Sea • coordinates53°55′21″N 14°16′52″E / 53.92250°N 14.28111°E / 53.92250; 14.28111Length16 km (9.9 mi) The Świna (German: Swine; Pomeranian: Swina) is a channel in northwest Poland, between 2 and 4 km (1.2 and 2.5 miles) from ...

 

433rd Weapons SquadronF-22A Raptor and F-15C Eagle from 433rd Weapons Squadron in formation over Lake MeadActive1943–1949; 1952–1958; 1964–1974; 1976–1981; 1983–1992; 2003–presentCountry United StatesBranch United States Air ForceTypeSquadronRoleAdvanced Air Superiority Fighter TrainingPart ofUSAF Weapons SchoolGarrison/HQNellis AFB, NevadaNickname(s)Satan's Angels, Blue Devils (World War II)[1]EngagementsWorld War II (Asia-Pacific Theater)Vietnam WarDecora...

Pour les articles homonymes, voir Roper (homonymie). Cet article est une ébauche concernant un homme politique américain. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Daniel C. Roper Fonctions Ambassadeur des États-Unis au Canada 19 mai – 20 août 1939(3 mois et 1 jour) Prédécesseur Norman Armour Successeur James H. R. Cromwell 7e secrétaire du Commerce des États-Unis 4 mars 1933 – 23 dé...

 

Ricostruzione grafica di una delle torture avvenute a Bagram Nel 2005, il New York Times ottenne un rapporto di 2.000 pagine dell'Esercito statunitense riguardante gli omicidi di due prigionieri civili afghani disarmati da parte delle forze armate statunitensi nel 2002 al Bagram Collection Point o BCP. I prigionieri, Habibullah e Dilawar, furono incatenati al soffitto e picchiati fino a causarne la morte. Coroner militari stabilirono che entrambe le morti di prigionieri erano omicidi. Le auto...

 

American politician Isaac C. Naylor3rd Mayor of DallasIn officeApril 1858 – August 1858Preceded byJohn McClannahan CrockettSucceeded byA. D. Rice Personal detailsBorn(1824-07-01)July 1, 1824Morgan County, OhioDiedApril 16, 1885(1885-04-16) (aged 60)Galveston, TexasResting placeCity Cemetery, Galveston, TexasNationality USASpouseHenrietta WoodChildrenEdward Wood Naylor, Isaac B. Naylor, Charles H. NaylorOccupationLawyer, Merchant Isaac C. Naylor (1 Jul 1824 – 16 Apr ...

Bermudian cyclist Dominique MayhoPersonal informationFull nameDominique Sidney MayhoBorn (1993-11-29) 29 November 1993 (age 30)Hamilton, BermudaTeam informationDisciplineRoadRoleRiderAmateur teams2015Ride with Rendall p/b Blemme2016Jonge Rakkers Vollezele2017–2018Asfra Racing Oudenaarde2019VT Construction–Madison2020Landis Trek Team Dominique Mayho (born 29 November 1993) is a Bermudian cyclist,[1] who most recently rode for American amateur team Landis Trek Team.[2&...

 

2018 Indian filmSivaranjiniyum Innum Sila PengalumDirected byVasanthScreenplay byVasanthStory byAshokamitran (Vimosanam)Adhavan (Ottam)Jeyamohan (Devakich chiththiyin diary)Produced byVasanthStarringLakshmi Priyaa ChandramouliParvathy ThiruvothuKalieswari SreenivasanKarunakaranSunder RamuCinematographyN. K. EkambaramWide Angle RavishankarEdited byA. Sreekar PrasadMusic byIlaiyaraajaProductioncompanyHamsa ProductionsDistributed bySonyLIVRelease date October 2018 (2018-10) (Mumba...