What languages shoud i learn?

Started by
23 comments, last by jbadams 16 years, 6 months ago
one day i wish to become a professional games developer, so i was just wondering, what languages should i learn for this?
Advertisement
From what I understand most game studios use C++ among many others.

However if you just want to make a normal game XNA for C# has a large community and a lot of resources available for it. Its only downside is its for Windows and Xbox 360 only.

I am sure others here will help you out more, however I need to go, sorry.
Quote:Original post by Promit
1) Professional Games Made In C#?
2) Java for game development?
3) Java----C/C++
4) c++ or c#
5) Question about Java Vs. C# Vs. C++
6) Java Games?
7) Java is fast?
8) Secondary Language:VB or Java?
9) What makes C++ so powerful?
10) C# games and cheating...
11) Is C# good enough for system utility programming
12) MC++ vs. C#
13) Which language is best for a 3d Games Engine?
14) C# vs C++ as a choice for development
15) Is Java the Future?
16) why C# and not Java?
17) What do you think of the D language?
18) my c++ d c# benchmark!
19) The Definitive Guide to Language Selection
20) Sharp Java
21) C++ or C#?
22) C++ or C#?
23) Java disadvantages
24) C++ or C#?
25) Visual C++.net vs Visual C#.net
26) C# - huh?
27) which language should i learn?
28) C or C++ or C#
29) learn C or C++ ??


There's some reading material on the subject. In my personal opinion, it really doesn't matter where you start, but Python or C# are good options. In the end, you'll want to know more than one language anyway (and once you learn one well, picking up others is trivial, except perhaps going from an OO or procedural language to a functional one), so this isn't a make or break decision. Just pick something and start programming.
I would advise you to look at this list of programming language features, and then learn enough languages to cover them all. The language in the right column is the first language which used the feature, but there are obviously more which have used since then (except perhaps for assignment operator overloading, which only exists in C++ to the best of my knowledge).
English. I suggest it with complete sincerity, communication is an extremely important tool for programmers or anyone else involved in a team-based creative process, and a good grip on the english language (both written and spoken) is quite important.

Apart from that, learn to program well in whatever languages you wish and you'll be able to pick up any additional languages that may be required with minimal difficulty. Some languages that see usage in the industry include C#, Python, Lua, Java (particularly for mobile platforms) and C++. I would recommend not making C++ your first choice if you wish to learn some of these.

- Jason Astle-Adams

I'd personally go with Python, but it ultimately doesn't matter. Pick a language and learn it. You're going to need to become proficient in multiple languages eventually if you want to be a good programmer.
Also, this question is posted once a week. One of the things that is good to learn is how to search forums, since that will get you an answer much quicker, and you'll be able to find more information than will be posted in a single thread like this. And you'll be saving everybody some time too ;-)
I tried lot of languages

the first one was c++, a disaster, 4~weeks only managing cin ,cout and math code... i just quit..
so some week later i instaled ruby -> looks more hard then c++ to me, quited too...
some day i saw a friend programming a commercial app on delphi, first it appers all marvelous just drawing buttons and checkboxes kkkkkkk³ then it hits F12... just don't understand nothing... at the begining i have to say, i have taken his delphi6 cd and instaled at my computer, so all the thing just turned "CLEAR" made some idiot apps for some months, until that date i did never have interest in game dev, so some day i just came to my head -> "lets make a game" and i started with form canvas...

later i tried to learn visualbasic, D (but the lack descent IDE's make me quit), python (marvelous language, current use as shell and to automate some things), ruby (again and i discovered that i don't like it!), C# (Nice, but xna, xna, xna, sounds like lack of freedom), Freebasic (i learned a looot³ of programming logic on it, a very nice language) the order is not correct but...

i just walked around for 2 years and come back to ObjectPascal, for me the best option, very fast, clear syntax, good IDE's.
The similarity with C++ are verry big, and able me to read C++ code and have decent coding ability on the language.

Don't say that Basic and Pascal are targeted for begginers, they continue losing these caracteristics and adding several powerfull features trough the years, and the best thing is the clear syntax, methods.

Finnally i would recomend some things:
- Don't Start with C++!!!
+ evade completely C++ at the begin
unles:
+ you want to be a "professional" game developer -> don't expect this with not a good university course too
+ walk around and test some languages, its nice to learn some logic and at the end you will know witch one use, i can help you telling some good ones:
* Python : AWESOME! clean syntax and easy to learn this one have a good future! multiplataform
* C# : good option, (delphi, java, c++) mix, XNA have a BIGGGG community but stick you in win..
* FreeBasic : another great option, fast, clear, easy to learn, provides support to *ALL good librarys around {OGL, D3D, SDL, FMOD, BASS, ALLEGRO, GTK, ... and lot more}, friendly community, multiplataform
* OPascal : great option, Fast as C++, clear, easy to learn, good frameworks avaliable, a good suport for good librarys as FB, multiplataform, and the greatest IDE ever {Delphi}
* Java : if you like to develop to mobile.



sorry my bad english {from brazil}
Just to clear up the misconceptions I'm seeing here. C# is not restricted to Windows. You can use the Mono Project to use C# in Linux or OS X. You also are not restricted to XNA. There is the Tao Framework which exposes managed wrappers of SDL and OpenGL so you can make a true, cross-platform game using C#. There's even a few managed DirectX wrappers around that you can use. I just don't want anyone to think C# can only be used with XNA. (Though XNA is pretty awesome ;)).
Quote:Original post by arthurprs
Finnally i would recomend some things:
- Don't Start with C++!!!
+ evade completely C++ at the begin
unles:
+ you want to be a "professional" game developer -> don't expect this with not a good university course too

This is all lies, C++ rocks.

Learn C. C is easy. Very easy and very useful, learn it first. It's also free.

This topic is closed to new replies.

Advertisement