Discussion:
Bright 10yr old wants to learn computer programming... Any suggestions?
(too old to reply)
Bob
2004-08-11 21:34:22 UTC
Permalink
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.

Perhaps there are courses that kids can attend (North Shore, Auckland)?

Can anyone with kids perhaps give me a bit of guidance.

Thx
The Other Guy
2004-08-11 22:04:42 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
I don't have kids, but have done some tutoring in programming with older
students (VB and C). My opinion, coming from a computer science
background, is that it is best to start with a language that teaches the
basics properly. Understanding how the computer works and represents
data structures is more important to me than being able to throw a few
controls on a form and have an application written in 100 lines of code.
If you want to do that, it is easy to make the change later. I have
serious doubts about the ability of VB programmers coming out of
tertiary institutions to make good C programmers.

Start with a language that forces you to learn how the loops and
conditions work, and how to get from A to B by following a series of
small logical steps, rather than one that does everything for you. Not
necessarily C, but something in between. BASIC (Not Visual Basic) is a
good starting point in my opinion, you can't do a lot with the language,
but it hides some of the details from you initially, and supports the
types of loops available in other languages.

Once you are comfortable with BASIC, then it is time to move on to
something like C. C is my favourite language, but certainly not for
everyone. But I would suggest avoiding VB, Delphi, or anything else that
gives you a pretty GUI without coding, and encapsulates simple
functionality in classes.

The Other Guy
Disco Stu
2004-08-11 22:13:51 UTC
Permalink
The Other Guy wrote:

BASIC (Not Visual Basic) is a
Post by The Other Guy
good starting point in my opinion, you can't do a lot with the language,
but it hides some of the details from you initially, and supports the
types of loops available in other languages.
10 print "Disco Stu rules the world"
20 goto 10

run

Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Disco Stu rules the world
Dogg
2004-08-11 22:29:04 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Oh no! He's doomed to a life of living in his parents basement,
watching Star Trek and existing on Pizza's and McDonalds.
Tim
2004-08-12 00:04:09 UTC
Permalink
Bob,

In the next 10 years - when the boy finishes a degree and is ready to enter
the workforce, whatever he learns now will have been superceeded or changed
to the point of being very different from what is chosen now. The computing
landscape will be very different to today...

The skills, confidence, interest, and knowledge gained will be invaluable.
The first programming language is the most "difficult" to learn - it only
gets easier after that, so learning any language now is a good investment
although it would Not be wise to learn a language that is at its peak or on
its way out as the language specific knowledge would be relegated to history
too quickly.

Personally, I would not waiste my time with C. I'll explain why later.

VB 6 - an excellent langauge (6 is the version number of the compiler /
IDE). It is very easy to learn and create Windows GUI applications. It has
its failings in terms of what programmers can do that fall into the Bad
Habits category, and as "The Other Guy" sort of pointed out, anyone (almost)
can learn [programming] VB6, but just because they can program in VB6 does
not make them a good programmer. Once one learns VB6 one needs to then spend
2-3 years learning technique to become a good programmer. (This is true of
all languages, but one can know 100% about VB6 language and be a crudy
programmer). VB6 is an excellent language, but the days of major new
projects in VB6 starting are numbered due to VB.Net and C#.

VB.Net enforces better programming technique and is an upcoming language.
You can download the full repertoire of learning edition .Net development
products from Microsoft. VB.Net is a substantially different language from
VB6 and its predecessors. You cannot normally use VB on Linux.

Delphi - those that use it swear by it. Free learning editions of Delphi are
often available on computer magazine cover CD's. I'll let someone else point
out its strengths as I have never really used it. I believe Delphi is
available on Linux.

C++ - A substantially powerful language that was architected to overcome the
many failings of C. C++ is the reason not to learn C. By the time one has
learnt C++, one has also learnt C++ and will be a better C programmer than a
person that only learns C - because you learn about the failings of C, what
C++ does to overcome these failings and so what you can expect. The C++
compilers also push aside many of the failings that exist in the C
compilers. At this point although C++ is my favourite language, given the
choice I would probably err on learning the next language. Most major
applications, operating systems and server systems are written in C++. It is
not for the faint hearted or the wishful thinker. In VB6 you can write and
start learning in minutes, in C++ to really get started takes a few weeks of
study. (C+ is available on an extremely wide range of computing hardware and
the smallest of systems - right down to the chips used to control your
washing machine. Any operating system or hardware that does not support C++
should not be contemplated). C++ is common on Linux.

C# (C Sharp). This is the New Microsoft language. It is aimed at first time
programmers for professional use. It embodies the best points of C++ and VB6
/ VB.Net and overcomes many of the shortfalls of VB6. C# is an enormously
powerful language suitable for whipping up the smallest / simplest programs
through to the largest of programs with enterprise level facilities. No
Linux I am afraid. C# is similar in many ways to C++ - in fact the
differences are not huge. If one learns C#, then learning C++ is easy (and
vice versa).

Jade. Jade is an object oriented database and embodies a programming
language similar to Delphi. I have included it for the sake of completeness
as a learning edition is available for free, but there are restrictions on
the size of database one can create with it (10,000 nodes last time I
looked). There are also restrictions on the style of application one can
create with Jade - someone correct me if I am wrong here. Linux? Dunno?

It is important to learn the fundamentals of programming - some people learn
these implicitly without any help. So a well run training course would be a
good investment. It is important to concentrate on a) Programming and b) the
Language before embarking on c) what you can do with it. With a GUI system
such as VB6 one can go straight into writing programs that are shockingly
structured, impossible to maintain and fragile.

At the end of the day, one needs to ask about the motivation of the 10 year
old - is it the parent or is it the child? If one learns how to hack out a
program at 10 years old then this may destroy any ability and motivation to
properly learn a language in later years. While my nephew achieved this
without assistance on an Acorn, he maintained a balanced life style and in
later years has proven to be a brilliant programmer.

Everything here has been covered from the perspective of Windows
programming. Comments for Linux are there to show what alternatives /
portabililty the knowledge has. C++ has the greatest practical portability
(of knowledge and programming investment).

