Hi I'm 10 years old and want to start learning C++.
Do can you use a Mac or does it have to be a PC.
Also what is a good way to get started for someone new?
Don't patronize the kid. Some ten year olds are smarter than others. I'd understand recommending a simpler language, but usually languages designed for children underestimate their ability and just drag them down.
Depending on your commitment and willingness to learn, i think C++ would be okay for you to learn. I'm 13 and I started out with C++ (I really started with HTML, but i don't think that counts >_<). Personally, I've heard better about C++ on Windows, but if you get a Mac, you could always use Bootcamp/Parallels to load Windows. So far, I have used Code::Blocks and C++ for Dummies to learn, and they have worked out very well.
I started off when I was around that age. But it's true that C++ may not be the best way to go.
Not that it's not good to start out with or harder then other languages, but at that age it's boring (to me).
I started with C++ too and soon when't to other languages that supported UI's and graphics like visual c# or even VC++.
My first language was RealBasic R3.5, but if I had to do it all over, I'd go for c#.
This is a duplicate thread, but I'll post here too anyways!
Info Piece #1: xorebxebx is the troll of this forum. He has not made one considerably helpful post on this forum ever (AFAIK), and he loves Scala. I recommend ignoring him if he gets on your nerves.
Info Piece #2: You absolutely can learn C++ at the age of 10. It could be boring, but that depends on how you go about learning it. Maybe the C++ for Dummies book Armageddon mentioned could help with entertaining; the Dummies books usually are fun... :)
Kojo is designed especially for children (smart children), but allows them to unleash full power of the language, when they learn more. It is not a toy. It uses a language used in big commercial apps, just like C++. But on the other hand it is both simpler and more consistent than C++ and more powerful if you consider abstractions it offers. And additionally it offers a graphical REPL - an excellent thing to play with. Kids like to play, but they also get bored quite quickly if they don't get some reward soon. No matter how hard I try, I can't imagine a smart 10-year-old deciphering C++ template errors (and he will face them if he tries to use... strings).
Ok, if you don't like Kojo, take Python. Or Ruby. Both are also great and have REPL.
I know, by VC++ I mean C++ with the .net framework. I know it's not called VC++ but since everone is calling it this, including some Microsoft people I talked too, what surprised me, I started calling it VC++.
Actually I'm going to stick with C++ because you guys are saying xorebxebx is not helpful.
I'm also going to get that book the C++ for Dummies because i like to read.
Info Piece #1: xorebxebx is the troll of this forum. He has not made one considerably helpful post on this forum ever (AFAIK),
This is not true and for sayng such untrue things about someone in public you could be sued, at least in Poland. I would have to just show a single useful post of mine and you lose (and in the best case you have to apologize in public for that). So, are you **REALLY** sure, there wasn't a single useful post of mine?
@magfable1: This is your choice of course, but keep in mind this is a C++ forum, and guys at C++ forum will always be biased towards using C++, and they won't tell you about some problems you are going to face, until you are "in".
Kojo is designed especially for children (smart children), but allows them to unleash full power of the language, when they learn more. It is not a toy. It uses a language used in big commercial apps, just like C++. But on the other hand it is both simpler and more consistent than C++ and more powerful if you consider abstractions it offers. And additionally it offers a graphical REPL - an excellent thing to play with. Kids like to play, but they also get bored quite quickly if they don't get some reward soon. No matter how hard I try, I can't imagine a smart 10-year-old deciphering C++ template errors (and he will face them if he tries to use... strings).
Just for the record, I thought that to be pretty good advice. It certainly makes sense, and this line in particular really hits home:
Kids like to play, but they also get bored quite quickly if they don't get some reward soon.
If some 10 year old kid wants to program, why not give him/her something he can get results from? Ok, so he came her saying "yea I think I want to learn c++", and he's getting feedback that basically says "c++ is tough, try this instead, it will give you a good ground in programming in general, and you'll have more fun doing it, then after you get bored with it, move on to something else."
I'd hardly say that's useless advice... in fact, I'd go so far as to say that, IMO, it's the best advice given so far
Actually I'm going to stick with C++ because you guys are saying xorebxebx is not helpful.
Just because other people say he's not helpful doesn't mean that he is or isn't one way or the other. Forget who says what about who (drama... what a waste of time and energy), and instead read what people say and make a decision based on the content, not the person saying it.
Do YOU think xorebxebx was helpful? That's what matters, not anyone else saying he is or not...
All I said was that as far as I know, and I encourage you all to correct me if wrong, xorebxebx has not made one significantly helpful post about C++ on this forum by this forum's standards. (EDIT: The first post didn't say exactly that, but I thought it was implied. To be sure, though...) He has, however, trolled this forum on numerous occasions, and this is easy to prove. If you can show me one post by you that I consider to be on-par with one of Disch's, Duoas's, firedraco's, Zhuge's, PanGalactic's, kbw's, guestgulkan's, chrisname's, Bazzy's, helios's, or one of any 400+ post count member's more helpful posts, then I will admit that I was wrong about the 1 post thing. I will try to be honest in my evaluation.
I did check out Scala, just to see what all the fuss was about, and it is a significantly easier language and a bit higher-level than C++. Personally, however, I really don't like the language. But! That doesn't mean someone else shouldn't use it. Take a look at both, and see which one would suit you better. If you decide to go with Scala, however, then I would urge that you go with normal Scala, and not Kojo.
I don't understand why xorebxebx spends so much time on a C++ forum when he mostly just demonizes it but I agree with his opinion here. I work with C++ DLLs at my job and that's fine. It's fast and efficient and that's just a requirement in some applications. But Not Many! For the most part I use Python if I have a choice. There is no reason whatsoever to worry about confusing syntax, memory management, header files, linking and compiling when there are such great higher-level languages available for free out there.
Keep in mind this a college level tool but you sound like you might be up for it.
Python is also written in C++ so if you need its speed you can easily import the faster C++ code and use it inside your Python main program. Best of both worlds.