What is comal?

COMAL (Common Algorithmic Language) is a high‑level programming language created in the late 1970s. It was designed to be as easy to learn as BASIC while offering more structured programming features. Think of it as a “cleaned‑up” version of BASIC that works on many different computers.

Let's break it down

  • Syntax - Looks a lot like BASIC: commands are written in plain English (e.g., PRINT, IF…THEN, FOR…NEXT).
  • Variables - You can store numbers or text in simple names like A, COUNT, NAME.
  • Control flow - Uses IF…THEN…ELSE, WHILE…WEND, and FOR…NEXT loops to decide what runs when.
  • Procedures - You can group code into sub‑routines (PROC … ENDPROC) to reuse it.
  • Data handling - READ, DATA, and RESTORE let you work with lists of values.
  • Portability - The same COMAL source file can run on many platforms (Amiga, Atari, MS‑DOS, etc.) with little or no change.

Why does it matter?

COMAL was one of the first languages to show that you could have a beginner‑friendly language without sacrificing good programming habits. It helped teachers introduce concepts like loops and sub‑routines early on, and it influenced later educational languages (e.g., Logo, Python for beginners). Its cross‑platform nature also demonstrated the power of writing code once and running it everywhere.

Where is it used?

  • Education - In the 1980s and early 1990s many schools used COMAL to teach basic programming.
  • Retro computing - Hobbyists still write games and utilities for old machines that support COMAL.
  • Embedded projects - Some small micro‑controller kits shipped with a COMAL interpreter for simple control tasks.
  • Learning resources - Online tutorials and books still exist for people who want to explore classic programming languages.

Good things about it

  • Very easy to read and write, perfect for absolute beginners.
  • Encourages structured code (procedures, proper loops) unlike early BASIC.
  • Runs on a wide range of old and some modern systems with minimal changes.
  • Small language core makes the interpreter lightweight and fast.
  • Great for learning fundamental concepts before moving to more complex languages.

Not-so-good things

  • Little to no active development; modern features (objects, networking, GUIs) are missing.
  • Small community means few libraries, tools, or up‑to‑date documentation.
  • Not suited for large‑scale or commercial software projects today.
  • Debugging support is basic compared to contemporary IDEs.
  • Finding a current COMAL compiler or interpreter can be harder than for more popular languages.