My recommendation would be C#, and a good book with training. Don't go to a
book store and ask, ask the people that really know - those that lurk in the
microsoft.public.languages.csharp news group would be the best by far to
ask, and some language specific training would be excellent. If the kid is
really smart then bung him on a professional 1 week training course that
concentrates on C# (EG Aldhouse) once he has grasped enough of what is going
on to be able to push out some simple programs.

Many (everyone) regards their child as bright. If he is really bright, a
computer, good book and a learning edition of say C# will be enough for him
to get started. Its not a competition and a balanced life style is
important.

- Tim
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
The Other Guy
2004-08-12 01:58:27 UTC
Permalink
Post by Tim
C++ - A substantially powerful language that was architected to overcome the
many failings of C. C++ is the reason not to learn C. By the time one has
learnt C++, one has also learnt C++ and will be a better C programmer than a
person that only learns C - because you learn about the failings of C, what
C++ does to overcome these failings and so what you can expect. The C++
I have to disagree here. Hows does knowing C++ programming make you a
better C programmer?

C++ does not actually address the small number of changes I would like
to see in C, and the limitations are easy to work around.

Unless you value object oriented code, a coding method I am not at all
interested in, C++ really offers nothing that C doesn't.
Post by Tim
compilers also push aside many of the failings that exist in the C
compilers. At this point although C++ is my favourite language, given the
The limitations in C compilers exist mainly for historical reasons. C++
does address these, but C retains more strict compiler requirements.
Post by Tim
choice I would probably err on learning the next language. Most major
applications, operating systems and server systems are written in C++. It is
not for the faint hearted or the wishful thinker. In VB6 you can write and
start learning in minutes, in C++ to really get started takes a few weeks of
study. (C+ is available on an extremely wide range of computing hardware and
the smallest of systems - right down to the chips used to control your
washing machine. Any operating system or hardware that does not support C++
should not be contemplated). C++ is common on Linux.
C++ compilers exist for some embedded systems, but the majority of the
code is still written in assembly language or C. FreeBSD is written in
C, not C++... the only C++ files are those in the crypto and contrib
directories of the main source tree. I expect Linux would be similar.
C++ has much wider use in applications programming however.

The Other Guy
frederick
2004-08-12 03:22:17 UTC
Permalink
Post by Tim
Delphi - those that use it swear by it. Free learning editions of Delphi are
often available on computer magazine cover CD's. I'll let someone else point
out its strengths as I have never really used it. I believe Delphi is
available on Linux.
There are "free" versions of Delphi available from time to time. There
are limitations on distributing applications compiled with the free
version - in particular, for non-commercial use only. "Time limited"
trial versions might also produce "time limited" executables - not a
good idea IMO.
Kylix is the delphi (turbo pascal or C++) compiler for Linux, with a
near identical IDE to the windows delphi. The theory is that you can
"simply" port an application between OS. The "simply" part from my
experience, applies only in some circumstances - if you are doing things
beyond the "basic" then it may not be simple at all to "port" between OS
at all.

The Borland USA site does not seem to have any free Delphi "personal"
versions for download right now.
A free "Open" version of Kylix is available for download.
Kylix (Open) was on PC Authority Jan 2003 cover disk.
Delphi 7 (personal) was on NZ PC World Dec 2002 / Jan 2003 cover disk.
A nice email to them might encourage them to check the back room.
Registration keys for those are available from:
http://www.borland.com/products/downloads/download_delphi.html#

There seems to be a good "community" for delphi progammers.
comp.lang.pascal.delphi.misc and other newsgroups are quite active.
Plenty of code examples and free visual (and non visual) components are
available from sites like Torry's delphi pages
http://swiss.torry.net

Comments on Delphi vs VB at:
http://www.delphizine.com/opinion/2000/01/di200001fn_o/di200001fn_o.asp

I just had a quick glimpse at the above article, which makes some
comparisons between VB and Delphi. If any VB users want to argue, then
please leave me out of the argument. I have used both, and I am not
impartial any more. There is plenty of bandwidth wasted on these
arguments already.

The Other Guy's post stresses the desirability of understanding the
fundamentals of programming before leaping into something that makes
things too easy. I agree - but I will say that there seem to be a lot
of applications that may be nicely coded from an "art of computer
progamming" POV, but either from ignorance of real world user skill
levels, poor understanding of how users expect objects to behave, or
just buggered-up thought processes in general - they are horrible
ungainly unsightly disasters and the source of user frustration. I have
been evaluating a program that is a technical achievement in some areas.
But for some crazy reason the programmer decided to reinvent the wheel,
and create his own file save and file open dialogs - and they seriously
suck. I do not want to read documentation to find out how to open and
save a file. I hate applications that stuff up the simple stuff so
badly - and they seem to be the rule rather than the exception lately.
Patrick Dunford
2004-08-12 05:44:01 UTC
Permalink
Post by frederick
The Borland USA site does not seem to have any free Delphi "personal"
versions for download right now.
But there are free versions of Turbo Pascal. Pascal is very suitable for
teaching programming, as it was originally designed for this purpose.

Strange as it may sound to you, CLI compilers are still used to teach
programming these days. A gui isn't needed when it writes half the code
for you automatically.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
frederick
2004-08-12 09:19:35 UTC
Permalink
Post by Patrick Dunford
Post by frederick
The Borland USA site does not seem to have any free Delphi
"personal"
Post by Patrick Dunford
Post by frederick
versions for download right now.
But there are free versions of Turbo Pascal. Pascal is very suitable for
teaching programming, as it was originally designed for this purpose.
Strange as it may sound to you, CLI compilers are still used to teach
programming these days. A gui isn't needed when it writes half the code
for you automatically.
Nah - it doesn't sound strange to me at all.

I have a 10 year old son. I guess he is quite bright, whatever that
means. I would far rather encourage him to ride his bike, play a sport,
and have fun rather than sitting in front of a screen.

I suspect that regardless of the tools he used, he would be disappointed
to find that he isn't going to be able to create Doom 4 over a weekend.
David Preece
2004-08-12 08:33:41 UTC
Permalink
Post by Tim
VB.Net enforces better programming technique and is an upcoming language.
I've recently got into RealBasic - http://www.realbasic.com/

Sure it's basic, but it's OO and comes with *the* *best* IDE ever. The
pro version can cross compile (and cross debug) onto Windows, Linux
(GTK), Mac classic and OSX.

