The BaCon programming language

Page written: August 19, 2022

The BaCon language is intriguing. Based on old-school BASIC, we might be inclined to dismiss it. If looking for a language higher-level than C and easy to code, we might instead go for something "modern", such as Go, Rust or Nim.

The Author discovered BaCon in 2010, and over the years since then has written systems-level utilities for EasyOS, as well a a few simple GUI applications.

Of course, there are pros and cons with all of these languages, so it depends on your needs. If you just want to code in the easiest way possible, and produce very small binaries, then arguably BaCon is a pragmatic choice.

If you need professional support, huge library collections, enhanced safety features such as runtime safety checking and garbage collection, and also very small executables, then arguably Nim is a very good choice.

The Author was an electronic engineer before retirement, and only coded in assembly language and C, targeting embedded systems, so programming knowledge is mostly limited to that area. Having a KISS mindset, the Author tends to go for what can get the job done in the simplest and quickest way. Hence the gravitation to BaCon.

The Author also has an old-school mindset as to what constitutes a "systems programming language". A "Hello World" binary that is 689KB does not (see this, and add Go and Rust to the comparison if you wish).

BaCon development is mostly a one-person effort, by Peter van Eerten, meaning it does not have that "designed by committee" feel of some languages. There are also two main helpers, "vovchik" and "bigbass".

Here is the homepage:

In 2010 - 2011, the Author wrote some introductions to BaCon, focusing on HUG (Highlevel Universal GUI):

My first GTK application


Window layout

Fast-forward to 2022, and the BaCon project has not stood still. It is still actively developed.

There is a new GUI framework, that is looking very promising. The Author has posted about it here:

To find out what is happening, join the discussion on the BaCon Forum: