Well, in the future, I'd like to go into video game design, which I know uses mostly C++, from what I've read. But I was thinking of learning C# first, so I could try out making applications. My main question is, is it hard to learn C++ after C#? Are they similar? Or is it hard to learn 2 languages together? Should I just stick with C++ if thats what I plan to do? I'm still somewhat young, sooI want to start early on this. My father works with C#, so he can help me, too.
So any thoughts?
After I tried some C++ (among other stuff before) I learned some Java and eventually got back to C++ with very good results. Though this is probably thanks to the book Effective C++ by Scott Meyers.
Java is a language comparable with C#, only worse. So I guess you can start with C# and then learn C++. Do not make the mistake of thinking that you do things equally. Though they look the same in places, they might actually do different things.
If i were you, i'd start with C++ from the beginning, or else you might think "Wow, I have to do so much in c++, when i could've just written a few lines in c# to get the same result".
Atleast that's how it was for me when i switched from C# to C++.
If your father works with C#, that would definitely be a good idea to start with.
Nothing is stopping you from making games with C#.
Bump, any more insight?
Languages like C# and Java are great for learning how to program. They are verbose, safe, easy, and Java has great documentation. I would say go with C# first and then later you can jump to C++.
[QUOTE=Dj-J3;22507943]If i were you, i'd start with C++ from the beginning, or else you might think "Wow, I have to do so much in c++, when i could've just written a few lines in c# to get the same result".
Atleast that's how it was for me when i switched from C# to C++.[/QUOTE]
That's why I never bothered to go to C++ honestly.
When you first start programming, the most important thing to learn is "how to program" -- how to analyze the task you want the computer to do and break it down into logical pieces, and how to think like the computer and understand what the code you're writing will actually do when you run it. The particulars of the language are less important.
When you learn a second programming language, you already understand most of the concepts, and you're just learning about how to express them in a different grammar. There are a few new concepts to learn -- for example, in C++ you'll learn about memory-management practices that influence the design of your programs, that weren't applicable in C# since it uses garbage-collection -- but there's a lot that's the same or very similar.
As you learn additional languages you'll find that it gets even easier because there are fewer and fewer concepts that you haven't encountered before in some other language.
C# would be a reasonable choice for a first programming language. It's a fairly high-level language that abstracts away many details (such as the aforementioned memory management) so it's relatively easy to learn, but still powerful. When you move on to C++ you'll gain a deeper understanding of how things actually work, and gain more direct control over things that C# kept hidden (which is a double-edged sword).
As a third language, I'd suggest something like Python, Perl, or Ruby -- a dynamically-typed, interpreted (or at least not statically compiled) language. These are some different concepts that you don't encounter in either C# or C++, which will broaden your base of understanding. They're also even higher-level and simpler to use than C#.
Sorry, you need to Log In to post a reply to this thread.