Madnis
Level 0

Vincent, were you programmed to bug me?
|
 |
« Reply #15 on: November 05, 2008, 09:55:14 PM » |
|
I'm going to go out on a limb and say that most programmers over their career will learn several languages. The underlying principles are the same, and I would even say that the more languages you learn, the easier it is to learn new languages.
I also believe that even though they share common ground, each language can offer a slightly different perspective on how to approach and solve problems.
Learning one language does not lock you into that language. If you are just starting, pick something that will get you up and running quickly. It's important to get the positive feedback from having made programs that do stuff, or you might see your programming efforts pretty derailed.
I have no experience with C#, but I would recommend Python. I actually love C++, but I don't wish it on anybody as their first language (unless you have an excellent teacher/tutor, or you are just plain brilliant).
|
|
|
|
|
Logged
|
|
|
|
|
increpare
Guest
|
 |
« Reply #16 on: November 05, 2008, 10:15:53 PM » |
|
[...] I would even say that the more languages you learn, the easier it is to learn new languages. I'd say the more *types* of languages you learn, the easier it is to learn new ones. Learning C, then fortran, then pascal, isn't going to help you much with lisp, say, any more than if you just had one of them learned. I also believe that even though they share common ground, each language can offer a slightly different perspective on how to approach and solve problems. Different languages can offer vastly different approaches to different problems. An SQL developer is going to have a different approach to various tasks to a javascript developer, for instance. Learning one language does not lock you into that language. Agreed. Even moreso when one considers all these various standard libraries supported by many languges, like SDL, Allegro, OpenGL, and the like, that make hopping about really really easy.
|
|
|
|
|
Logged
|
|
|
|
Madnis
Level 0

Vincent, were you programmed to bug me?
|
 |
« Reply #17 on: November 05, 2008, 10:40:11 PM » |
|
Different languages can offer vastly different approaches to different problems.
But of course, good sir! My choice of words was far too humble, for fear of seeming immodest in my presumptions. 
|
|
|
|
|
Logged
|
|
|
|
|
Movius
|
 |
« Reply #18 on: November 06, 2008, 02:05:36 AM » |
|
* post assumes you are new to coding
You'll need to learn good programming practice rather than a specific language. To learn good programming practice you'll want something simple. In this case C#. Once you have learnt good programming practice you will find it easy to switch to other languages if the need arrives.
There are many benefits to c++ over c# & vice versa. You will never make use of any of them. 90% of indie game makers will never make use of any of them. So go with whatever you find easiest to work with.
|
|
|
|
|
Logged
|
|
|
|
|
bateleur
|
 |
« Reply #19 on: November 06, 2008, 05:13:44 AM » |
|
There are many benefits to c++ over c# & vice versa. You will never make use of any of them. Ooh, now that's a rather controversial claim, sir! If nothing else, C# is garbage collected, which make a HUGE difference to novice and expert alike for any program more complex than "Hello, World". And as for C++, the main motivation is portability. This might seem like something a novice would never use, but as soon as you decide to buy a Mac as your next machine, you'll suddenly care a lot.
|
|
|
|
|
Logged
|
|
|
|
|
Melly
|
 |
« Reply #20 on: November 06, 2008, 08:01:34 AM » |
|
Portability is the reason I'm using C++ right now. I want you poor game-deficient Mac users to bask in the greatness of my immense genius. 
|
|
|
|
|
Logged
|
|
|
|
|
Neo1493
|
 |
« Reply #21 on: November 06, 2008, 09:01:09 AM » |
|
Iam not realy new to codeing I know basic, gml, lua, and actionscript 3.0 or what ever the langue for flash games is. Now I want to learn a better lanuge like C++ or C#
|
|
|
|
|
Logged
|
|
|
|
|
Movius
|
 |
« Reply #22 on: November 06, 2008, 10:06:00 AM » |
|
There are many benefits to c++ over c# & vice versa. You will never make use of any of them. Ooh, now that's a rather controversial claim, sir! If nothing else, C# is garbage collected, which make a HUGE difference to novice and expert alike for any program more complex than "Hello, World". And as for C++, the main motivation is portability. This might seem like something a novice would never use, but as soon as you decide to buy a Mac as your next machine, you'll suddenly care a lot. These are all true. But I was talking mostly about performance issues, rather than portability, etc. Most indie games aren't going to require the space conserving wonders of 64k demos or the performance of the latest 3D engines. They are more towards the "draw picture on screen, play sound, rinse, repeat" level of performance, for which just about any old language will do fine. With this in mind he should pick C# as it is simpler. If you're looking for portability and relative simplicity, go for Java.
|
|
|
|
|
Logged
|
|
|
|
|
Michael Buckley
|
 |