Not free, not especially cheap, but bloody good. Lots of "community" too.
Post by Tim
Delphi - those that use it swear by it.
I've used it for a few projects before. It is great. RealBasic is a lot
like an easier Delphi.
Post by Tim
I believe Delphi is
available on Linux.
It's called Kylix when it's on Linux.
Post by Tim
Most major
applications, operating systems and server systems are written in C++.
Most applications, yes. But almost all OS's are written in C, actually.
Post by Tim
It is
not for the faint hearted or the wishful thinker.
No it is not.

At this point in the game there's really no point in learning C++. It
only truly excels in a few narrow niches.
Post by Tim
C# (C Sharp). No
Linux I am afraid.
Debatable, there is the Mono project
http://www.mono-project.com/about/index.html
Post by Tim
C# is similar in many ways to C++
Not *that* many ways. C# is in many ways identical to Java would be a
bit more like it.
Post by Tim
in fact the
differences are not huge.
Ummm, yes they are. I'm not getting involved in this one.
Post by Tim
If one learns C#, then learning C++ is easy (and
vice versa).
Ummm, no. If one learns C# then learning C++ is going to be damn near
impossible. If one learns C++ then learning C# is going to be easy. A
bit weird, perhaps, but easy.

Look, I hate Microsoft too, but from the two choices a beginner would be
much better off learning C#.
Post by Tim
It is important to learn the fundamentals of programming
Yes. Especially since there is a very real danger that none of the above
will be in use any more when said tyke hits the workforce.
Post by Tim
At the end of the day, one needs to ask about the motivation of the 10 year
old - is it the parent or is it the child? If one learns how to hack out a
program at 10 years old then this may destroy any ability and motivation to
properly learn a language in later years.
I disagree. If one learns to hack out a program at 10 then it becomes
clear nice and early that this can be fun. I sure as shit wouldn't try
to force C++ down a 10 year old.
Post by Tim
My recommendation would be C#, and a good book with training.
Logo. Or RealBasic. But for a 10 year old, Logo.

Cheers,
Dave
manuka
2004-08-15 05:07:39 UTC
Permalink
Bob - is this young wizard also into hands on electronics? If so (&
it seems like he should be !)then you can't beat the dazzling PICAXE
approach, programmed under PBASIC. It's not only already established
in NZ high schools & has global web support, but it's CHEAP ($NZ5 will
get the microcontroller while NZ$30 an entire prototyping kit) & the
editor is free! Kids LOVE these darlings. See =>
www.picaxe.orcon.net.nz <= for pointers etc. Stan
Bok
2004-08-12 10:31:16 UTC
Permalink
Post by Tim
Jade. Jade is an object oriented database and embodies a programming
language similar to Delphi.
It's not marketed as an OODBMS. It's both a development environment and
a computational platform that has both a language and an embedded object
database.

Note: Jade is designed and developed in Christchurch New Zealand by Jade
Software Corporation NZ Ltd.
Post by Tim
I have included it for the sake of completeness
as a learning edition is available for free, but there are restrictions on
the size of database one can create with it (10,000 nodes last time I
looked).
The free version is restricted to a database size of 2GB, max 10
concurrent developers, max 25 users, no archival recovery support (the
ability to reapply transactions to a database backup)

Refer to the download link on http://www.jadeworld.com for details on
the free Jade 6 download.
Post by Tim
There are also restrictions on the style of application one can
create with Jade - someone correct me if I am wrong here.
It's a case of horses for courses really. Jade is most suited for
building apps that require persistence and transaction processing
capabilities. I wouldn't use it to build a text editor or Doom 4 ofr
example.
Post by Tim
Linux? Dunno?
As of writing, the development environment doesn't run on linux.
However, you can run JADE application and database servers on linux in a
2-tier or 3-tier environment with any of several front ends e.g. smart
thin clients, html thin clients or web service consumers.
Warwick
2004-08-12 09:04:03 UTC
Permalink
Post by Tim
Bob,
In the next 10 years - when the boy finishes a degree and is ready to enter
the workforce, whatever he learns now will have been superceeded or changed
to the point of being very different from what is chosen now. The computing
landscape will be very different to today...
The skills, confidence, interest, and knowledge gained will be invaluable.
The first programming language is the most "difficult" to learn - it only
gets easier after that, so learning any language now is a good investment
although it would Not be wise to learn a language that is at its peak or on
its way out as the language specific knowledge would be relegated to history
too quickly.
Personally, I would not waiste my time with C. I'll explain why later.
VB 6 - an excellent langauge (6 is the version number of the compiler /
IDE). It is very easy to learn and create Windows GUI applications. It has
its failings in terms of what programmers can do that fall into the Bad
Habits category, and as "The Other Guy" sort of pointed out, anyone (almost)
can learn [programming] VB6, but just because they can program in VB6 does
not make them a good programmer. Once one learns VB6 one needs to then spend
2-3 years learning technique to become a good programmer. (This is true of
all languages, but one can know 100% about VB6 language and be a crudy
programmer). VB6 is an excellent language, but the days of major new
projects in VB6 starting are numbered due to VB.Net and C#.
VB.Net enforces better programming technique and is an upcoming language.
You can download the full repertoire of learning edition .Net development
products from Microsoft. VB.Net is a substantially different language from
VB6 and its predecessors. You cannot normally use VB on Linux.
Delphi - those that use it swear by it. Free learning editions of Delphi are
often available on computer magazine cover CD's. I'll let someone else point
out its strengths as I have never really used it. I believe Delphi is
available on Linux.
C++ - A substantially powerful language that was architected to overcome the
many failings of C. C++ is the reason not to learn C. By the time one has
learnt C++, one has also learnt C++ and will be a better C programmer than a
person that only learns C - because you learn about the failings of C, what
C++ does to overcome these failings and so what you can expect. The C++
compilers also push aside many of the failings that exist in the C
compilers. At this point although C++ is my favourite language, given the
choice I would probably err on learning the next language. Most major
applications, operating systems and server systems are written in C++. It is
not for the faint hearted or the wishful thinker. In VB6 you can write and
start learning in minutes, in C++ to really get started takes a few weeks of
study. (C+ is available on an extremely wide range of computing hardware and
the smallest of systems - right down to the chips used to control your
washing machine. Any operating system or hardware that does not support C++
should not be contemplated). C++ is common on Linux.
C# (C Sharp). This is the New Microsoft language. It is aimed at first time
programmers for professional use. It embodies the best points of C++ and VB6
/ VB.Net and overcomes many of the shortfalls of VB6. C# is an enormously
powerful language suitable for whipping up the smallest / simplest programs
through to the largest of programs with enterprise level facilities. No
Linux I am afraid. C# is similar in many ways to C++ - in fact the
differences are not huge. If one learns C#, then learning C++ is easy (and
vice versa).
Jade. Jade is an object oriented database and embodies a programming
language similar to Delphi. I have included it for the sake of
completeness
Post by Tim
as a learning edition is available for free, but there are restrictions on
the size of database one can create with it (10,000 nodes last time I
looked). There are also restrictions on the style of application one can
create with Jade - someone correct me if I am wrong here. Linux? Dunno?
It is important to learn the fundamentals of programming - some people learn
these implicitly without any help. So a well run training course would be a
good investment. It is important to concentrate on a) Programming and b) the
Language before embarking on c) what you can do with it. With a GUI system
such as VB6 one can go straight into writing programs that are shockingly
structured, impossible to maintain and fragile.
At the end of the day, one needs to ask about the motivation of the 10 year
old - is it the parent or is it the child? If one learns how to hack out a
program at 10 years old then this may destroy any ability and motivation to
properly learn a language in later years. While my nephew achieved this
without assistance on an Acorn, he maintained a balanced life style and in
later years has proven to be a brilliant programmer.
Everything here has been covered from the perspective of Windows
programming. Comments for Linux are there to show what alternatives /
portabililty the knowledge has. C++ has the greatest practical portability
(of knowledge and programming investment).
My recommendation would be C#, and a good book with training. Don't go to a
book store and ask, ask the people that really know - those that lurk in the
microsoft.public.languages.csharp news group would be the best by far to
ask, and some language specific training would be excellent. If the kid is
really smart then bung him on a professional 1 week training course that
concentrates on C# (EG Aldhouse) once he has grasped enough of what is going
on to be able to push out some simple programs.
Many (everyone) regards their child as bright. If he is really bright, a
computer, good book and a learning edition of say C# will be enough for him
to get started. Its not a competition and a balanced life style is
important.
- Tim
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Couldn't disagree more.

