[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My First Computer (was Computing Editorial)





Lee Hart wrote:

OK; more precisely, 99% of today's computers sold come with no
programming language.


Glen wrote:

Micro$oft does not put any languages in the box. But that does not
mean there are [no] languages for Windows. You can download c, c++,
java, python and perl-- just to name five. All under open source
licenses.


Microsoft SELLS their languages; they are far from free. And, they are
all explicitly designed for professionals, not beginners!

Yes, you can download free languages. Which ones are suitable for
beginners? How would a beginner know which one to pick, and where to
find them?




Well I haven't used any of the MS languages because I work in the unix camp but its my understanding the visual basic was in fact intended to be an easy to use language. I have seen all three of the MS languages (VB C# and Visual C++) for $99 in staples for the 'personal' edition there may be an acidemic edition that is even less.

I would recommend python as a language that is very well suited to beginners. Perl (which is very similar) is the runner up.

Both the python and the perl hello world programs are basic like:

Here is pythons:

$python
>>> print 'Hello world!'
>>>                              CTRL D to exit.

You just type python to start python. That puts you into the interperator. print is a function that takes a string.

I don't know if a beginner would know where to find a good beginner language. Unless he/she just read this post because python is free at www.python.com and www.activestate.com.

The reason I think python is a great beginner language is because it is also a great advanced and a great expert language too. A number of real applications have been written in python including the red hat linux installer. So when the beginner wants to know "what is object orientated programming" or "how do I write large programs" or "how do i write or use a gui" or "how do i write a game" you can show them in python because Python scales up to real applications. In fact Python is more advanced than the popular Java in many ways. A person who has used all of pythons features will find Java easy. But java will not be very easy to a complete beginner becuase you need to know about more than just "print 'hello'" to understand the Java hello world.

In fact the people that wrote python including the projet leader Guido van Rossum want beginners to be able to use their language. These people are not elitists. They write and improve python and give the work away. In contrast, most languages come from either universitys or corporations or both.


Programming is slow and tedious in any language. Kids are likely to
get frustrated.  You can't just sit them in front of computer and
command them to learn programming anymore than you could give them
some pipes and tell them to learn about plumbing.


But, just like human languages, some computer languages are easier to
learn than others. BASIC is far easier than C++. If you start people off
with a "hard" language, you will frustrate and scare off most of them.

Likewise, if you just plop them in front of a computer and expect them
to learn it without help, they are doomed to fail. You don't teach
natural languages this way, either! It requires coaching, practice, and
lots of examples and helpful corrections from a patient teacher.

But, when you have the right computer, and right language, and right
books, examples, and software; kids *can* just sit down in front of the
computer and learn it!




Well I think one big thing is that you want to avoid compilers because you will have 90% of the "questions" be the same: "why doesn't this compile". Programs that don't compile frustrate adults and children alike.

Basically you need a language that has distance from the hardware. basic does but a lot of 'real' languages do too. Unless you are tying to teach how hardware works you should give your beginner a break and let him think about hardware latter.

If you want a kid to be a programmer you should probably wait until
he/she is about 14-15 to push it on them. Before then you should
get the child read and write well. Because (believe it or not)
programming is just another form of writing.


That is too late! If we waited to teach reading, writing, or languages
until 14-15 years old, most people would never learn it. Kids are
fantastic learners at younger ages; that is when you have to teach them
these skills!


When I was in 4th grade I was choosen as one of the kids in the
Logo program. The school literally just sat my in front of an
Apple II running logo. They provided no books or instruction.
Nice "education" huh?


They blew it. What a waste of time!

Far too often, computers in the schools are just used as babysitters and
entertainment devices. Keep the kid busy so the teacher doesn't have to
do anything.



I have a lot of opinions about whats wrong with schools but I don't want to offend too many people :)

At the time an Apple II was an expensive piece of hardware. The school at great cost (they had a lot of Apple IIs) bought the tools at expense to the taxpayer but never used them correctly.

I don't know a lot about kids. I'll be the first to admit. So I don't know the right age to start programming.

But I do think that some of these games that aren't even meant to be educational actually are more educational than a lot of what goes on at school. [LOOK AT THAT I'M ON TOPIC AGAIN!] I still remember dicussing how not to get lost in RPGs mazes with a friend. If you always turn the same way you will be able to just do a 180 and follow that wall back to the start point. (Useful if you end up in a hedge maze in the snow like in the Shining). This may be why some more difficult games like bard's tale have spinners on the floor. Some of the more complex RPGs and strategy games force kids to think creatively to finish the game. Even a recent game Amoured Core 3, which is just a robot shooter, forces you to think. I was just playing AC3 a couple weeks ago and was forced to take a strategy break (coffee and walking the dog) to think out a way to beat a difficult board. (Turns out you can just increase your firepower and win with brute force -- but I was still forced to take the break).


Its been said that 'war is the ultimate game' which is why so many games
are about war.  It has 'minimum rules' and maximum depth of strategy.

Nalan Brushnell was talking about this in an interview on the Atari
Redux (ps1 etc.).  This is an explaination of why almost all early games
are war games.

In school when I was a kid they baned video games from the computers
from the computers unless they were "educational".  So they would
bane a highly complex sci-fi game with lots of depth of play for a mind numbingly simple game with a history theme. I thought this was stupid when I was 12 and I *know* its stupid now :)

Glen.