www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/09/09/16:11:11

Reply-To: <arfa AT clara DOT net>
From: "Arthur" <arfa AT clara DOT net>
To: "DJGPP Mailing List" <djgpp AT delorie DOT com>
Subject: RE: Teaching a child to program in C
Date: Wed, 9 Sep 1998 20:07:15 +0100
Message-ID: <000001bddc25$0e8f1280$b04d08c3@arthur>
MIME-Version: 1.0
In-Reply-To: <6t5v8q$7a5@top.mitre.org>
Importance: Normal

> Mike Brenner > The best programming language for a child (or
> other beginner)
>              > is SQL. Tell the child that they can make each of
> the monsters,
>              > events, weapons, treasures, magic spells, and
> walls in their
>              > favorite computer game into database tables, and you will
>              > write a program to animate that database into a game.
>
> James Arthur > That's analogous to getting the child to design
>              > lego bricks and then their dad makes a model with them.
>
> I do not see it this way. I see the database table as a simple model
> built with simple bricks (the database tables).

Or like, "you build the wheels, I'll build the rest of the car." Sorry, I
can't see your point of view at all.

> It is easy to fill in the tables. The child will notice that
> it is more complex to animate the tables than to fill them in. That is
> where a motivation to program (or do other forms of math and science and
> engineering) will come from.

From the original message, I gathered that the motivation to program was
already there.

> James > SQL? Can you do anything in SQuirreL except program databases?
>
> No. But you cannot do anything with C except program databases either.

I disagree. In SQL you program databases: you create tables of interlinking
data which doesn't actually do anything. You have to write wrapper code to
actually use the data. In C, although you are creating a table of data, each
piece of data can execute a function. In theory, yes, all C does is create a
database. On the other hand, try programming a 3D game using OpenGL in SQL.
> James > It's one of the most powerful, and hence complex,
> languages available
>
> No. The more powerful languages become the more simple they should become.

Nope. BASIC is simple, and sacrifices power for flexibility (ease of use).
ASM is extremily powerful, yet lacks flexibility (right bugger to program).

SQL is designed for databases, and since people in the database management
business usually burn out by the time they reach 30, I would say that that's
fairly complex. But as I said earlier, try and program something that
doesn't look like a database in SQL...

> So, let me correct my mistake. When I said use the SQL language,
> I meant use one of the dozens of common programs that provide the ISO
> SQL commands like CREATE, DROP, INSERT, DELETE, UPDATE, and
> SELECT commands, along with an automatic screen generator that
> permits you to browse through the tables by clicking on them without
> any programming.
>
> This sounds like I am contradicting the original poster's request
> on how to teach programming. However, it is my opinion that the
> SELECT command is the first command that any programmer should
> learn.

Every programming tutorial I have seen swears adamantly that it's the
equivalent of printf(); :^)

> The SELECT command motivates some of the best patterns
> of object oriented programming without the incumbent problems
> (that is, without hanging pointers, memory leaks, bugs,
> off-by-1 errors, and missed timing schedules).

OO programming does my head in, and I'm not a novice to programming. By far
the easiest way to get into programming is to avoid as much object
orientation as possible.

James Arthur
jaa AT arfa DOT clara DOT net
ICQ#15054819

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019