I know this is OT but I rather suspect that some of you will be able to help.
Boy1 (13) is interested in learning how to write code and so I would like to set him up with a toolkit for his PC (Windows) unfortunately my programming days are somewhat in the past and restricted to MUMPS which was archaic even back then. Has anyone any suggestions for a suitable platform? As ever the cheaper the better.
Have a look at Lazerus its an open source clone of Ebarcadero's[1] Delphi development environment.
formatting link
It gives you all the tools in one place, a proper integrated development environment, code editor, object inspector, drag and drop interface building, debugger etc. The language is based on a greatly extended object Pascal with a very elegant class library based on the original Borland VCL (designed by Anders Hejlsberg who was later poached by MS to develop C#)
The big drawback I found when I tried to get into Python was that everything non-trivial needed one to find the right class to add to the basic language. On the one hand, it was nice to have classes already written to do more complex things, on the other hand it's not easy for a beginner in a particular language to judge which one of (perhaps) a multitude of extension packages best suits a job.
I think I'd start with some simpler less extensible language where there's a better chance of getting to grips with a much smaller range of possible features.
How good is the lad at maths? That strongly colours the best answer...
I agree that for a beginner one of the Pascal based languages is a good bet and that Delphi had a cute development environment.
Another now obscure related language with similar though more minimalist tendencies are Wirths later Modula2 and Oberon languages. Several free compilers are available of which XDS is probably the best and it comes with a few code examples that show what it can do.
formatting link
Toy programming projects he can easily do in the VBA project side of Office applications like Excel or shudder Word.
MS offer free versions of their compilers for download but I think the learning curve is far too steep for most people to make any progress without an experienced coach or teacher to hand.
Code to do what? Writing a game that is much above Pong or Breakout takes a lot of effort. "Hello World" gets boring after a while. There has to be an itch that needs to scratched.
Hum, personally I'm not keen on Python, it relies on correct and non mixed (tab/space) indentation to run and when it doesn't it doesn't, in my experience, tell you that it's upset about the indentation, it just weird things (cause code is being run in an unexpected order) or falls over with an error "that can't happen", except when the code is running in an unexpected order.
Starting with HTML/CSS and moving on to PHP might be good place as you get results straight away. If he has a Smartphone developing something for that should give good rewards, the tools for Android are free, donno about iOS.
I'd avoid any of the "teaching" languages, why learn something that isn't used in the real world? It might give a grounding in the basic way that code is structured but you can get that from any more main stream languages with a decent "Beginers Guide to ..." book or online tutorial.
Unless you've actually got a problem that needs to be solved, or you're some kind of wierdo who actually likes figuring code syntax out, you'll never get beyond "Hello World". Which is why I never have.
Forget Windows and get a Raspberry Pi. Cheap, much more interesting and vast amount of support material. You also get the ability to easily make things happen outside the computer - like controlling lights, motors, sensing things etc.
For my email client I've had, for OS X, Win7, and Linux, to make a double-clickable program that can if required put up an error message in a pane and run a PHP script that does the real startup work.
I started on this under OS X using AppleScript which I found tedious but doable with a bit of googling.
I was expecting that it would be easier using Visual Basic under Win7 - no, it was harder. But hardest of all was Python under Linux. I ended up just cutting and pasting code until it worked, with no particular understanding of what I was doing, or what any of it was supposed to mean.
Apparently he has been working on Scratch at school and has found it easy. He's decided to give Greenfoot a go which is a result as it should keep him quiet during a snow day.
Thanks to everyone for the advice - if this shows any sign of being more than a passing fad he may be getting a Raspberry Pi for his birthday.
Looks like C, low overhead, do a lot without any modules and the basic core of it's syntax is very similar to C, PHP and Java so, like Latin it is both not quite dead, and a very useful thing to learn as it makes learning other languages easier.
In MSAccess circa 2000, I was grateful for the macro record facility. Seeing how the actions you want to automate translate into code, which you can then tweak, made the whole thing more accessible for a beginner.
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.