C# is microsofts answer to java, its got fuck all to do with C.

Delphi isnt a language - its an IDE that uses pascal.
The linux version in called Kylix, the IDE uses C++ or Pascal.

C is an excellent precurser to C++, and it is wise to learn it first.

VB is just bullshit, only learn it if you want to manipulate stuff in
office.

If you learn C / C++ any other language can be learnt in a matter of weeks.

I am surprised nobody has mentioned any functional languages.
For a learner Haskell and/ or Prolog are a bloody good at teaching
fundamentals about problem solving and recursion.

cheers
Warwick
Patrick Dunford
2004-08-13 05:07:08 UTC
Permalink
Post by Warwick
Couldn't disagree more.
C# is microsofts answer to java, its got fuck all to do with C.
Delphi isnt a language - its an IDE that uses pascal.
The linux version in called Kylix, the IDE uses C++ or Pascal.
C is an excellent precurser to C++, and it is wise to learn it first.
C is not a beginner's language (and I don't know anyone that teaches it
as one). It is too terse and hard to understand.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
Warwick
2004-08-13 06:10:40 UTC
Permalink
Post by Patrick Dunford
Post by Warwick
Couldn't disagree more.
C# is microsofts answer to java, its got fuck all to do with C.
Delphi isnt a language - its an IDE that uses pascal.
The linux version in called Kylix, the IDE uses C++ or Pascal.
C is an excellent precurser to C++, and it is wise to learn it first.
C is not a beginner's language (and I don't know anyone that teaches it
as one). It is too terse and hard to understand.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.
This foundation provides the best possible
environment to raise our children."
See http://www.maxim.org.nz/civilunions.html
Massey do:)
Besides I am not sure if there is any such thing as a beginners language.

You are right about Pascal being suitable, I was taught it at the CIT by
Brian Brown and Peter Henry. Their lessons are available online for free,
( I found myself in need of Pascal revision recently, you may remember my
calls for help on this ng - I was surprised to find the lessons published,
and how many people throughout the world that have used them).
However I don't like it much - but that is simply personal frustration at
tinkering with the VCL in C Builder, which was written in Pascal. So the
header files are awkward for me to read.
In some ways you could describe programming in general, as allocating some
block of memory, and then manipulating pointers into it. That is what C
teaches you to do.

cheers
Patrick Dunford
2004-08-13 12:31:22 UTC
Permalink
Post by Warwick
Post by Patrick Dunford
Post by Warwick
Couldn't disagree more.
C# is microsofts answer to java, its got fuck all to do with C.
Delphi isnt a language - its an IDE that uses pascal.
The linux version in called Kylix, the IDE uses C++ or Pascal.
C is an excellent precurser to C++, and it is wise to learn it first.
C is not a beginner's language (and I don't know anyone that teaches it
as one). It is too terse and hard to understand.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.
This foundation provides the best possible
environment to raise our children."
See http://www.maxim.org.nz/civilunions.html
Massey do:)
Besides I am not sure if there is any such thing as a beginners language.
You are right about Pascal being suitable, I was taught it at the CIT by
Brian Brown and Peter Henry. Their lessons are available online for free,
( I found myself in need of Pascal revision recently, you may remember my
calls for help on this ng - I was surprised to find the lessons published,
and how many people throughout the world that have used them).
However I don't like it much - but that is simply personal frustration at
tinkering with the VCL in C Builder, which was written in Pascal. So the
header files are awkward for me to read.
In some ways you could describe programming in general, as allocating some
block of memory, and then manipulating pointers into it. That is what C
teaches you to do.
C introduces additional complications based on its lack of memory
management, type checking and other useful features - things that
beginner programmers shouldn't have to concern themselves with.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
The Other Guy
2004-08-13 19:58:13 UTC
Permalink
Post by Patrick Dunford
C introduces additional complications based on its lack of memory
management, type checking and other useful features - things that
beginner programmers shouldn't have to concern themselves with.
Manukau also taught C in their degrees up until around 2000 when they
switched to VB. Dynamic memory allocation can be easily overlooked for
the first semester, and students use static blocks of memory only. Added
to that, they used the old 16-bit Borland DOS based compilers.

