Other Modern Dialects

Notes on choosing:

procedural, compiled, huge built-in library native tools, games, GUI apps

OpenConsole(): PrintN("Hello"): Input() BlitzMax (open source; BlitzMax NG) object-oriented, game-focused

Graphics 640, 480: DrawText "Hello", 10, 10: Flip: WaitKey scripting, Android, quick graphics PRINT "Hello": CIRCLE 100, 100, 50 BBC BASIC for SDL 2.0 modern BBC BASIC retro-style and cross-platform programs, education

DEF PROCgreet(n$): PRINT "Hello "; n$: ENDPROC VB-like, object-oriented Linux desktop apps with GUI designer Print "Hello" in a Main.module B4X (B4A, B4i, B4J, B4R) VB-like, event-driven Android, iOS, desktop, Arduino/ESP Log("Hello") in Sub Button1_Click Xojo (formerly REALbasic) object-oriented, commercial cross-platform desktop, web, iOS/Android apps

MessageBox("Hello") in a button's Pressed event True BASIC structured, by BASIC's creators education (historical) PRINT "Hello"

thinBasic, Liberty BASIC / Just BASIC, RCBasic, NaaLaa, AppGameKit Tier 1 hobby, games, Windows scripting

BBC BASIC was structured from the start (1981): DEF PROCname/ENDPROC, DEF FNname, LOCAL variables, REPEAT...UNTIL, and an inline assembler between [ and ] — BBC BASIC for SDL 2.0 keeps all of this and runs almost everywhere.

PureBasic uses type suffixes after a period (n.i integer, s.s string, d.d double), Procedure/EndProcedure with ProcedureReturn, and produces small native executables with no runtime.

Gambas and Xojo feel closest to classic Visual Basic (forms designer plus event code); B4X is the BASIC route to mobile apps and microcontrollers.

For learning and retro-style games, QB64-PE; for native systems programming with BASIC syntax, FreeBASIC; for business applications on .NET, VB.NET; for Office automation, VBA.