My 14 year old son wants to learn how to program computers. He thinks it would be fun not just to use applications and play games but to learn how to write them. What language would you suggest he begin with.
Thank you for your input. What are the diffrences between BASIC and VISUAL BASIC. How might he expand from VISUAL BASIC. Any books you might reccommend would be really useful and of great help.
Visual Basic 6 is easiest, but is a little obsolete. VB .NET would be more future proof, but a little trickier (as it's closer to a real man's programming language). Or just do what I did, get stuck into C++ (aged 13) then learn VB6 later (when I was 14). Once you know C/C++/C#, you can cope with any language and pick them up in a few days/weeks of practice.
So Any books that you might reccomend him. How hard is it to learn C/C++/C# as your first ever language.
Visual Basic is easy but the problem is it doesn't really teach you anything. Learning Visual Basic is a bit like learning how to drive an automatic car before you have learnt to drive a manual - you really need to understand what is going on before you drive an auto if you plan to become a good driver. Everyone should start out learning C/C++ or at the very least a language very close to C or C++. It teaches you many fundamental concepts that apply to all areas of programming - data types and structures, memory management and a host of other incredibly important topics. Jumping into "programming" with VB doesn't teach you even the tip of the iceberg. VB is a tool for people who know how to program to quickly put together apps. It is not for learning. So, do your Son a favour and pick him up a book on C - K&R's Programming C book is widely regarded as the best. You'll probably quickly find out if he is cut out to be a programmer depending on if he likes C or not Actually, no language is hard per se - it's what you are trying to do that is difficult (or not). It's easy to write something simple in the same way that it's easy to build a wheelbarrow. Building an F1 car is difficult just like writing an OS is difficult If your son can wrap his head around programming concepts then he will find programming easy regardless of the language he is programming in. The language is just a tool - a way of writing a description, in the same way that a car is just a method of getting from A to B. It's whether he can put all of the pieces together or not... and that is often something that can't be taught or can only be taught to a certain level. How is his maths at school?
Learning Basic will just give him bad habits. I started on PHP when I was about 14, then moved up to C from there.
Recommend something like PHP. It's close to C but it's easy to pick up and learn. After C I'd recommend assembler. It's old and archaic but it does teach you about the arch you're working on.
Thanks RTT, His maths is reasonable. He is really good at algerbra. Has anyone else got any books to reccomend. I think he really wants to aim to learn a language from the "C" family. Which would you reccomend.
When I was at university, I started with C and Assembler and then moved onto Prolog and Java in my first year. I'd definitely recommend C to start with, as it'll help to instil the right programming concepts/practices/techniques. Once he's grasped those, he'll then be able to apply the same principles to virtually every procedural language out there.
To be honest starting with C# would be a bad idea. It's centered around .NET which is a framework - he needs to learn object orientation before he will get to grips with C# (or Java or any other (usually) framework-centric language). Stick to straight C/C++ for the time being He'll jump up to Java/C# and others on his own...
Hi im currently 16 and began learning C++ 1 or 2 years ago and the first book i bought which i think is incredibly good is Beginning C++ Game Programming by Michael Dawson It assumes no prior knowledge of any other programming language or programming in general and as it introduces new topics, it'll walk you through putting them to use in making simple text based "games" I say "games" because not all of them are: a prime example being the game lobby but thats besides the point. This is a great book which will teach your son everything he needs to get started programming on the command line interface and then he'll probably be looking for a new book to program windows apps. Hope this helps and id be interested in hearing how he gets along
I would personally say C++, C is becoming more for legacy application now, and it can lead to some confusion (people at unis saying that printf() and scanf() are C++ when they are C). C is good to know about, but C++ primarily is best. http://www.cprogramming.com/ is an excellent website with a very friendly forum
wut? C and C++ are two completely different beasts. You can't use C++ is too high-level for kernel programming/device drivers.