This is an _advantage_ of teaching C because it forces students to learn
about the limits of types, their representation in memory, and to write
code that addresses these limitations.

Higher level languages encourage bad programming practices, and are
usually wasteful of resources due to their encapsulation of simple tasks
that often result in reallocation of memory and large moves occuring
behind the scenes.

It may be nice to add strings together, rather than calling strcat or
doing it yourself, but the latter teaches students a lot more about what
is actually going on, and IMO, that is far more important than making it
easy for students.

The Other Guy
Patrick Dunford
2004-08-13 22:23:39 UTC
Permalink
Post by The Other Guy
Post by Patrick Dunford
C introduces additional complications based on its lack of memory
management, type checking and other useful features - things that
beginner programmers shouldn't have to concern themselves with.
Manukau also taught C in their degrees up until around 2000 when they
switched to VB. Dynamic memory allocation can be easily overlooked for
the first semester, and students use static blocks of memory only. Added
to that, they used the old 16-bit Borland DOS based compilers.
This is an _advantage_ of teaching C because it forces students to learn
about the limits of types, their representation in memory, and to write
code that addresses these limitations.
Higher level languages encourage bad programming practices, and are
usually wasteful of resources due to their encapsulation of simple tasks
that often result in reallocation of memory and large moves occuring
behind the scenes.
Java developed with an obvious C influence, Jade (ditto) and other new
developments drop all the bad features of C.

It is not necessary for a beginning programmer to know about the behind
the scenes tasks. The focus is on the basic principles of programming.
Post by The Other Guy
It may be nice to add strings together, rather than calling strcat or
doing it yourself, but the latter teaches students a lot more about what
is actually going on, and IMO, that is far more important than making it
easy for students.
Teaching programming principles does not require a knowledge of behind
the scenes activity. I started programming in Pascal on a PDP-11 with
dumb terminal input and line printer output. That didn't diminish my
ability to understand the principles.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
Nihil
2004-08-13 05:16:05 UTC
Permalink
Post by Warwick
C is an excellent precurser to C++, and it is wise to learn it first.
I did a lot of system programing in C for years before learning C++. To be
honest I found prior knowledge C of little help, if anything a hinderence
due to the procedural to OO paradigm shift required in my mind.

In reality it seems opinion on this varies from person to person, so I'm
curious as to why you make such an absolute statement.
Post by Warwick
VB is just bullshit, only learn it if you want to manipulate stuff in
office.
Rubbish. It is just another development tool with its pro and cons. I'm
quite proud of projects I've completed using VB whether it be my favourite
tool or not.
Post by Warwick
If you learn C / C++ any other language can be learnt in a matter of weeks.
I respectfully disagree. I believe the most important asset is the
understanding of basic programming principles which are transferable
between various languages. There is no dependency on learning C / C++ first
IMO.

-- Nihil
Dave - Dave.net.nz
2004-08-13 05:22:02 UTC
Permalink
Post by Nihil
Post by Warwick
VB is just bullshit, only learn it if you want to manipulate stuff in
office.
Rubbish. It is just another development tool with its pro and cons. I'm
quite proud of projects I've completed using VB whether it be my favourite
tool or not.
I gotta throw my two cents in here too... I love VB, sure I'm just a
system/network admin, and only using it to automate dumb arse little
things, but damn is it handy for doing them...

I cant comment on it's limitations, as sofar, Im the main one. :)
--
Dave Hall
http://www.dave.net.nz
EMB
2004-08-13 05:37:56 UTC
Permalink
Post by Dave - Dave.net.nz
I gotta throw my two cents in here too... I love VB, sure I'm just a
system/network admin, and only using it to automate dumb arse little
things, but damn is it handy for doing them...
I hate VB with a vengeance (for no good reason, it just pisses me off)
but it is bloody good for those "little things" so I use it occasionally.
--
EMB
change two to number to reply
Patrick Dunford
2004-08-13 05:40:39 UTC
Permalink
In article <***@uni-berlin.de>, ***@no_spam_here_dave.net.nz
says...
Post by Dave - Dave.net.nz
Post by Nihil
Post by Warwick
VB is just bullshit, only learn it if you want to manipulate stuff in
office.
Rubbish. It is just another development tool with its pro and cons. I'm
quite proud of projects I've completed using VB whether it be my favourite
tool or not.
I gotta throw my two cents in here too... I love VB, sure I'm just a
system/network admin, and only using it to automate dumb arse little
things, but damn is it handy for doing them...
I cant comment on it's limitations, as sofar, Im the main one. :)
It's Basic and I dislike Basic, also for some reason I dislike the MS
object model and like the Delphi one.

Either of those is miles ahead of C
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
EMB
2004-08-13 05:35:55 UTC
Permalink
Post by Nihil
I did a lot of system programing in C for years before learning C++. To be
honest I found prior knowledge C of little help, if anything a hinderence
due to the procedural to OO paradigm shift required in my mind.
<snip>
Post by Nihil
I respectfully disagree. I believe the most important asset is the
understanding of basic programming principles which are transferable
between various languages. There is no dependency on learning C / C++ first
I agree with you, but IMO basic programming principles are best learnt
outside of an OO environment which probably leaves C as a good starting
point.
--
EMB
change two to number to reply
Warwick
2004-08-13 06:32:28 UTC
Permalink
Post by Nihil
Post by Warwick
C is an excellent precurser to C++, and it is wise to learn it first.
I did a lot of system programing in C for years before learning C++. To be
honest I found prior knowledge C of little help, if anything a hinderence
due to the procedural to OO paradigm shift required in my mind.
In reality it seems opinion on this varies from person to person, so I'm
curious as to why you make such an absolute statement.
Post by Warwick
VB is just bullshit, only learn it if you want to manipulate stuff in
office.
Rubbish. It is just another development tool with its pro and cons. I'm
quite proud of projects I've completed using VB whether it be my favourite
tool or not.
Post by Warwick
If you learn C / C++ any other language can be learnt in a matter of weeks.
I respectfully disagree. I believe the most important asset is the
understanding of basic programming principles which are transferable
between various languages. There is no dependency on learning C / C++ first
IMO.
-- Nihil
I don't see why C++ requires a paradigm shift into OO.

