Join 131,739 C++ Programmers for FREE! Get instant access to thousands of C++ experts, tutorials, code snippets, and more! There are 2,206 people online right now. Registration is fast and FREE... Join Now!
No it's not. Of course, having background in one programming language will make learning others easier, but it is not necessary at all. Programming languages are nothing more than that...languages. Most accomplish the same things, they just use a different syntax and some differing methodologies.
The key to programming is being able to think...to be able to analyze a problem and think of a solution. The language used to implement that solution is irrelevant (based on some key considerations).
I belive that if you are willing to work at it, you can easily teach yourself programming from a book, or just by doing...experimenting. Use the resources that are available...the ether abounds with forums such as these, and many other resources aside.
I can program competently in more than 30 programming languages, but I only became acquainted with 4 of them in an academic setting.
You should learn whichever way you feel most comfortable, be it class, books, or just trial and error.
I'm still mediocre with my programming, and very much so an amateur with my overall knowledge of C++ and other languages.
I've always (painstakingly) chosen a program to write. After the long, painful process of deciding what exactly I want to make, I write the base program. An example:
A program to store all my contacts. Yes, I could have done this far easier with Excel or other programs that are off-the-shelf, or available to download. But, after I got the base down (menu and writing to a file), I decided to learn reading from files, and working with the input. Now, I've designed a function that searches (very basically) for whatever the user inputs, and locates the appropriate contacts that match the criteria. It's slow, and it can be irritating, but you'll learn at your own pace, and in the end you might have a very, very cool little program.
I've found that adding, removing and streamlining my code has taught me much more, far quicker than formal training did.
As long as you have the desire to learn, no matter what you select, you'll be able to do it. I always buy myself books since classes never end up covering up what they promise...and secondly I also doubt the Lecturers Knowledge of the Subject. In My opinion...Books will get you going....ONLY if you have the force to keep you going...
i want to learn but i just don't understand this stuff i got the real basics down but boy do i get confused when using for loops or this damn function thing i'm working on
Like any skill set, it's a matter of practice. The more you do, the more comfortable you will become. As with mathematics, sometimes it is best to separate into the smallest component parts, and learn each of those, then put it all together.
Sometimes people who have coded in Perl and then move to C find the environment harder and cannot cope; people who had experience with PHP find it is easier to code in C because the syntax is similar (as PHP was constructed from C). I do not advise someone with no knowledge of a programming language to attempt C, because it is far to complex for the average programmer. Try learning Web programming first and then a bit of bash maybe then C. But C++ is different from C,because its more user friendly, but an hardcore programmer would stick with C if he wasn't designing an interface.
I would advise the exact opposite. Programming is not about the language, it is about understanding how to think, how to formulate solutions. The language is merely a matter of syntax.
C is not so much more difficult as it is more developed...it has been the programming standard for many years, and as such, has developed a wide based set of tools with which to work. It takes more time to learn because there is more to learn.
C++ is a far more complex language than C, as there is a great deal of added functionality when one switches from a procedural language to an OO one.
Anyone who can program in one langauge can learn any of them...the underlying methodologies are the same (except between procedural and OOP). The syntax and toolset is what differs.
Don't worry about it if you are confused now, it's a phase everyone learning C++ without knowing any other language, or knowing anything about programming whatsoever (Ex. Me) goes through. But if you take it slowly it will clear up as you use it more and more.
When i first begun I really didnt understand much of what i was doing, and I hadn't learned any programming/scripting languages before that (not even HTML, i still dont know HTML). So i kept starting and stoping C++, and then basicly one day i woke up and I just understood the stuff and it made sence out of nowhere (it was seriously like that ). And then i kept on going with C++, and now (about 1 year and 6 months later) I would say i know quite some C++, and doing Win32.
The most important thing about learning C++ is that you go at your own pace, and you have the desire to keep going.
I'd say the best way to learn, is by doing. This gives you experience to what you need to do, and how to solve the problems.
Start by learning the basic syntax of a language, and then think of something you can make which is within your reach. Then take out a piece of paper and write all the requirements and a flowchart (what your program does at a certain time) of it. Then start programming. If it doesn't work, search the net to see if anyone did the same before you and see how he solved the problems.
You'll need patience though... Lots and lots and lots and lots of patience...