Reply-To: From: "Arthur" To: "DJGPP Mailing List" 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 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit In-Reply-To: <6t5v8q$7a5@top.mitre.org> Importance: Normal Precedence: bulk > 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