C++ is being integrated into the kernel Anyway, it's about programming in general, C++ is the best way to learn good habits like OOP.
I'd go with C++ if you were going to choose out of C/C++. Simply because of the OOP stuff. Also, you can make kernel modules and such out of anything (MS has a project where the kernel is C# code, slow as hell though).
Depends who you ask C almost naturally leads to C++ - he will progress to C++ in all likelihood. Doug will tell you to jump straight into C++, but I would say you should spend at least a little time with C before going to C++. Just my 2p Bear in mind that the book I recommended is a reference, not a hand-holding guide on how to learn. I suppose that was a bad recommendation in that respect, but it is worth buying to go along side a tutorial type book (for which I have no recommendations).
Wow 13 yrs some of you guys started!! Anyway..here's my history, Pascal at college, C/C++, Java at uni, as well as some php. Trying to learn a bit of C# now. so my tip start with C, then C++, then java. C is the best to learn. I don't have any books, because we did Embedded C, and it helps to have practical lessons, with teachers. So am stuck on that point. Best to buy some C books and just dig in.
have a look at the books here: http://www.amazon.co.uk/s/ref=sr_nr...:c,n:71,n:269678,n:404252,n:269780,n:14166531
In my school we started (and a currently revising) Visual Basic and i seemed too have picked it up fairly quickly. Its not that tremendously dificult either. I would really try somthing you can get a visual output and something worthwhile. More than making a picture of a clown appear and disapear... So for that instace i would recomend LUA (http://www.lua.org/) used with garrys mod or something similair. I hope he emjoys what ever he chooses!
Hi, I am 15 now and was in a similar predicament 2 years back, so I have a few recommendations which made my life easier. What OS does he use? Linux is doubtless the easiest OS to learn to program in, mostly due to the open-sourceness of its apps. I use Gentoo mostly because of the ease in which one can write new programs or modify existing ones. If he was willing to switch, it would make his life a lot easier. In terms of the language, I suggest C, because it teaches you excellent program design, is portable between OSes and architectures, and because it is so widely used. Before C, I tried BASIC, python, and ruby, and didn't like them at all, mostly due to how application-specific BASIC is, and the overhead of the python and ruby interpreters. If at a later date he wants to learn C++, he will be well on his way, whereas it is very hard to revert to C from C++ if needed. I found "C in easy steps" to be an excellent book, as it covers most of C, but concisely, so it also useful for referance. It is a lot less daunting than other books, while retaining most of the factual info. The thing I found most important was to focus on a specific app I wanted to make, I chose writing a pacman clone in C for my ipod. Again, it may not be to taste, but I found ipodlinux easy to code for, but rewarding and informative, and the programs are short enough to understand easily. I suggest that early on he chooses a program to design, as it gives focus to the learning experiance.
Thanks Confused FishCake. He Uses Windows Xp/Vista and is thinking about buying a Mac next year. Would want to program applications for windows though. Now he has decided to learn C what books would you reccomend for that particular language.
I only made my sugestion because all Ive ever used was basic and Visual basic in College and both were very nOOb friendly. I didnt really want to learn how to program, and had no idea about any of it but both were really simple to the extent that even I understood what was going on and could manage them lol The idea of goals is also a good one rather than just playing about on them
Programming graphical applications in Windows is horrific. I would definitely suggest doing it on a Mac, after learning C/C++ he could go on to learn Cocoa (a framework for OS X) which will allow him to make graphical applications in OS X with ease.
I'd say start with some basic Java (no real need to worry about pointers) and once you can do some very basic stuff, move on to C (especially learning pointers and memory allocation/deallocation), from there he can either go back to Java or move on to C++ to learn OO. Personally I started with GWBasic (back on DOS 4), and moved on to Visual Basic before going to Uni. While some of the basic concepts helped a bit (such as variables, if then else, arrays, etc) I think starting with another language would have been much better.
do NOT start with basic / visual basic. Trust me on that. You're only shooting yourself in the foot when the time comes to learn something new. Do yourself a favor and start with C++. I recommend the book by Dissection.
Intresting. He is sure he wants to do either C or C++. I really need some of your reccomendations for books.
Hmmm... Are you sure you don't want to go the route my dad did and tell me I had to be a chiropractor or he wasn't going to help me through college? It's a real cheap way of getting out of paying for your kids college if they have any balls whatsoever. /bitterness I went BASIC -> Visual BASIC -> C++ and it seemed to go pretty smoothly just coding games and programs I wanted to. Plus my highschool had some great teachers that knew how to code and were willing to help students who wanted to learn.
I was really hoping that somone on here might reccomend a book as you can never tell how good they are on amazon.