Discussion in 'Software' started by TheEclipse, 19 Aug 2007.
If you do go the route I suggested, I would get him the O'Reilly book on Cocoa.
I tend to find the Sams series of books pretty good (the "learn x in 21 days" sort).
I agree with the C/C++ argument, we started in VB at college which was pretty easy, I got to uni and did Java and failed miserably, Java has proper programming concepts and VB doesn't really. I can't stand coding either way but I still wish I'd been taugh C at college not VB.
So back to your son, yup C or C++, get an idiots guide too or one of the "bible" series of books, I had one of them for flash and they are awesome.
This will be a good way for your son to see if he really does like coding.
Then of course, if he does, god help him.
C++ is "the future" but C is [a bit] simpler while still being extremely similar. I would say learn C, then pick up the 'finer techniques' of C++ to wrap things up. If you can do structures, OOP (and classes etc.) will come naturally. Why do I say learn this way? Because C programs will be much easier to get compiled/linked as C++ is much more rigid and will throw up more warnings/errors to a novice programmer.
As for books, avoid the SAMS Teach Yourself books.
As they are ****.
O'Reilly make good books, however.
For an IDE, I'd recommend Visual C++ Express as it's a decent IDE, free, and Visual Studio is pretty much the industry standard. Down sides: No MFC ([sarcasm]boo hoo[/sarcasm]). You need to follow these instructions to get your platform SDK before you can begin. No big deal, though.
Addendum: Learn good programming practises. Find a prefered indentation style and notation style. Stick with it. use sensible variable names (single letters are OK for loops though!). Stuff to avoid doing!
I couldn't agree with this more, I started with COBOL on an ICL mainframe and trying to decipher other peoples messy code was a nightmare.
Keep those book coming he is now going to learn C not C++ and learn C++ at a much later date.
Not really, he should probably move to C++ after a few weeks IMO...
Depends how long it takes him to learn C. You don't need to know absolutely all of the intricacies, but at least a little practice would be good, especially if he ever has to code in C. However, making the switch from C to C++ should take no time at all. Maybe a week or so. Although people do learn at different speeds.
However, if by "a few" you mean about 4-5 (assuming he's not coding 24/7. not everyone can be super-code-jockeys, after all) then I'd aggress with you totally.
Yeah, something like 4-6 weeks
Isn't Java increasingly popular. I'm no programmer, but I used to hear my electrical engineering brother and his friends using C or derivatives/relatives of C. But now, all my engineering friends and comp sci friends learn Java.
Ok but i would really really love to hear your suggestions. Sorry, He really wants to start learning.
Most universities are splitting into Java or C++ now I've noticed.
We had a C/C++ course in our first year, but it didn't use C and our ICAs were marked down if we used C and not C++.
Admitadly it was just the printf()/scanf() style functions but it was a trend.
I tried to learn Java but at the time I was distracted and didn't want to use Java because I wanted to do a different job. Now I want to do Driver development so I'm getting deeper into my code and doing Software Engineering.
My suggestion would be Java.
It's a nice clean language, not like the bag of spanners that C and C++ are. Very OO too, which is popular these days.
It's probably best just to learn a nice OO language, just to understand the idea of objects and whatnot, then to go on learn basic design patterns and whatnot. These will be transferrable between any language, and he'll be able to pick up any language as need be!
Thanks for all your language options. But i would really like to hear some books.
Tbh a lot of us probably didn't use books and instead we've probably all just got reference books (I know I have anyway).
Like I said just check out some reviews on Amazon. It isn't hard and they're usually quite good
yeah its abit of a toss up which to use, at manchester all the electronic engineers share a common year where you used learn bits of java and bits of c/c++ then all those who chose electronic systems engineering (like me) take further modules in c and java is ever discussed again and vice versa for the other EE courses. You can use either language for your project but there is an exam on which language your school teaches. Now for the the last 2 years i think it is, all courses teach java.
P.S. I second the recommendation for "The C Programming Language" ISBN-10: 0131103628
If you know Java and C, the C++ is pretty easy to pick up (this is the order it was taught to us when I was at Uni). Once you know the concepts of OO and the syntax of C, then C++ is pretty easy to pick up. If you know those 3, then you've got a pretty solid base to work on to pick up pretty much any other language (at least the major ones anyway).
Pretty much the same thing, I have the ASM x86 reference, OpenGL, Distributed Systems, and so on. The best books I have (because I like to hurt myself) are the Knuth series of books. I strongly don't reccomend you use them unless you want nightmares
I've got learn java in 21 days and learn php in 24 hours both from about 6 years ago and they seemed pretty good to me - clear layout with chapters which increase in difficulty in some sort of logical way. I wouldn't recommend them for people who can already program, they tend to focus on programming principles rather than anything particulary advanced (which is why I'd recommend them for a beginner )
The only books I have these days are Microsoft Press MCTS/MCPD books. They are very hit and miss in terms of quality so unless you have a specific book in mind then it's probably best to stay well clear of these!!
Ironically, I have 4 of the books. C++ in 24 hours, Game Programming in 24 hours (C++), Flash MX 2004 in 24 hours and ActionScript in 24 hours.
I thought they were good books at the time, but in retrospect, everything in them is pretty much useless. You can learn the same stuff just by Googling for tutorials, and the included CD is pretty naff - most of the included code wouldn't even compile for me without making a load of changes.
But maybe I'm biased; I've since learnt that I learn most effectively by just looking at other code and reverse engineering how it works, so because the included code wasn't great, the books were pretty useless to me.Some people say they're good books, but to me it felt like they'd just throw a quick explanation (which can be found for free on the internet) of a topic together with a bit of code that doesn't really help illustrate anything. You're better off trying to write your own, than reading through an example, IMO.
The section on pointers was especially rubbish. I never understood that at all until I searched around on Google for a better explanation.
Separate names with a comma.