Welcome to josvisser.(nl|com)

OpenComal

OpenComal is a portable and free implementation of the Comal programming language. Currently supported platforms are MacOS, Linux, MsDos, Win32, and WebAsm.

Comal is a crossover between Basic and Pascal, with the best features of both and none of the drawbacks of either. Look at this sample program. This program takes a number and writes out the correct pronunciation in Dutch (handy uh? :-). Take a look at this screen shot.

- NEW: The OpenComal playground!
- OpenComal distributions and executables.
- Here is the README.
- I also wrote an article on OpenComal.
- Or you can read the fine documentation.
- And why not look at the screenshot?

## From the documentation

    In the early history of micro computing, resources (CPU, memory,
    disk) were scarce, slow and expensive. Micro computers were
    usually distributed with limited memory capacity and limited on
    board software.  The famous-in-it's-own-time ZX80 (by Sinclair)
    probably set an all time record low with 4K ROM and 1K RAM.

    BASIC was the language of choice back then. Almost all micro
    computers featured their own dialect of BASIC, usually present
    in ROM. These BASICs were basic indeed. Most of the time they
    lacked about everything necessary to develop well-structured
    and maintainable programs.

    This situation led to bad-programming habits spreading like
    wildfire. Would-be programmers were not encouraged to produce
    clear program code, and in order to make the programs smaller,
    faster and more attractive many tricks were used like directly
    modifying system variables (the notorious POKE instruction),
    using multi statement lines, using GOTO's etc. etc.

    The principles of structured programming were available of
    course, but structured languages like PASCAL were not really
    available for small micro's due to limitations in the micro's
    resource capacity and the then available compiler technology.

    Somewhere in Denmark a teacher named Borge Christensen
    understood the potential dangers of the BASIC habits and he
    leaded a team of people who were determined to modify an
    available BASIC interpreter so as to create a new language which
    should support structured programming concepts like PROCedures,
    FUNCtions and GOTO-less loops. The first Comal (COMmon
    Algorithmic Language) interpreter was born.

    In 1992 I went on an unplanned sabbatical of four months or so. With all
    this extra time on my hands, I decided to create a free Comal
    interpreter with the following features:

    	- Free software (although I did not know that phrase at that
    	  time).
    	- Containing numerous ethically justifiable extensions
    	  to the basic Comal specifications
    	- Highly portable
    	- Containing no built in limits to program and variable size
    	  (which is somewhat of a challenge on MsDos).

    I created OpenComal (then called Public Domain Comal (or PDComal)) on an
    XT PC (8088 CPU) running MsDos using Turbo C. I did however fathom
    porting to Unixes and other platforms, so everything was written in
    pretty portable K&R C, with all operating system dependencies separated
    out in a set of routines in one source file (e.g. pdclinux.c).

    Over the last ten years, I have been tweaking with OpenComal a bit, but
    not regularly. The Comal movement has all but disappeared, which is a
    shame because I think it is a nice language to start programming with...

    And right now, in 2002, I am on yet another (this time planned)
    sabbatical, and I decided to rename PDComal to OpenComal, attach the GPL
    to it, improve Linux keyboard/screen support (using ncurses) and release
    it to the general public. Let's see what happens....

Last update Sat Apr 13 12:16:42 MST 2024 by josv at gmail dot com