It opens the door to templates, which are as UN OO as you can get.
Generalised functions that apply to any class (cool!).

And it allows inheritance which is useful for things outside OO (which I
don't buy into).

I found the most frustrating change was in IO and memory allocation.
I felt as if I had gone to some trouble to learn scanf, printf and malloc
etc and now I didn't need to know it anymore.

cheers
Daniel
2004-08-12 00:13:55 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Two things that really help develop someone's programming ability:
1. Motivation
2. Time (lots of it)

If he enjoys VB, then let him play with VB. Feed his interest by making it fun. If he keeps at
it, sooner or later he'll learn other languages - because he _wants_ to.

Make it too hard, and he might turn off.

Don't worry too much if VB is considered a "toy" language. In fact, I think VBA is a standard
part of MS applications.


Cheers.
JedMeister
2004-08-12 01:53:23 UTC
Permalink
Sorry not answering the question, but...

Reasons not to get into programming (as a career)...

1. Technologies change can requiring complete retraining and back to
beginner salaries 1/2 way through your career - this can't happen to an
accountant.

2. The 'Geek' perception.

3. Cash isn't so good as it used to be. Some major work has shifted to the
3rd world.

4. Training will often be required at own expense these days. If there is
demand for certain skills, companies will import skills rather than train
locals.

These days, builders seem to make more money.
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Dave - Dave.net.nz
2004-08-12 02:46:24 UTC
Permalink
Post by JedMeister
2. The 'Geek' perception.
whats wrong with being a geek?
--
Dave Hall
http://www.dave.net.nz
JedMeister
2004-08-12 03:01:09 UTC
Permalink
True, I remember Revenge of the Nerds. OK point 2 retracted.
Post by Dave - Dave.net.nz
Post by JedMeister
2. The 'Geek' perception.
whats wrong with being a geek?
--
Dave Hall
http://www.dave.net.nz
David Preece
2004-08-12 08:40:42 UTC
Permalink
Post by JedMeister
Reasons not to get into programming (as a career)...
Oh yeah? I'm listening.
Post by JedMeister
1. Technologies change can requiring complete retraining and back to
beginner salaries 1/2 way through your career
Bollocks. It's not like there's a loud bang and all computers start
working totally differently. No, the latest shiny thing is a slowly
moving target pushed by trends and marketing budgets. People get paid
*very* well for chasing the latest shiny thing backed with a few years
of more of the same.
Post by JedMeister
this can't happen to an
accountant.
New legislation? Happens all the time.
Post by JedMeister
2. The 'Geek' perception.
3. Cash isn't so good as it used to be.
Yup. This has had some very positive side effects in terms of keeping
the cowboys out.

You!! Wanna be on $150k+? Go be a property developer.

The "top" developers are still *very* well paid for what they do. Which
is fundamentally chanting out the currently fashionable corporate mantra
in a lot of ways.
Post by JedMeister
Some major work has shifted to the
3rd world.
Some major work is shifting here.
Post by JedMeister
4. Training will often be required at own expense these days.
Nah, someone with a few years Java can bullshit themselves into a C#
role with their eyes shut. Get enough in your head to pass the interview
and gain experience at the company's expense.

Not my company, mind.
Post by JedMeister
These days, builders seem to make more money.
Yes. Yes they do. Nothing wrong with that.

Dave
Allistar
2004-08-14 01:05:05 UTC
Permalink
Post by JedMeister
Sorry not answering the question, but...
Reasons not to get into programming (as a career)...
1. Technologies change can requiring complete retraining and back to
beginner salaries 1/2 way through your career - this can't happen to an
accountant.
True. Retraining is all about keeping a career healthy and not a negative
point. You wouldn't want your skills to statgnate would you?
Post by JedMeister
2. The 'Geek' perception.
And the problem with that is?
Post by JedMeister
3. Cash isn't so good as it used to be. Some major work has shifted to the
3rd world.
The cash depends on what you do and how you do it. Entry level developers
(with a fresh degree) would probably get between 35,000 and 50,000 I would
say. Getting 100,000 - 140,000 is not unheard of (for a contractor).
Post by JedMeister
4. Training will often be required at own expense these days. If there is
demand for certain skills, companies will import skills rather than train
locals.
I don't see a problem with that.
Post by JedMeister
These days, builders seem to make more money.
Indeed they do, especially the savvy ones.

Allistar.
I'm a Trampoline
2004-08-14 01:54:46 UTC
Permalink
Post by Allistar
The cash depends on what you do and how you do it. Entry level developers
(with a fresh degree) would probably get between 35,000 and 50,000 I would
say.
$35,000? You can make just over $35,000 teaching foundation skils with
no qualifications for it (and I'm talking just a few months into the job
too). I imagine in the bigger cities, you could get even more.
Nik Coughin
2004-08-12 03:43:02 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good
choice. There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore,
Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
I started programming at about that age, using Qbasic. In terms of
languages, I've worked with BASIC, Pascal, C, Cobol, C++, VB and Delphi,
roughly in that order. I now use Delphi pretty much exclusively (aside from
PHP for web stuff) but of all those languages I think QBasic is the best
tool for beginners. I can't stand VB, it's an abomination, but VB.net looks
OK.
Chris Hope
2004-08-12 04:03:18 UTC
Permalink
Post by Nik Coughin
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good
choice. There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore,
Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
I started programming at about that age, using Qbasic. In terms of
languages, I've worked with BASIC, Pascal, C, Cobol, C++, VB and Delphi,
roughly in that order. I now use Delphi pretty much exclusively (aside
from PHP for web stuff) but of all those languages I think QBasic is the
best
tool for beginners. I can't stand VB, it's an abomination, but VB.net
looks OK.
I started a little younger using the Basic that came with Commodores and
then progressed to Microsoft's GWBasic and QBasic at about that age. Since
then I've programmed in Pascal, Delphi, C, Javascript, Perl, VBScript, PHP,
VB6, VB.NET, C#. I prefer really only developing for the web and then with
PHP. I haven't really done a lot of Windows stuff and then it was only in
Delphi (about 7 years ago) and VB6 (last year).

It's all been pretty much self taught. Initially from opening up the basic
files and hacking them to cheat in the games and then from copying stuff
from books. Then moving forward and creating my own games.

When I decided to get serious about doing computing as a career (previously
had done an arts degree and Auckland uni), I did a programming course at
AIT/AUT about 7 or 8 years ago which is when I did my first formal
training, but that was only about the fundamentals of structure
programming, where we used QBasic as a learning tool.

I thought the course was pretty good and it taught me excellent fundamental
skills (I had for example been using sub routines in QBasic before this but
didn't fully understand how functions worked and how they could return
values). The rest of the languages (with the exception of a C course I also
did at AIT) I learned from text books and trial and error.

Anyway, been waffling on a bit... once you understand the fundamentals of
structured programming (and then object oriented programming) and
understand how one language works really well, it's easy to learn other
languages and gets easier the more you know. There's only so many ways to
loop, apply conditions and call functions so it ends up becoming more of
understanding what functions and objects the language has built in support
for.

I agree with one of the other posters that it's almost better to start with
something like QBasic where you have to write all the stuff and understand
it before progressing onto VB or Delphi where it writes a lot of code for
you. Although the other side of the coin is that you can then read the code
it creates to understand what's being done and extend and enhance.
--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Nik Coughin
2004-08-12 04:56:21 UTC
Permalink
Since then I've programmed in Pascal, Delphi, C, Javascript,
Perl, VBScript, PHP, VB6, VB.NET, C#. I prefer really only developing
for the web and then with PHP. I haven't really done a lot of Windows
stuff and then it was only in Delphi (about 7 years ago) and VB6
(last year).
Oh yeah, I forgot VBScript and Javascript, have done a lot of that. Also
VBA, and "WordBasic" which is what Word had before VBA. Have actually used
a ton of different scripting languages come to think of it. Some *ix shell
scripting too. I also prefer web development! PHP is a great language.
Have also been getting into writing strict HTML with CSS for presentation...
CSS is very powerful once you get the hang of it.
It's all been pretty much self taught. Initially from opening up the
basic files and hacking them to cheat in the games and then from
copying stuff from books. Then moving forward and creating my own
games.
That's exactly the path I followed, minus the books. I knew a few other
people who programmed in BASIC, so I learned from them instead.
When I decided to get serious about doing computing as a career
(previously had done an arts degree and Auckland uni), I did a
programming course at AIT/AUT about 7 or 8 years ago which is when I
did my first formal training, but that was only about the
fundamentals of structure programming, where we used QBasic as a
learning tool.
I also did programming at AUT, but probably more like six years ago. Hated
it and left after six months (straight out of school, which I left early,
and with a pretty immature mindset at that time). Ended up finishing the
diploma at Spherion instead.
Anyway, been waffling on a bit... once you understand the
fundamentals of structured programming (and then object oriented
programming) and understand how one language works really well, it's
easy to learn other languages and gets easier the more you know.
There's only so many ways to loop, apply conditions and call
functions so it ends up becoming more of understanding what functions
and objects the language has built in support for.
Yeah, most languages are fundamentally the same. The only exception I've
found was when I had to learn COBOL. Yuck, COBOL.
Bruce Hoult
2004-08-12 11:05:40 UTC
Permalink
Post by Nik Coughin
Yeah, most languages are fundamentally the same. The only exception I've
found was when I had to learn COBOL. Yuck, COBOL.
Then you haven't tried very many different types of languages.

The following language families are all totally different from each
other and from the "normal" Pascal/C/C++/Java/FORTRAN/COBOL languages:

- Haskell
- Scheme/Dylan/Common Lisp/emacs lisp
- SMLNJ/O'Caml
- Smalltalk
- prolog/Erlang

Each language group comes with its own mindset, each of which works well
for many applications.

-- Bruce
Warwick
2004-08-13 06:17:28 UTC
Permalink
Post by Bruce Hoult
Post by Nik Coughin
Yeah, most languages are fundamentally the same. The only exception I've
found was when I had to learn COBOL. Yuck, COBOL.
Then you haven't tried very many different types of languages.
The following language families are all totally different from each
- Haskell
- Scheme/Dylan/Common Lisp/emacs lisp
- SMLNJ/O'Caml
- Smalltalk
- prolog/Erlang
Each language group comes with its own mindset, each of which works well
for many applications.
-- Bruce
You can describe the first set ('normal') as imperitive and the second as
functional.
I agree with you, the functional languages are terribly underused and
infrequently mentioned, I can see the likes of Erlang OTP being as popular
as C and Java by the time this ten year old joins the workforce.
I found Haskell a total eyeopener, a joy to read to write, and far more
expressive than any imperitive language.

cheers
Bruce Hoult
2004-08-13 11:23:24 UTC
Permalink
Post by Warwick
Post by Bruce Hoult
The following language families are all totally different from each
- Haskell
- Scheme/Dylan/Common Lisp/emacs lisp
- SMLNJ/O'Caml
- Smalltalk
- prolog/Erlang
Each language group comes with its own mindset, each of which works well
for many applications.
-- Bruce
You can describe the first set ('normal') as imperitive and the second as
functional.
Not exactly. The definition of a "functional" language is that it does
not allow mutation of state (i.e. assignment statements). Haskell and
prolog are the only pure functional languages listed above.

Smalltalk is simply a very pure object-oriented language that relies
heavily on modifying state in objects.

The ML languages (SML/NJ and O'Caml) make it hard to modify state except
in arrays, but as a result people end up allocating a lot of 1-element
arrays in real programs just so they can modify them.

The Lisp family (Scheme, Dylan, Common Lisp, Emacs Lisp) all have the
necessary features to allow pure functional programming, but they also
easily allow imperitive programming and most real-world programs are a
mixture of the two styles.

The more "functional" your programming style, the more easily you can
prove (to yourself or others) that your program is correct, but in order
for programs to run fast the compiler needs to turn a
functionally-written program into imperitive machine code, and this
isn't always easy to do well. So the time-critical parts of programs
often end up being written with some imperitive parts.

What works very well in practise is to allow imperitive programming at
the lowest level (within bottom level functions) for efficiency, but
keep all the higher level interfaces purely functional. The classic
example of this is copying a singly-linked list. This is a functional
operation (the interface), but the fast way to implement it is to put
each new element on the front of the new list, thus building up a list
that is the reverse of the list you actually want, and then walking
along the list destructively modifying each element to point to the
previous element instead of the next element. That's imperitive code,
but the outside world can't tell because noone els ecan see the
internals of the list until you return the finished result.

-- Bruce
Brett
2004-08-12 05:58:24 UTC
Permalink
I would say Flash MX, it's got action script, does lots of flashy gfx and
sound things very easy. There are lots of tutorials and it's modern.

Brett
David Preece
2004-08-12 08:16:39 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program.
Logo. Taught me just fine.

http://www.softronix.com/logo.html

Dave
Dave - Dave.net.nz
2004-08-12 08:45:30 UTC
Permalink
Post by David Preece
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program.
Logo. Taught me just fine.
http://www.softronix.com/logo.html
OMG, logo.. I havent seen that since high school... wow, I really am a geek.
Bruce Hoult
2004-08-12 11:01:32 UTC
Permalink
Post by David Preece
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program.
Logo. Taught me just fine.
Not much wrong with Logo, but I think you'd be even better with either:

- Smalltalk (use Squeak)
- Scheme (use DrScheme)

Both come with really nice IDEs built in the language itself and lot sof
libraries and example programs.

My choice is DrScheme with the "How To Design Programs" book (free on
the web).

-- Bruce
m***@work.com
2004-08-12 08:42:39 UTC
Permalink
On Thu, 12 Aug 2004 09:34:22 +1200, "Bob" <***@bob.com> wrote:

Much as I hate to say so, consider this...
in such environments as Excel and Access, Visual Basic, or at least a
basic understanding of it's implementation is invaluable. It is use for scripting
and functions within these apps is the key to their versatility.
For this alone it is worth taking the time to get familiar with it.
KT
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Ron McNulty
2004-08-13 08:44:07 UTC
Permalink
There seems to be an assumption that he wants to learn "programming". I
think his appetite might be whetted more by producing a good, functional
website that looks pretty and can be shown off to his mates. This only needs
only Notepad and a bit of enthusiasm to get started.

As a Dad with a 16 year-old, I can tell you that motivation is far more
important than "correct" teaching. A motivated person will eventually teach
themselves.

Also, as an experienced computer professional, I can't recommend C, C++ or
even Delphi (my favorite environment) as beginners tools. They need the user
to handle memory allocation and deallocation, and that is beyond the
capabilities of many experienced programmes, let alone 10 year olds. VB is
easier, but can teach some foul programming practices. Java handles the
memory issues, but has a terribly complex GUI API (Swing). C# is expensive
if you want a reasonable IDE (although the open source ones are catching
up). I would never recommend VB.NET, as I think it will be phased out in the
next 5 years or so. Why learn the arcane VB.NET syntax when C#/Java
languages are emerging as the way of the future?

So I would go for HTML, and extend into Javascript (which will teach the
notion of objects). If it turns out to be a long-term interest, Java inside
the Eclipse IDE is an excellent free environment. A 10 year old programming
C++ is as likely as George Bush finding his weapons of mass destruction!

Regards

Ron
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good choice.
There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore, Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
Patrick Dunford
2004-08-13 12:33:44 UTC
Permalink
Post by Ron McNulty
So I would go for HTML,
HTML is NOT a PROGRAMMING LANGUAGE.

HTML IS A PAGE DESCRIPTION LANGUAGE.

No one in their right mind would teach programming using HTML.
--
"Marriage is a lifelong covenant commitment between
a man and a woman.

This foundation provides the best possible
environment to raise our children."

See http://www.maxim.org.nz/civilunions.html
AD.
2004-08-14 01:05:59 UTC
Permalink
Post by Patrick Dunford
Post by Ron McNulty
So I would go for HTML,
HTML is NOT a PROGRAMMING LANGUAGE.
HTML IS A PAGE DESCRIPTION LANGUAGE.
No one in their right mind would teach programming using HTML.
He never claimed it was. I think it would be a good idea.

Sure it's not programming, but it is a simple way of showing the concepts
abstraction and the importance of syntax/validity etc. They get to see how
a bunch of funny looking text can be used to produce something else.

I think it would be a good intro to 'coding' (I didn't say programming)
and a good way of finding out whether or not they will actually enjoy
learning to program or not. Let's face it, if they struggle with HTML and
don't get it - trying to teach them to program will be more painful.

Anyway, afterwards for an actual programming language I would recommend
Python.

It has an immediate mode interpreter for instant feedback, the language is
high level and the code is readable, you can start off with just
procedural stuff then easily move to OO later on.

Cheers
Anton
..Waylon Smithers..
2004-08-14 11:00:26 UTC
Permalink
Post by Patrick Dunford
Post by Ron McNulty
So I would go for HTML,
HTML is NOT a PROGRAMMING LANGUAGE.
HTML IS A PAGE DESCRIPTION LANGUAGE.
No one in their right mind would teach programming using HTML.
No, you're missing the point Patrick.

Getting a 10 year old motivated enough to learn something new, something
with computers, and something so pedantic that it must be done correctly =
learning HTML is a good start.

After the motivation is there, refining the learning will happen. Just as it
happens to each and every one of us.
Post by Patrick Dunford
"Marriage is a lifelong covenant commitment between a man and a woman.
This foundation provides the best possible environment to raise our
children."

Yeah right. If Amber Lundy could communicate, she might not agree with that
sweeping statement.
Nik Coughin
2004-08-15 06:48:10 UTC
Permalink
Post by Bob
As I said in the Subject, I have a friend with a 10yr old son who is
interested in learning to program. I thought VB might be a good
choice. There used to be a Learning Edition available with a book.
Perhaps there are courses that kids can attend (North Shore,
Auckland)?
Can anyone with kids perhaps give me a bit of guidance.
Thx
This is something you can get nice sparkly graphics in quite quickly:

www.darkbasic.co.uk

"DarkBASIC allows you to create your own games, demos, slideshows, even
business applications using the easy to understand BASIC programming
language. Even if you've never coded before, just follow the in-depth
tutorials and you'll be generating results in minutes! Harness the power of
Direct X and make 3D objects come to life in just a few simple commands."
Loading...