Back to Other Stuff

About BASIC & SQL



BASIC is an Application Programming Language

The term BASIC is an acronym for Beginner's All-purpose Symbolic Instruction Code. When BASIC was first introduced in 1964, BASIC was intended as a easy starting point for learning to program and creating software.

Since 1964, the BASIC programming language has diverged into many variants (a.k.a., dialects), many of which have been responsible for bringing computer programming to almost anyone with a Personal Computer (PC) and even early Mac computers.

One of the most popular dialects of the BASIC programming languages for many years was Microsoft Visual Basic (a.k.a., VB6). Many other proprietary dialects of BASIC were modeled after Microsoft Visual Basic, such as VBScript, VBA and more modern versions like Microsoft Visual Basic .NET (a.k.a., VB.net).*

* Not all proprietary dialects of Visual Basic are owned by Microsoft. And any code samples of VB6 or VB.net on this website are for comparison references only.

Of the non-Microsoft owned variants of BASIC that are still available and supported, many are either Free/Open Source or Proprietary. Some of the more successful and well supported modern variants of BASIC tend to be proprietary. As well, many of these more reliable variants of BASIC come with their own sophisitaced Integrated Development Environments (IDE), and are competitively priced or even free.

In alphabetical order, some of the multi-platform supported BASIC language dialects this website will attempt to focus on teaching will be:

  • B4A (a.k.a., Basic4Android), which is used for creating native Apps on Mobile devices running Android.
  • B4i (a.k.a., Basic4iOS), which is used for creating native Apps on Apple devices running iOS.
  • B4J (a.k.a., Basic4Java), which can be used to create Java-based Desktop, Console and Server applications that can be deployed to Windows, Linux & macOS (via a JVM).
  • Xojo (originally known as RealBASIC), which can be used for creating native Desktop, Console and Server applications that can be deployed to Windows, Linux & macOS, as well as iOS.


SQL is a Database Programming Language

The term SQL, pronounced as either "S-Q-L" or "sequel", is an acronym for Structured Query Language. The SQL language evolved incrementally during the 1970s, as a means to query and manipulate data in Relational Databases (which were also introduced during the same time period). In 1986, the SQL language definition was adopted by the ANSI and ISO organizations as a standard for communicating and manipulating Databases.

In general, the SQL language is composed of a number of sub-languages, such as Data Query Language (DQL), Data Definition Languages (DDL) and Data Manipulation Language (DML). And since SQL became a standard, many proprietary Database vendors and Free/Open Source projects have supported SQL as a common interface for interacting with their databases. In addition, many of these vendors and project efforts have provided their own variations or subtle extensions to SQL, where some of these additions have eventually been incorporated back into the standard.

Standardizing SQL also brought about the need by some vendors to create procedural extensions to add features like encapsulating DQL and DML statements into custom Functions or Stored Procedures. This new functionality also lead to creating new SQL syntax for variable declarations and control-flow statements and expressions - not unlike those used by BASIC and other application programming languages.

While all modern Database vendors or Free/Open Source Database projects use the SQL standard as the basis for their products, many of them have gone onto create their own variant or dialects for SQL and procedural extensions.

For teaching purposes, this website will mainly focus on two modern SQL dialects, that are cross-platform supported:

  • T-SQL (a.k.a., Transact-SQL), a proprietary SQL language implementation for Microsoft SQL Server, which is a client-server Database engine with extensive capabilities, that offers both free and paid licenses (depending on the scale of your project).
    • SQL Server Databases can run on both Windows & Linux as well a macOS (using a Linux container).
  • SQLite, a popular Free file-based Database (not a server). SQLite is a fast, light-weight, self-contained Database engine for local storage that can be embedded with your Desktop or Mobile Device applications.
    • SQLite can be embedded with applications deployed to Windows, Linux, macOS, iOS & Android.


What happens when you use BASIC & SQL together?

When you couple an application written in a BASIC dialect with a Database managed by a SQL dialect, you create powerful, modern, data-driven software that empowers the people that use your Apps.

And the interesting thing about choosing BASIC & SQL to build your Apps, is that the two base languages are actually surprising similar - which makes learning them all that much easier.

Although most programming languages will almost always have similar concepts and constructs, some of the key similarities of BASIC & SQL dialects are:

  • Both languages are case-insensitive (depending on the SQL Collation), when it comes to Keywords or variable and object Identifiers.
  • Syntax
    • No curly-braces, i.e., { }
    • Similar comparison and assignment operators.
    • Parentheses, i.e., ( ) are optional when evaluating an expression (unless precedence is required).
    • Statement completion allows for optional semi-colons ; in most cases
  • Similar list of defined Keywords
  • Both languages are strongly-typed, although they also both support a flexible "variant" data-type.
  • SQL Stored Procedures & Functions are like top-level BASIC Functions can be called from almost anywhere.