« Reply #23 on: November 06, 2008, 10:56:34 AM » |
|
With this in mind he should pick C# as it is simpler. If you're looking for portability and relative simplicity, go for Java.
Java portability is pretty much dead. Apple is handling their own Java VM on OS X, and it has a few areas where it is considerably different from Sun's VM in terms of graphics performance. Getting OpenGL bindings to work on some systems is also a huge headache. Java2D isn't fast enough. Java 3D has a great API but is still a little more complex than Java2D. It also doesn't handle system-specific stuff like joysticks.
|
|
|
|
|
Logged
|
|
|
|
|
William Laub
|
 |
« Reply #24 on: November 06, 2008, 03:20:27 PM » |
|
With this in mind he should pick C# as it is simpler. If you're looking for portability and relative simplicity, go for Java.
Java portability is pretty much dead. Apple is handling their own Java VM on OS X, and it has a few areas where it is considerably different from Sun's VM in terms of graphics performance. Getting OpenGL bindings to work on some systems is also a huge headache. Java2D isn't fast enough. Java 3D has a great API but is still a little more complex than Java2D. It also doesn't handle system-specific stuff like joysticks. And let's not for get about the people who experience physical pain when they try to program in Java. If you're looking for portability and relative simplicity and you are Javasensitive, you're probably going to want to go with something else (like C++).
|
|
|
|
|
Logged
|
|
|
|
|
Gnarf
|
 |
« Reply #25 on: November 06, 2008, 03:27:24 PM » |
|
There are people who do not experience physical pain when they're fucking around with header files and forward declarations? :o
|
|
|
|
|
Logged
|
This is IT -- the missing link in the chain of my existence. Rondo's SPINNING BUDDHA is what I need to make me complete.
|
|
|
|
David Pittman
|
 |
« Reply #26 on: November 06, 2008, 03:32:08 PM » |
|
There are people who do not experience physical pain when they're fucking around with header files and forward declarations?  ::Raises hand:: I've definitely suffered through the madness that can arise from poorly-ordered headers in the past, but I've picked up some good habits along the way and have learned that it's not really too difficult to work pain-free if you understand the rules.
|
|
|
|
|
Logged
|
|
|
|
|
Gnarf
|
 |
« Reply #27 on: November 06, 2008, 03:36:29 PM » |
|
It's not difficult. And that's just it. It's simple. So simple that a compiler should do it for me.
|
|
|
|
|
Logged
|
This is IT -- the missing link in the chain of my existence. Rondo's SPINNING BUDDHA is what I need to make me complete.
|
|
|
|
Zaphos
Guest
|
 |
« Reply #28 on: November 06, 2008, 05:42:52 PM » |
|
And let's not for get about the people who experience physical pain when they try to program in Java. If you're looking for portability and relative simplicity and you are Javasensitive, you're probably going to want to go with something else (like C++).
I wouldn't call C++ simpler than Java ... especially because C++ has the kind of complexity where, if you don't understand it, you're going to shoot yourself in the foot badly and not be able to figure out where you went wrong. And because compiler errors get really ugly really quickly. Of course you can write code in C++ and not understand things like when you want your destructor to be virtual or why you would want to make single argument constructors explicit ... but you probably shouldn't.
|
|
|
|
|
Logged
|
|
|
|
|
William Laub
|
 |
« Reply #29 on: November 06, 2008, 06:26:17 PM » |
|
Java certainly is better and simpler than C++ for things just as C++ is better and simpler than Java for things. If I were writing a program that has to deal with a lot of strings I would definately choose Java over C++ because Java is full of string manipulation functions that would be a mess to implement in C++. If I were writing a program that uses a lot of fancy pointer magic (lists, trees, etc) I would probably choose C++ because it makes it easier to work with memory than Java does.
The two languages have different programming styles, and since I started out with C++, I find that Java feels bloated and messy. So when it comes to choosing a language for portability and simplicity, the two languages are roughly equal, so you'll want to choose based on your programming style and personal preference. Java is fine if you're not Javasensitive. If you are, though, C++ should be just as good.
|
|
|
|
|
Logged
|
|
|
|
|