[Lazarus] Graeme would love this, or not, I think

Hans-Peter Diettrich DrDiettrich1 at aol.com
Wed Oct 16 04:34:53 CEST 2013

Reimar Grabowski schrieb:
> On Wed, 16 Oct 2013 00:25:25 +0200 Hans-Peter Diettrich
> <DrDiettrich1 at aol.com> wrote:
>> For writing programs you need some editor and an compiler/linker,
>> e.g. a Lazarus IDE which runs on a variety of systems.
> But not as a starting point. As a starting point you should teach C.


During my studies I've learned about 30 programming languages, and none
was C because it didn't exist at that time. Instead we started with
Algol 60, of which Pascal is a mini-descendant, Simula for OOP, Lisp as
a functional language, APL etc.  Understanding and implementing 
algorithms is not related to a specific language, and C certainly is not 
safe enough for beginners, and has too few data types.

> Plain and vanilla C and not some obscure language like Pascal (these
> are reserved for advanced programmers). Maybe a little object
> oriented programming in C (no C++) and GUI and event driven
> programming in C and multi-platform programming in C, as time
> permits. Most important is not how exactly or on what systems you
> teach students. The most important part is that they know C after the
> course and that people who fail to understand pointers in all their
> beauty fail the course (they would never be good programmers anyway).

C in fact is only a high-level assembler, allowing (or requiring) tricks 
with pointers and other low-level stuff, that are not necessary in 
better equipped languages. It may be useful together with assembler in 
an hardware or OS implementation course.

>  Next thing is Javascript.

You can add any current languages later, after the students have learned 
how to translate algorithms into well structured code.


More information about the Lazarus mailing list