The learning curve for Perl is a vertical cliff. I wouldn't recommend it for anyone as a first language (and I speak as a Perl programmer and huge fan of the language.)
After all, anything that allows you to write this ... :o)
while () { s/[aeiouAEIOU]//g; s/\b(\w)/uc($1)/eg; s/ +//g; print; }
If you wanted to be a professional programmer I would agree with Dennis's approach, and indeed tackle C# as being a very employable programming language.
The problem here is that the OP's son will want quick results, and while VS Express is very powerful and do everything ever needed, I would be worried about the lad getting bored with getting slow results.
Hence why I thought it best for others in the know to come up with alternatives. The Raspberry Pi might be a good idea for the lad. It depends on what he wants to achieve and something like Scratch might be more appropriate.
I suggested webpages, because it's visual, and if interested can move onto server or client side scripts.
6 years ago, I needed to write a program very quickly to control a pedestrian crossing model, so I used a picaxe microcontroller, which you program in basic directly.
formatting link
If you can think of a project which includes controlling some hardware, that can make the whole thing much more appealing than just doing somthing on a screen. On that basis, you might consider looking at languages which easily transfer to something like the raspberry pi, even if you initially start on Windows.
Syntax error with your brackets, I see. With a compiled language that will be picked up straight away, but with an interpreted language such as plain old English, as used on UK newsgroups, it can get missed until that line of code gets executed.
"One feature I designed, auto power-off, I didn't initially have time to breadboard and implement in the hardware (although it is in the software), so that got missed out, and a separate on/off switch had to be added, much as I wished to have got away without one. A couple of years after first constructing the pedestrian crossing, I got the unit back for a day, and added the auto power-off hardware, allowing the on/off switch to be removed."
Excerpts from "The Programmers' Guide to Programmers" by Verity Stob:
BASIC programmers are paranoid because any 16 year old could do their job, if asked. To try to secure their positions, they deliberately write code using the double-spaghetti method, never using a FOR...NEXT loop where four or five IF...THEN...ELSE constructs might do. Since they taught themselves programming on a ZX81 rigged up to the family telly, they have quixotic gaps in their computing knowledge. BASIC programmers ring up technical support centres to ask questions like "What are all those funny numbers with letters in them?"
FORTRAN programmers learned their craft at college in 1935. They are convinced that theirs is the language of the future, pointing out that in 1966 it was selected as the ANSI standard for writing Snoopy calendar programs. FORTRAN programmers are not altogether at ease with modern peripherals such as VDUs (which they revealingly refer to as "glass teletypes"). They are the only people in the programming community to use flow-charts, which they draw with loving care using the special WH Smith's stencils. These diagrams are then filed away with the source code, ignored for the life of the program, then finally thrown away unread; because even FORTRAN is easier to read than a flow-chart.
The neat thing about Scratch is that it makes multithreaded, event-driven GUI stuff work so easily (e.g., make the little characters dance around the screen & react when they bump into each other). I guess the problem is that you get used to that, then try to do the same in some other language, like Java.
Yabbut when I pick up a fork, I know just what it is & how it works.
I used to use Perl quite enthusiastically but gave up a couple of years ago when I tried to recycle an XML-transformation program that I'd written about 1 or 2 years earlier. Even with comments, I messed with it for a while & decided it would be easier to write a new one in Python than to decipher & modify the old one.
HomeOwnersHub website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.