Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411661 Posts in 69396 Topics- by 58452 Members - Latest Member: Monkey Nuts

May 16, 2024, 03:30:15 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Which to learn?
Pages: [1] 2 3 4
Print
Author Topic: Which to learn?  (Read 10620 times)
Jared C
Level 10
*****


hostess with the mostess


View Profile WWW
« on: March 23, 2009, 02:59:39 PM »

Hey guys,

So I'm finally going to take the plunge into coding.  I can't rely on other people to do the work when I actually have the time.  So here's the big decision.

Which language should I learn first?

-I'm preferably looking for a platform compatible with Mac.
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1 on: March 23, 2009, 03:05:33 PM »

I think there's probably been threads like this before if you're after detailed discussion. My opinion though, is C++! Coffee Plenty of tutorials and stuff for it, and the syntax isn't that hard really.
Logged

Jared C
Level 10
*****


hostess with the mostess


View Profile WWW
« Reply #2 on: March 23, 2009, 03:09:51 PM »

Thanks!  I'll definitely check it out. =)
Logged

Melly
Level 10
*****


This is how being from "da hood" is like, right?


View Profile
« Reply #3 on: March 23, 2009, 03:14:16 PM »

C++ can be daunting and frustrating. It gives you amazing control and power, and at the same time requires just as much responsability and attention. It's easy to shoot yourself in the foot if you don't know what you're doing, and the language isn't going to hold your hand.

Waht kinds of games are you trying to create? And are you willing to shell money for it?
Logged

Feel free to disregard the above.
Games: Minus / Action Escape Kitty
Jared C
Level 10
*****


hostess with the mostess


View Profile WWW
« Reply #4 on: March 23, 2009, 03:20:38 PM »

Well, it depends how much.  I'm maybe willing to drop a 20, but I'd prefer open source.

I'm probably not going to be doing anything too complicated.  Simple platformers, maybe an exploration game.  All I really need is a simple 2D engine.

At this point I just want to make a simple game.  Corny Laugh
Logged

lithander
Level 3
***


View Profile WWW
« Reply #5 on: March 23, 2009, 03:31:30 PM »

How about creating a Flash game? And learning ActionScript on the way? Flash is easy to get started because you won't need programming experience for the first steps but at the same time it has a powerful scripting language you can use as soon as u figure out how. There's a reason why the web is full of little Flash games! Wink
Logged

Gold Cray
Level 10
*****


Gold Cray


View Profile WWW
« Reply #6 on: March 23, 2009, 03:33:27 PM »

I also suggest C++. It's not nearly as hard to learn as a lot of people make it out to be. The hardest part is probably learning how to use an IDE (stay away from VC++), and that's not a problem if you don't start with an IDE. You can learn C++ without knowing anything more complicated than g++ main.cpp -o out.exe. Plus if you have a linux machine or can connect to a linux machine, then you don't even have to install anything.

You might also find it easier to learn using a book. This is the one that I used, and it worked pretty well for me.

Python is also probably pretty good to learn on, but it's really slow and you're liable to learn some bad habits since it's not as strict as C++.
« Last Edit: March 23, 2009, 03:37:56 PM by Gold Cray » Logged
Mikademus
Level 10
*****


The Magical Owl


View Profile
« Reply #7 on: March 23, 2009, 03:43:02 PM »

What time horizon are we talking about? Do you want to get productive immediately? Because if so you have no choice but to jump straight into C++.

If you want to get a solid base and become a GOOD C++ programmer, through, I'd recommend you to first make a few simple applications (and preferably a modest one too) in Pascal (f.i. OpenPascal) or Python, and THEN jump into C++.

The reason is that C++ allows you to do basically anything, but it will never hold your hand or limit your approaches. This is a very, very good think when you know programming concepts or are at least a decent programmer, but it can be relentlessly frustrating otherwise. F.i. Pascal is designed to teach you basic programming, and Python is a well-defined language that can serve the same purpose. This will make taking the next step much easier.

As your first language, absolutely stay away from Visual Basic and Java. The first is a horrid set of putrescence, a proper Pandora's Box of what any sane programming language should not be, and it will destroy your programming habits for life. Java, quite unlike C++ to which it is often likened and designed to resemble, will like Pascal hold your hand and make decisions for you but also teach you sloppiness in inheritance, resource management and object initialisation and destruction (all of which are vital skills in low-level OO design).
Logged

\\\"There\\\'s a tendency among the press to attribute the creation of a game to a single person,\\\" says Warren Spector, creator of Thief and Deus Ex. --IGN<br />My compilation of game engines for indies
David Pittman
Level 2
**


MAEK GAEM


View Profile WWW
« Reply #8 on: March 23, 2009, 03:43:14 PM »

stay away from VC++

But I lurves my VC++! Sad
Logged

Mr. Yes
Level 5
*****



View Profile WWW
« Reply #9 on: March 23, 2009, 03:45:16 PM »

I don't remember having many problems figuring out how to use an IDE when I was starting out. In fact I think I was more comfortable with them right from the beginning.

Personally I started with Python and moved to C++ shortly after. The transition was pretty smooth for me there, and I don't recall really having to unlearn much.
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #10 on: March 23, 2009, 04:19:53 PM »

