OK so this summer i want to learn a new language (or at least the fundamentals)
and i want this language to be game related
therefore i have deducted it down to C++ or C#
i know vb and java as i have studied them for college so i understand the fundamentals of programming
i would mainly be using the workshops on the forum as well as a book or 2
i have got the beginning C++ game programming and i have seen on ebay a XNA programming book so either way i can get a book on it
so the main things are:
C++ :
+ multi platform (windows, Unix...)
+ multi purpose (games and other software)
- harder to learn (not really harder but C# is easier due to optimizations)
C#(XNA):
+ game orientated
+ can make games for XBox 360
- only works on Microsoft products (you can use monoXNA but i dont know if games created with this would work on 360)
- needs .net framework to play (you can compile your games to have the necessary .net files with it but then it uses more ram)
So at first i would be developing simple games for Windows and if i can make them run on Linux then that's a bonus however in the future i will want to develop 360 games as well.
also worth noting that i will be learning both these languages at some point
so really its just a question of which one is easier to learn and then lean on when learning the other or different languages
C++ or C# as first C language
The question of which one is easier is simple - C#. A simple search of the gazillion language discussions on this forum would have easily told you that.
You seem a little misunderstood, neither C# or C++ are game oriented or at least in my opinion, game oriendted languages are BlitzMax and DarkBASIC. C++ and C# are general purpose languages.
I should also point out you can run most .NET apps without recompilation using the Mono framework on Windows, Linux and Mac. Although if your looking for 360 development you have to go with Microsoft XNA, but why would you expect different?
I don't see the .NET framework or Mono Framework installation as an issue any more, you come from a java background, you need JRE to run your java apps.
As far as which language you should choose, just pick the one you like the look of.
I should also point out you can run most .NET apps without recompilation using the Mono framework on Windows, Linux and Mac. Although if your looking for 360 development you have to go with Microsoft XNA, but why would you expect different?
I don't see the .NET framework or Mono Framework installation as an issue any more, you come from a java background, you need JRE to run your java apps.
As far as which language you should choose, just pick the one you like the look of.
well thats the thing i haven't used any of them yet so i dont know what either look like
that being said the JRE thing yes i know what you mean and thats exactly what i dont like about it the fact you have to install more stuff to be able to run it
the main question really is:
would it be easier to first learn C++ then C# using the knowledge of C++ to my advantage
or C# then C++ using the knowledge of C# to my advantage
as you say C# is easier i dont want to get to the point where i know C# and start looking at C++ and give up a week later because its too hard or something
thats why maybe C++ would be better as i can then quickly learn C#
tho that being said i dont want to go too deep and start with C++ if im going to find it too hard
but yes i will read up more on both these in the workshop section and see which one suits me better
that being said the JRE thing yes i know what you mean and thats exactly what i dont like about it the fact you have to install more stuff to be able to run it
the main question really is:
would it be easier to first learn C++ then C# using the knowledge of C++ to my advantage
or C# then C++ using the knowledge of C# to my advantage
as you say C# is easier i dont want to get to the point where i know C# and start looking at C++ and give up a week later because its too hard or something
thats why maybe C++ would be better as i can then quickly learn C#
tho that being said i dont want to go too deep and start with C++ if im going to find it too hard
but yes i will read up more on both these in the workshop section and see which one suits me better
Please don't think of them as "C languages". The similarities are superficial at best, and shared by a whole bunch of other languages as well.
Quote:Original post by Zahlman
Please don't think of them as "C languages". The similarities are superficial at best, and shared by a whole bunch of other languages as well.
I think he means that he wants to begin programming with a language that its name starts with "C" :P
And, obviously, the only sensible approach is COBOL! Problem solved.
C++ will be hard to learn because it is complex and easy to make mistakes in while also being totally unforgiving of mistakes. C++ is not "too hard", lots of people learn it. Some people learn it as their first language.
If you already know Java, then you will find C# quite easy to learn. In this way, you can get access to the XNA framework which will simplify some aspects of making a game.
Here is what you have to decide between:
Given that your target is to learn a new language by the end of the summer, then I would vote 100% for C#.
If you already know Java, then you will find C# quite easy to learn. In this way, you can get access to the XNA framework which will simplify some aspects of making a game.
Here is what you have to decide between:
- If you pick C#, you'll be up and running pretty soon and you'll be able to develop some cool games quickly using XNA and possibly deploy them on the XBox.
- If you pick C++, there is a lot more learning ahead of you before you can do some "cool" stuff like graphics and sound. Expect the experience to be more frustrating.
Given that your target is to learn a new language by the end of the summer, then I would vote 100% for C#.
If you're just going for simplicity, the transition from Java to C# will be extremely easy. I just started taking Java classes and was surprised at how similar they are. Syntax-wise there is virtually no difference. Also, XNA is the cat's meow and I highly recommend it as a starting point for game creation.
The only reason I would suggest C++ in your case is if you are trying to challenge yourself with a new programming language or if you MUST have the ability to develop for linux and macs.
The only reason I would suggest C++ in your case is if you are trying to challenge yourself with a new programming language or if you MUST have the ability to develop for linux and macs.
Quote:Original post by rip-off
C++ will be hard to learn because it is complex and easy to make mistakes in while also being totally unforgiving of mistakes. C++ is not "too hard", lots of people learn it. Some people learn it as their first language.
If you already know Java, then you will find C# quite easy to learn. In this way, you can get access to the XNA framework which will simplify some aspects of making a game.
Here is what you have to decide between:
- If you pick C#, you'll be up and running pretty soon and you'll be able to develop some cool games quickly using XNA and possibly deploy them on the XBox.
- If you pick C++, there is a lot more learning ahead of you before you can do some "cool" stuff like graphics and sound. Expect the experience to be more frustrating.
Given that your target is to learn a new language by the end of the summer, then I would vote 100% for C#.
Thanks i think i will probably start with C# to begin with and then move on in the future
Quote:Original post by mikemanQuote:Original post by Zahlman
Please don't think of them as "C languages". The similarities are superficial at best, and shared by a whole bunch of other languages as well.
I think he means that he wants to begin programming with a language that its name starts with "C" :P
And, obviously, the only sensible approach is COBOL! Problem solved.
LOL when i said C Languages no, i didnt mean languages C like i just meant one of the 2 mentioned i guess i should of said C* instead
Just a heads-up: C# is not quite as tied to Windows as you seem to think. Unity supports it as one of its languages, and that platform can target XBox360, Wii, OS X, iPhone / iPod / iPad and more.
C# and C++ are general-purpose programming languages. They're not games-specific. In fact, an increasing amount of game code is being written in higher-level languages like Lua, Python and even javascript.
C# is definitely easier to learn than C++, though neither are easy to master. C# is also a lot more forgiving and has better 'native' support for technologies like .NET, for which it was created. (Using C++ and .NET together is possible, but recommended only for masochists.)
C# and C++ are general-purpose programming languages. They're not games-specific. In fact, an increasing amount of game code is being written in higher-level languages like Lua, Python and even javascript.
C# is definitely easier to learn than C++, though neither are easy to master. C# is also a lot more forgiving and has better 'native' support for technologies like .NET, for which it was created. (Using C++ and .NET together is possible, but recommended only for masochists.)
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement