Archive for May 27, 2014

Join the pascal for kids initiative!

May 27, 2014 2 comments

I am looking for a couple of good Delphi developers that would like to donate some spare time into an educational project for children. In short I am proposing that we all put some energy into a “pascal for kids” IDE and runtime, to help promote pascal as the friendly, powerful and flexible language we all know and love. In short the project aim’s to:

  • Provide and IDE which is suitable for children age 10+
  • Implement a simple, easy to use and understand runtime library
  • Focus on easy and fast visual feedback (games, perhaps simple maths)
  • Be capable of executing applications primarily in the browser

What I propose is to introduce a free, easy to learn, easy to use pascal environment for children aged 10 and above. The focus should be on game creation (or more precise: graphical, sound and other creative expression) in order to stimulate interest in programming as a whole – but using pascal as the central language.

The project should in no way try to be “another Delphi”, nor should it compete in with freepascal or smart mobile. It should be simple (a reduced sub-set of pascal) and effective, with documentation and examples suitable for schools and local clubs.

It should not be for financial gain, so I cannot offer any money — and also it should be open source and free for all.

I hope some of my fellow Delphi and FPC programmers could help out. We need donations of many types, components for design/layout (painter component f.ex, for sprite design), mod music player code (bass or fdlib wrapper?) and also parser/compiler code.

Some background for the initiative

STOS basic sprite editor

STOS basic sprite editor

During the 90’s there was a small revolution when it came to programming. This was mainly due to the fact that home computers had reached a point where they were powerful enough to host intuitive and “modern” editors and compilers. Graphically they were powered by custom chipsets, much like the x-box and playstations today. And as such their graphical capabilities were far beyond anything a PC or Mac could muster at that price-range.

The result was that the Commodore Amiga and Atari ST completely dominated home computing, while PC’s and Mac’s were reduced to business (PC) and design (Mac). Amiga and Atari were cheap, effective and suitable for both serious software and games – but for most kids and teenagers that grew up with an Amiga or Atari, games, music and creativity was the primary motivation for getting one.


Learning to program on the Amiga was very hard to begin with. About 90% of all software was either written in assembler or a hybrid language called BCPL. Some serious business applications like word-processors and spreadsheets were written in C, but the Amiga did not get a decent  C compiler until very late in its evolution – at which point PC’s had started to support powerful graphics cards and were slowly eroding the Amiga markedshare.

Amos basic IDE

Amos basic IDE

Around 1990 something changed the learning-curve, and that was the release of Amos basic. Amos was a flavour of basic designed for game programming. The features can be compared to SDL (Simple direct media layer) or Direct X, but with an easy to understand, easy to use basic dialect to access all that power.

The result was a whole generation of teenagers with a new-found interest in programming and game production. Games like Worms were actually created using Basic on the Amiga (blitzbasic, which superseded Amos). Many of the programmers that started on the Amiga work as professional developers today. What is now Sony Europe for example, used to be Psygnosis – a game company dedicated to Amiga game production.


Today however, alternatives with the same amount of power. simplicity and friendliness is nearly non-existent. It is my belief that JavaScript has grown as popular as it has precisely because it was the only alternative for the generations that grew up after the Amiga was dead. This generation quite frankly missed out on all the cool stuff we had on 16 bit computers. So where programmers now in their 40’s had access to a proper learning curve using classical languages – kids today grow up with the browser as their main platform.

Scratch is a visual programming aid designed for kids

Scratch is a visual programming aid designed for kids

Pascal has everything. First of all it was designed for being taught in schools, secondly it has evolved side by side with C++ (CPP builder and Delphi has the same compiler core, with only a syntax module separating the products) and last but not least — it is more flexible and powerful than Basic.

I really think we can do better than basic. And I really want to see more kids learn pascal than javascript!

I also believe that systems like Scratch are helpful, but ultimately it will backfire because typing and learning to express creativity as written logical structures will seem like a burden. The future will no doubt see better, visual programming tools — but i’m afraid quality will be lost and we will end up with a generation of bloat-ware

We can do better than this!