Good beginning/intermediate language

Started by
13 comments, last by blackviper91 18 years ago
I currently use GameMaker for all of my games, but I want to learn a new language. I have alot of experiance with GML and &#106avascript. What would a good choice be. I have heard that Python is a fairly easy language.
Advertisement
dont waste your time and grab the one and only true programming language: C++
its not hard like all these whinos claim, its perhaps the easiest language of all and the most powerful
Many beginners do start with Python: it's an easy language to learn and a good stepping stone for more advanced languages (or so I've heard). I would recommend looking into C#, as it's a very easy language to comprehend and is great for a beginner. That said, I myself started out with C and then moved to C++. You may end up not liking any of the C languages, in which case there are plenty of alternatives like Java. Check out the For Beginners FAQ for some good tutorials.
------------------------------Support the Blue Skies in Games Campaign!A blog... of sorts.As a general rule, if you don't have a general rule in your signature, you aren't as awesome as someone who does. General rules roxor teh big one one ones.
What a bold statement, AP.

I suggest Python over C++ anytime.

Or, try Clean Game Library, a package containing the 'Clean' programming language and everything else you need to create your 2D games. I actually recommend this one to you, not at least because the language is a functional one. (If you don't know what that means, don't worry, just honestly forget C++ and Python for a while and try CleanGL!)

C++ isn't really easy because of many, many details you'll have to learn until you can really use it. I've been studying C++ for more than 5 years now and think I'm competent, still I constantly discover new ways to use it, and still, gurus like snk_kid constantly make me aware of the gaping holes in my comprehension or my failing to apply the language and its library effectively.
C#, ruby, Python, C++, C

C# is great langauge for those who want to learn the first half of the details of "normal" programming without the more intricate special case advanced stuff, and without sacrificing much in terms of performance. In other words, people who want to be general purpose programers and expect to learn many langagues in their lifetime (most of these types consider C / C++ / Java the base langauge that they compare all others to, when dicussing things such as development speed, features, program efficiency, etc).

ruby and Pyhton are great general purpose dynamic langauges (used to be called "scripting languages" or "interpreted langauges" because their is no compiler step. Type code, run code. This is great for writing, but hard often hard on debugging until you get familar with the quirks of your langauges error messages and understand enough to navigate them. I personally like ruby a lot more than python, but for no real reason except personal style preference - both do the same job and fill the same niche. Python is a little more common, and definately has a faster runtime (so better suited to heavier lifting). Ruby has a more "normal" style and therefore, like C# is better suited to helping you use other langauges later like C#, C, C++, Java, Perl, etc.

C is the granddaddy of all of the langauges on this list - every single one of these languages is implemented using C or a derivative of C, period. Almost no-one would recommend using strait pure C these days for large programs, since C++ adds so many wonderfull features, but the core understanding of your computer is in C terms. If you don't know what pointers, the stack and the heap are ... memory allocation, function pointers, etc, you don't really know how your computer is operating internally (which isn't necessary - but helps if you plan a long career in programming). C is the bridge between assembly langauge and langauges people actually use to get work done.

C++ is C, with a dozen things added to get real work done. These things make C++ the only langauge that gives you 100% of the control of C, with the ability to get 50%-95% of the features of any other langauge. The ability to write productive C++ code relies heavily on the quality of the libraries you have available (as it does in any langauge, but in other langauges the libraries are part of the langauge distrobution itself), and also on a fairly good understand of the lower level details. So C++ can be used by beginners IF they stay in the simple areas covered by books and tutorials, and grow into a better langauge as they learn more - but it is slower to start gaining than C#, Java, Python, or ruby.

Personally I use C# at work and C++, C# and ruby at home. I do almost all of my game logic in C++, all my windows tool GUI and web or database stuff in C#, and tons of smaller helper applet / script stlye things in ruby.

For you I recommend C# highest, without knowing enough about you to be sure. It seems to have the highest ratio of effort to reward with fairly high short term to long term payoff.

Good Luck.
Thank you for all of the responses. I downloaded Python and tried it. I don't really like it very much because it doesn't use braces and stuff for its if statements and loops. I will probably try out C# and CleanGL.

Xai, programwizard and Konfusius: Thanks for the long posts. They were very helpful.

--BlackViper91--
Also check out Ruby like Xai mentioned. I started with C then C++ years ago and only found Ruby about 6 months ago. It is a very simple yet powerful language IMHO.
If you are bold and adventuresome, you can even try Lisp. http://www.gigamonkeys.com/book/ is a free online version of a book that you can use to learn Lisp.
Thank you. Does Lisp require a compiler or anything?
Quote:Original post by blackviper91
Thank you. Does Lisp require a compiler or anything?


It can be compiled or interpreted (assuming we are talking about Common Lisp). A commonly used free interpreter is clisp. A commonly used free compiler/interpreter is SBCL.

This topic is closed to new replies.

Advertisement