Guys, try the XPL0 Programming Language just for fun. 😉
XPL0 is similar to Pascal and C. Although not mainstream, over the years it has proven to be immensely useful. It has been used to write everything from operating systems for 6502- and 68000-based computers, to commercial programs for 8088-based (PC) computers, to embedded firmware for PIC and other microcontrollers. Since its inception on the 6502, it has been steadily upgraded and spread to other processors such as 8080, 6800, PDP-10, IBM-360, a couple homebrew machines, 65802, 680x0, PIC, Ubicom, and, most notably, the 80x86 family used by IBM-compatible PCs.
If you're hooked on C, XPL0 might not appeal to you. It doesn't have all the features of other languages. Normally this is not a problem, and it makes the language easier to learn.
XPL0 is by no means crippled. It's a block-structured language that supports recursion. It has two data types: integer and double-precision floating point ('reals' - with and without a math coprocessor). Even the small 16-bit version allows both code and data spaces larger than 64K. It provides generalized device I/O for the console, printers, files, and serial ports. It allows unlimited-dimensional arrays and complex data structures using pointers. It allows up to eight levels of procedure and function nesting (compare this to C which only has two). It has conditional compile, include files, separately compiled modules, inline assembly code, built-in graphic and transcendental routines, peek, poke, and port I/O.
The intent here is not to persuade you to use XPL0, but merely to make the language available. XPL0 is a significant piece of work that continues to be useful despite many other choices for programming languages.
If you're new to programming, you may find XPL0 easier to learn than the myriad of languages called "Basic." If your interest in programming is to make money, you're probably better off with Delphi or Visual C++. The versions of XPL0 offered on this website do not support Windows applications, which are expected on today's PCs. However, if you think programming is fun and want a deep understanding of how programs and compilers work, XPL0 may be for you.
If you're familiar with C, Pascal or FreeBASIC; you might find this chart helpful to see how XPL0 compares.