+ 1
What language should I learn for making a game?
Should I use appleās swift? I hear itās fast. Ruby? My Roblox name is RubyPete. JavaScript? Someone please help!
12 Answers
+ 6
As @Martin said.
Whichever you prefer.
The ones featured in the thread below, are great for games.
https://www.sololearn.com/discuss/625747/?ref=app
+ 2
Java..
+ 2
its used on 4 billion devices...hows that for a plus?
+ 2
Thanks guys
+ 2
please help me Iam Bigener
+ 1
I need some advantages and disadvantages
+ 1
Pretty convincing
+ 1
C, C++, or Java...
Java
- Pros: Write once, deploy across many platforms; no worry of external libraries (bindings aside); all-in-one language; basic 2D stuff built in.
- Cons: Very restrictive, OO purest language; not optimal for serious 3D games (MC notwithstanding); massive language; not industry standard for games.
C
- Pros: Very simple; tiny language; some OO possible (pointer hacks); fast; sma|| learning curve being very close to the metal of how PCs work; standards remain the same for ages.
- Cons: Safety up to programmer, thus prone to human error; no garbage collector; lots of work for small results; strings are a hassle; only 2 commercial-level engines I can think of off hand for serious game dev, thus you'll probably write some of your own.
C++
Pros: Multi-paradigm, so you don't have to use it as an OO language, though you can take advantage of OO features, std::vector, namespaces, de facto of the industry so loads of engines available; once you learn it, you won't need other languages; safer than C.
Cons: Bigger language than C, though smaller than Java by far, steeper learning curve, standards constantly changing (17 isn't supported by many compilers, yet 20 features in the pipeline); code can get messy quickly; fair amount of effort for simple tasks; big disparity in learning to write vs learning to understand code.
Conclusion:
- If programming is just a means to an ends, consider some point 'n click software with Python scripting.
- If you are passionate and want to make many softwares on many platforms, you may as well go to the pain of C++ because you'll never need anything else.
- If you're into programming for the sake of it and games are a by-product, go C.
- If you want to make rapidly-deployable software on many platforms with a safe language, but some limitations then Java.
- Final option, go web and suffer people's browser plugins screwing up your game plus massive slowdowns from excessive overhead.
+ 1
Don't know much about Swift, but portability and long-term support should be considered. Ask:
1. How many platforms does it compile on (or does the interpreter run on for interpreted/JIT languages)?
2. Will this be supported or relevant 10 years later? What engines have bindings for it? Will they maintain them in years to come? Will those engines be around then? It's tough, this one.
There's also the option of Unity and C# iirc, but you may as well learn C too, to compliment your arsenal. Unity has held against time and may even have Python, Swift, or Ruby bindings.
Ultimately it falls on the scale of your project. I've seen Doom engine remade on QB64 (QBasic for 64bit) so don't limit yourself. What are you trying to do? That is the first and most important question. If a drag and drop game maker works with no programming, use it. There's no one size fits all. C++ is the closest to that but it can be a nightmare for newcomers. I used DarkBasic to write my first 3D simulator. Why? Because it was the correct tool for _that_ job.
0
Why do you say that?
0
What about swift