I'm still learning C++ myself at the moment, but I'll post some advice from my experience so far, in the hope it might be some use to you.
First of all, if you already know a programming language, try to keep it from your mind. I've often found myself structuring a program by instinct in the way I'd set up something like a PHP project, and then having to change huge amounts when I find C++ reacts differently. Knowing another language is helpful when starting, don't get me wrong, as a lot of the principles are the same, but the structure is a lot more complex.
I'd advise also getting some kind of book, maybe a couple even. Check out your local library, see if they've got any in so you can find one that suits your learning style before putting your cash down.
There are some online tutorials, but these tend to be more specialised once you get past the basics, so you need to search around a lot for them, and you'll often find that two tutorials in different areas use different methods, even for the parts they have in common. Some will use different commands to read input, different data handling and such, so it's good to have some books which have a common "style" throughout.
Hope all this is some help to you, and good luck with your learning!
I'll stick some links to some websites I've used below as well, might be something of some use to you.
Horrible language, if you haven't had any previous programming experience i recommend Visual Basic first. But i'm a complete programming novice so probably best not to take my advice
C(anything, except maybe #) is a horrible language for a beginner. The language and even most tutorials assume you know what you're doing, know how to read documentation, and different distro's all have aspects that can be different.
Since you're going to have to learn other languages anyways you might as well start with Java or Visual Basic. Both of which you have no excuse for not using since they both have top quality IDEs for free.
-------------
If you want java you can use This then This. Which are both free and from the makers of the language themselves, sadly some assumptions are made that you already know some programming but if you care it shouldn't be that big of an issue if you use some forums(like: the programming one in our developers corner, or gamedev.net forums). The general rule for forum help is 2 hours of research to make it worth someone else's time.
If you're willing to spend 5-8 dollars on a very good used book (40 new) you could use this. if you use the previous resources with it you should have no problem whatsoever on anything.
-------------
I personally have the opinion that someone who is "teaching themselves" will probably have an easier time learning java than Visual Basic(VB). Sure VB is a lot easier to get the basics of, but there is a lot of resources that aren't very good when it comes to self help and research. You can't use microsofts help center MSDN just because you'll end up hitting tutorials from different languages or information that should have been removed/changed 3 years ago. VB also encourages people to take a lot more shortcuts making it very easy for someone to say make a networked application without have a clue of what's really going on. Java also forces people to basically write good code instead of using contorted method #235, while this is somewhat of an exasteration it's not at the same time after looking at other peoples VB code.
Granted you're going to be frustrating the hell out of yourself at the very begining a whole lot faster in Java than you would be with VB.
I find it amazing that by 2020 first world countries will be competing to get immigrants.
Thanks to Syri i'll chech your guides, I already made my own Tibia PS :P when i was 11 but idk what languaje is that i just used a base and editted spawn, drop, items, monsters and name but thats all.
I'll try to get a book of C++ or programming or something with my grandmother friends.
Edit : I know some basic HTML too and i think thats alot for a 13 years old boy
Edit 2 : Maybe something to download beacuase i dont have internet i steal wi-fi from someone so i dont always have it <(^^ )>
That is the best development environment you can get for free.
As for the language itself, buy a book ( nearly any book will do as long as it goes through all of the necessary syntax with maybe one or two examples that use API ) if you can afford it. It is critical, however, that you program while reading the book, since you have to be able to remember syntax readily when writing programs and you will eventually have to develop an intuition on how to do things in that particular language as the basic libraries vary from language to language.
Ironically a lot of the knowledge involving a particular language is familiarity with it's basic libraries (pre-written classes that do something like print to screen, or mathematical functions), so I suggest in addition to the language itself you focus on particularly useful classes (libraries) that you would use in practical application.
This is a sequence of characters intended to produce some profound mental effect, but it has failed.
Let me ask you a question. Why do you want to start programming in C++? C++ is only used in some certain areas where being able to handle hardware in a low level is a must.
Let me ask you a question. Why do you want to start programming in C++? C++ is only used in some certain areas where being able to handle hardware in a low level is a must.
C++ is used everywhere, it's object oriented. Assembly is low level language. WoW, EQ, LOTRO, L2, all made with C/C++. DirectX uses C syntax. Nvidia and Ati driver, C syntax.
If C++ is too hard, drop it and learn C first, it will remove the need for objects. I went to school for it but we got Java haha..so I left school../snif..and went my own way into arts etc.
Also, buy a book that explains pointers and memory management, unless you understand how the memory heap and the stack work, you will never understand C++ objects. Assembly books usually explain this very well.
Edit: wow, you're 13, I assumed you were an adult. Learn how a PC and memory works then first, C++ isn't hard, but at 13 hm, that's really early. Maybe try visual basic for starters.
I would avoid learning Visual Basic as C# is not that much more difficult and has identical features.
Download C# / C++ express and play around with creating GUI's. If you want to get hold of a book to learn C++ I highly recommend C++ Primer Plus by Prata. Don't read any of those "Learn X in 24 hours / 21 days" as they are awful and will leave gaps in your knowledge. Some of those X for dummies books aren't much better.
If you are serious about learning C++ get hold of Beginning Visual C++ 2005 (or 2008) too by Ivor Horton. Be careful about getting information overload though, just stuck to one book and do all the exercises and experiement with them. Too many beginners think that by getting another book they will learn faster when they haven't even finished the first one! If you've got the cash then you may want to set up a VM so that you can't wreck your PC. [useful if you are writing a registry cleaner or similar too, you can make snapshots]
If you want to make cash from learning a programming language then try writing a game for a mobile device, you can make real cash from it and some guy made $600,000 just from one game for the iPhone.
Let me ask you a question. Why do you want to start programming in C++? C++ is only used in some certain areas where being able to handle hardware in a low level is a must.
C++ is used everywhere, it's object oriented. Assembly is low level language. WoW, EQ, LOTRO, L2, all made with C/C++. DirectX uses C syntax. Nvidia and Ati driver, C syntax.
Never said C++ was a low level language like assembly(I've coded in both). I'm saying it has capabilities for doing some hardware operations that newer languages like Java and C# can't Which is also why it is used in games and drivers/APIs. But games are more and more switching away from C++ and to other languages like C# (Hellgate was partially coded in C#. MS new XNA framework is .NET and hence more or less only available for C#) since it reduces programming time on a lot tasks quite a lot due to a way superior API and Documentation, which is also why I wouldn't recommend C++ for beginners.
So yes C++ is everywhere, but for most non low level operating application(for example your browser), it will move away to a newer language.
If C++ is too hard, drop it and learn C first, it will remove the need for objects. I went to school for it but we got Java haha..so I left school../snif..and went my own way into arts etc.
Up to the OP of course, but the Object Oriented paradigm is superior to the procedural paradigm in most cases which is why "imprinting" the object oriented way of doing things will lead to having good structuring practises from the very start.
Also, buy a book that explains pointers and memory management, unless you understand how the memory heap and the stack work, you will never understand C++ objects. Assembly books usually explain this very well.
Agreed.
Edit: wow, you're 13, I assumed you were an adult. Learn how a PC and memory works then first, C++ isn't hard, but at 13 hm, that's really early. Maybe try visual basic for starters.
Comments
I'm still learning C++ myself at the moment, but I'll post some advice from my experience so far, in the hope it might be some use to you.
First of all, if you already know a programming language, try to keep it from your mind. I've often found myself structuring a program by instinct in the way I'd set up something like a PHP project, and then having to change huge amounts when I find C++ reacts differently. Knowing another language is helpful when starting, don't get me wrong, as a lot of the principles are the same, but the structure is a lot more complex.
I'd advise also getting some kind of book, maybe a couple even. Check out your local library, see if they've got any in so you can find one that suits your learning style before putting your cash down.
There are some online tutorials, but these tend to be more specialised once you get past the basics, so you need to search around a lot for them, and you'll often find that two tutorials in different areas use different methods, even for the parts they have in common. Some will use different commands to read input, different data handling and such, so it's good to have some books which have a common "style" throughout.
Hope all this is some help to you, and good luck with your learning!
I'll stick some links to some websites I've used below as well, might be something of some use to you.
http://www.cprogramming.com/tutorial.html
http://www.cplusplus.com/doc/tutorial/
http://www.gamedev.net/reference/start_here/
------------------------------
Currently playing: Rift
former player of: DAoC, Everquest 2, Guild Wars, SWG (pre-NGE), WoW, Warhammer online, LotR:O
Horrible language, if you haven't had any previous programming experience i recommend Visual Basic first. But i'm a complete programming novice so probably best not to take my advice
___________________
Come out soon Aion
C(anything, except maybe #) is a horrible language for a beginner. The language and even most tutorials assume you know what you're doing, know how to read documentation, and different distro's all have aspects that can be different.
Since you're going to have to learn other languages anyways you might as well start with Java or Visual Basic. Both of which you have no excuse for not using since they both have top quality IDEs for free.
-------------
If you want java you can use This then This. Which are both free and from the makers of the language themselves, sadly some assumptions are made that you already know some programming but if you care it shouldn't be that big of an issue if you use some forums(like: the programming one in our developers corner, or gamedev.net forums). The general rule for forum help is 2 hours of research to make it worth someone else's time.
If you're willing to spend 5-8 dollars on a very good used book (40 new) you could use this. if you use the previous resources with it you should have no problem whatsoever on anything.
-------------
I personally have the opinion that someone who is "teaching themselves" will probably have an easier time learning java than Visual Basic(VB). Sure VB is a lot easier to get the basics of, but there is a lot of resources that aren't very good when it comes to self help and research. You can't use microsofts help center MSDN just because you'll end up hitting tutorials from different languages or information that should have been removed/changed 3 years ago. VB also encourages people to take a lot more shortcuts making it very easy for someone to say make a networked application without have a clue of what's really going on. Java also forces people to basically write good code instead of using contorted method #235, while this is somewhat of an exasteration it's not at the same time after looking at other peoples VB code.
Granted you're going to be frustrating the hell out of yourself at the very begining a whole lot faster in Java than you would be with VB.
I find it amazing that by 2020 first world countries will be competing to get immigrants.
I found this (already linked) tutorial to be quite decent. I at least understood pretty much everything, even though it was my first language.
Thanks to Syri i'll chech your guides, I already made my own Tibia PS :P when i was 11 but idk what languaje is that i just used a base and editted spawn, drop, items, monsters and name but thats all.
I'll try to get a book of C++ or programming or something with my grandmother friends.
Edit : I know some basic HTML too and i think thats alot for a 13 years old boy
Edit 2 : Maybe something to download beacuase i dont have internet i steal wi-fi from someone so i dont always have it <(^^ )>
http://www.eclipse.org
That is the best development environment you can get for free.
As for the language itself, buy a book ( nearly any book will do as long as it goes through all of the necessary syntax with maybe one or two examples that use API ) if you can afford it. It is critical, however, that you program while reading the book, since you have to be able to remember syntax readily when writing programs and you will eventually have to develop an intuition on how to do things in that particular language as the basic libraries vary from language to language.
Ironically a lot of the knowledge involving a particular language is familiarity with it's basic libraries (pre-written classes that do something like print to screen, or mathematical functions), so I suggest in addition to the language itself you focus on particularly useful classes (libraries) that you would use in practical application.
This is a sequence of characters intended to produce some profound mental effect, but it has failed.
I understood that i need a book and remember stuff nothing else.
Let me ask you a question. Why do you want to start programming in C++? C++ is only used in some certain areas where being able to handle hardware in a low level is a must.
I want to learn it cuz i can make everything with that
C++ is used everywhere, it's object oriented. Assembly is low level language. WoW, EQ, LOTRO, L2, all made with C/C++. DirectX uses C syntax. Nvidia and Ati driver, C syntax.
If C++ is too hard, drop it and learn C first, it will remove the need for objects. I went to school for it but we got Java haha..so I left school../snif..and went my own way into arts etc.
Also, buy a book that explains pointers and memory management, unless you understand how the memory heap and the stack work, you will never understand C++ objects. Assembly books usually explain this very well.
Edit: wow, you're 13, I assumed you were an adult. Learn how a PC and memory works then first, C++ isn't hard, but at 13 hm, that's really early. Maybe try visual basic for starters.
I would avoid learning Visual Basic as C# is not that much more difficult and has identical features.
Download C# / C++ express and play around with creating GUI's. If you want to get hold of a book to learn C++ I highly recommend C++ Primer Plus by Prata. Don't read any of those "Learn X in 24 hours / 21 days" as they are awful and will leave gaps in your knowledge. Some of those X for dummies books aren't much better.
If you are serious about learning C++ get hold of Beginning Visual C++ 2005 (or 2008) too by Ivor Horton. Be careful about getting information overload though, just stuck to one book and do all the exercises and experiement with them. Too many beginners think that by getting another book they will learn faster when they haven't even finished the first one! If you've got the cash then you may want to set up a VM so that you can't wreck your PC. [useful if you are writing a registry cleaner or similar too, you can make snapshots]
If you want to make cash from learning a programming language then try writing a game for a mobile device, you can make real cash from it and some guy made $600,000 just from one game for the iPhone.
Good luck!
C++ is used everywhere, it's object oriented. Assembly is low level language. WoW, EQ, LOTRO, L2, all made with C/C++. DirectX uses C syntax. Nvidia and Ati driver, C syntax.
Never said C++ was a low level language like assembly(I've coded in both). I'm saying it has capabilities for doing some hardware operations that newer languages like Java and C# can't Which is also why it is used in games and drivers/APIs. But games are more and more switching away from C++ and to other languages like C# (Hellgate was partially coded in C#. MS new XNA framework is .NET and hence more or less only available for C#) since it reduces programming time on a lot tasks quite a lot due to a way superior API and Documentation, which is also why I wouldn't recommend C++ for beginners.
So yes C++ is everywhere, but for most non low level operating application(for example your browser), it will move away to a newer language.
If C++ is too hard, drop it and learn C first, it will remove the need for objects. I went to school for it but we got Java haha..so I left school../snif..and went my own way into arts etc.
Up to the OP of course, but the Object Oriented paradigm is superior to the procedural paradigm in most cases which is why "imprinting" the object oriented way of doing things will lead to having good structuring practises from the very start.
Also, buy a book that explains pointers and memory management, unless you understand how the memory heap and the stack work, you will never understand C++ objects. Assembly books usually explain this very well.
Agreed.
Edit: wow, you're 13, I assumed you were an adult. Learn how a PC and memory works then first, C++ isn't hard, but at 13 hm, that's really early. Maybe try visual basic for starters.