Since I had my Spectrum back in the day, messing around with BASIC I've always wanted to get into programming. Although, I never actually made anything since I was only about 7 years old when I had it. But had fun bashing away on they keyboard none the less. I remember playing around with Pascal and HTML in college and remember it being fun and interesting. But since then I've never had the time or money to really get my teeth into it but now I am unemployed and have masses of time on my hands its something I really want to persue. Better than watching daytime TV like Jeremy Kyle and such...
After looking at numerous sites reading conflicting comments about C++ being easy/hard, I was just thinking, 'should I just get on with it?' Or is there another language people would recommend learning beforehand?
I've got my hands on a coule of Ebooks and obviously there are forums such as this one but is there anything else I would need? A good free compiler as such?
I started C++ with practically zero programming experience, and I haven't found it very difficult. It may not be as easy as some others like BASIC, but it isn't too hard to learn.
C++ is a very simple language -- but vastly expandable and usable in vastly different ways, so it is often called "huge" and "hard".
There is nothing wrong with learning to program using C++. If you have a good curriculum (however that may come) you'll do just as well in C++ as any other language.
"Bjarne Stroustrup The C + + Programming Lanuage" I advise you to read the book.
That's more of a reference book. There's another book by Stroustrup that's really good if you're learning to program: "Programming: Principles and Practices using C++".
c++ can be very frustrating, at least I thought so at first, but once you have a decent grasp on it it's a fun and interesting language, ultimately the only way to find out if you'll like it is to try it out.
You can get visual studio express for free I'd recommend that, and as for books are concerned I don't think there's any need to invest any money until you're sure you enjoy programming in c++, use this site's tutorials.
Definitely learn C++ but definitely do not start with The C++ Programming Language. Stroustrup has other books out there that may be more applicable.
Start out with a simple text, like C++ Programming Today, C++ Primer, or another book to teach syntax.
Then, consider the follow books roughly in this order if interest continues:
Scott Meyers' Effective C++
Generic Programming and the STL
Design Patterns by GoF
C++ Coding Standards
Exceptional C++
...and continue the C++ In-Depth Series
If you go through all of those you'll be very, very strong in C++.
Other supplemental material may include topics such as algorithms, version control, project management, build/release strategies, GUI toolkits, and other APIs.
Good joke. Really. Someone who says such things either doesn't know C++ or any other language.
but vastly expandable and usable in vastly different ways, so it is often called "huge" and "hard".
Another good joke.
It is huge and hard because of unorthogonal, misdesigned, redundant features. And it is expandable only if you compare it to VB, PHP or Delphi.
the world is VERY complex, and to some extent the tools we use reflect that. Among the tools we use, C++ is nowhere near the most complex.
Whatever the reason, and contrary to the popular doomsday scenarios, most programmers who genuinely try succeed in becoming productive C++ programmers in a reasonable time.
Stroustrup wrote:
C++ isn't perfect. That is well known and acknowledged from the start. It is, however, a reasonably carefully thought-out language where the design is based part on acknowledged principles and part on solid experience and feedback from actual use.
And just because of this, his excuses are absolutely not trustworthy. You have to quote someone else, having such respect in CS as Stroustrup, especially in computer language design, who agrees with him. I haven't heard of any such person, even among people that write books on C++. However, with one thing BS is right: the world is very complex. And that is why languages should not add more complexity to it. BS doesn't understand that adding more features to the language doesn't make the language better. Fortunately the C++0x standarization committee understands it better now than ever, and "concepts" - an overcomplex, ugly patch to C++ templates - were dropped.
If it is a simple language, tell me, wtf, 10 years was not enough for the major compiler implementations to implement the ANSI ISO 98 standard fully and correctly? And wtf major IDEs still have problems on basic things like debugging (try to debug STL code) or auto-completion?
On the other hand other statically typed languages (e.g. C# or Java) don't suffer from these problems.
I say "C++ is a simple language" is a lie. It is one of the most complicated languages out there. It is also one of the most difficult languages to learn and master.
I wouldn't say learning C++ up to the point where you can comfortably use a library to get something done is hard at all. It sure is a complex language, as far as languages go, but you don't have to learn every little detail about it to use it reasonably well.
Mastering it certainly takes a long way, but I don't see why a programmer should be specifically interested in mastering a language, as opposed to get things done with it and learn what is needed in the process.
I know a lot of language rather than.I think one should know the language very well.
paython, php etc.. knows there is money. but C and C + + very well known because these are the basic language.