Pixelation

General => General Discussion => Topic started by: am_pm on April 21, 2007, 12:48:33 am

Title: Learning the Language
Post by: am_pm on April 21, 2007, 12:48:33 am
Ok, so over the years I have become pretty proficient in GML (woo...) and I want to start learning a more solid/flexible creation language. I know BASIC and Visual BASIC, anything past that I am clueless on. I know a lot about how code works and all of that jazz, I just need something to work with. C++ is a very big language to learn, and I hear that Java is the best to work with nowadays. Anyone know of what I should pick up or begin learning? This is more for hobby than commercial use, I like to mess around with code for fun.

Any suggestions?
Title: Re: Learning the Language
Post by: Gil on April 21, 2007, 01:25:59 am
Learn both, but start with Java.

Learn how to work with Java, learn how to hug Object Oriented code (OO).

Have a look at the SDL bindings in Java for some powerful graphics.

Then slowly switch to C++ for more serious work...
Title: Re: Learning the Language
Post by: Colonel Mustard on April 21, 2007, 08:43:10 am
I agree with Gil, start with OO, but I'd suggest C# instead, it's much more pleasant, and Visual C# Express is very nice.
Title: Re: Learning the Language
Post by: Stwelin on April 21, 2007, 11:47:59 am
If you want to stay away from all the hoops C++ makes you jump through, you could give Pygame a try. That is what i am learning. It all depends on what you are comfortable with. Personally i like pygame because it won't yell at you just for missing a semicolon.
Title: Re: Learning the Language
Post by: Gil on April 21, 2007, 11:52:48 am
Pygame would be another scripting language with no real power. He knows GML, he has no need for another bloated useless language.

I agree that C# is very nice too. I believe the IDE that comes with it is nice too.
Title: Re: Learning the Language
Post by: jhawthorn on April 22, 2007, 07:51:46 am
I'm sorry, but I could not help to offer my opinion.
For a project intended for distribution, us UNIX kids (that includes OS X) would prefer that you do not use C#, though many (most?) of us do have mono installed. Also, many users do not have java installed. I personally install it whenever a university course requires it, and uninstall it immediately after.
If this is purely for hobby, try every language mentioned. One will click with you. Besides, each language you learn will broaden the way you think about accomplishing a task, making you a better overall programmer. If you're competent in GML you should be able to pick up most any language pretty quick, assuming you're determined.

My current game project has an engine in C++, with bindings for lua scripts, and I love it.</whocares>

Gil is very right in recommending SDL. Cross platform, flexible, (relatively) simple, good.
Title: Re: Learning the Language
Post by: Niss on April 22, 2007, 12:43:27 pm
well I like ruby very much - it is a sweet and elegant language to code in. Yes, it is a scripting language but you can still do a lot with it. Python is great too - for a quite a lot of things. To speed things up there are always modules written in C for various tasks. C# is quite nice but after coding in Ruby or python the "C++" style languages do all look unnecessarily long winded.
If you're more the visual guy and want some quick results in that area I'd suggest going ahead with actionscript/flash - it's fun and quickly rewarding.
Title: Re: Learning the Language
Post by: am_pm on April 22, 2007, 04:39:59 pm
C# does seem nice. How would I go about learning it? Should I learn C++ first? I'm thinking of picking up a book on it, or maybe Java. Maybe both? We'll see.  :D
Title: Re: Learning the Language
Post by: Colonel Mustard on April 22, 2007, 07:45:03 pm
Depends on your experiences with programming really. You could either try to find some tutorials, perhaps buy a book that's focused on teaching C#, or you could dive right in, try out some easy projects, and google your way to success.

Another way would be to do the hard way, learning about everything that lies behind all those fancy methods that you get for free when using an easy language. If you have the patience, that's always recommended :)