stay away from VC++

But I lurves my VC++! Sad

Yes, it is fantastic.
Logged

Jared C
Level 10
*****


hostess with the mostess


View Profile WWW
« Reply #11 on: March 23, 2009, 05:23:59 PM »

Well, I guess I'm pretty decided.  I'll start with C++.   Beer!
Logged

Jared C
Level 10
*****


hostess with the mostess


View Profile WWW
« Reply #12 on: March 23, 2009, 05:32:50 PM »

Oh, yeah!  I was too retarded to ask this before, but what platforms use C++?  Are there any open source programs out there?
Logged

increpare
Guest
« Reply #13 on: March 23, 2009, 05:36:34 PM »

c++ is multiplatform, though you will have to do some tweaking depending on the platform (and you will have to compile it on each platform*).

loads of open source c++ stuff out there (indeed; the majority of open-source stuff is in c++ ).

(*unless you have a c++-to-java or as3 compiler)

I'm going to suggest something weird.  Try your hand at the lazyfoo tutorials (even just the first one).  The first one is just to get you set up with a c++ installation.  And use the codeblocks option...

(or ignore my suggestion; I think it's better to start trying to do something asap rather than chitchatting, but maybe that's just me)
Logged
Reiss
Level 1
*



View Profile
« Reply #14 on: March 23, 2009, 09:08:32 PM »

since you mentioned Macs, can't push XCode too hard as a C++ IDE.  the lazyfoo tutorials have a nice setup guide for XCode, too.

C++ might be a lot to start off with, though.  it's extremely low-level.  you might want to consider Python, or Lua -- they're slower, but fast enough for 2d.  Python's got Pygame, Lua's got LOVE, so it shouldn't be too hard to hit the ground running with either of them.

i personally love Ruby but i can't recommend it for game development.  the libraries just aren't really there yet.
Logged
hexageek
Level 0
***



View Profile
« Reply #15 on: March 23, 2009, 09:53:03 PM »

If you don't need high-tech 3D features may I suggest C# with Tao Framework. It's cross platform. And I think everyone would agree that the syntax is much better and newbie friendly.
Logged
dustin
Level 6
*


View Profile
« Reply #16 on: March 23, 2009, 10:35:12 PM »

I would say

1.  It's not that important after you learn how to program in one learning another is not that bad.  Plus all the game making specific stuff will carry over/be easier to learn a second time.

2.  If you want to take full advantage of the cpu C++.  If you want slightly simpler but slower (still fine for any 2d games) java + c++ bindings (look up java slick if you want a simple 2d one).  If you want to get something up and running fast and really don't care about performance as3 or another scripting language.
Logged
Morre
Level 1
*


Apocaquatic syntomy.


View Profile WWW
« Reply #17 on: March 23, 2009, 11:26:11 PM »

Personally, I don't like C++. Its syntax was thrown on top of the existing C syntax, which makes it more complicated than necessary (especially for beginners!). Although they're less commonly used for games, it's not a coincidence that so many universities teach Java and Python. And you can make excellent games in both; in fact, you can make excellent games in pretty much any programming language.

It's more or less a trade-off between production speed and program speed. While C and C++ are generally somewhat faster than Java or Python, I'd say the latter two are better for productivity.

I haven't used C#, and I don't know if there's anyway to get it working for OSX, but I think it looks like a decent language as well. I certainly prefer managed, more high-level languages over low-level stuff, although I've worked with both.

Something that really speaks in favor of Java is the excellent API documentation. The ActionScript3 documentation looks pretty much exactly the same, and with good reason. Java is more well-documented than any other language I've used. On the other hand, it does have a bit of a learning curve, so you will need to use that documentation more than once... :>

Mind you, there's no one right answer here. This is just how I feel about it. Grin
« Last Edit: March 23, 2009, 11:31:32 PM by Morre » Logged

The Idea Book  --  www.x2d.org  --  I am Dragonene on IRC.
hexageek
Level 0
***



View Profile
« Reply #18 on: March 24, 2009, 12:01:04 AM »

I haven't used C#, and I don't know if there's anyway to get it working for OSX, but I think it looks like a decent language as well.

There is Mono (which is an almost complete reimplementation of -currently- .NET 2.0 and C# compiler)

I'm a hard-core C guy myself and when I write in C++ I find my self struggling with the same quirks of C which in summary is excess low-levelness for games. (This didn't sound english but anyway Smiley)

I'm hacking C# for a couple of months now and I'm really really loving it. It looks like MS analyzed very well where C++ fails and they made a very clean and compact high-level language.

I can't say much in comparison to Java since I didn't use it that much but Java always looked too bloated to me. Also as an end-user, .NET apps feels a lot faster than Java apps. I don't know if that would be the case if you benchmark them properly though.
Logged
Morre
Level 1
*


Apocaquatic syntomy.


View Profile WWW
« Reply #19 on: March 24, 2009, 02:29:03 AM »

Might be due to Java generally having a bit too long start-up times. Java can be very fast. With that said, of course not all programs are. Nor are all C++ programs. Smiley
Logged

The Idea Book  --  www.x2d.org  --  I am Dragonene on IRC.
Pages: [1] 2 3 4
Print
Jump to:  

Theme orange-lt created by panic