Jump to content

  • Log In with Google      Sign In   
  • Create Account

Java or Python


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
26 replies to this topic

#1 fiesil   Members   -  Reputation: 126

Like
0Likes
Like

Posted 04 August 2014 - 12:31 PM

Hi everybody! I need to start with a language. I've read the article What Language Do I Use? and I'm now deciding between Python and Java.

Depending on the course I'll take (I'm about to start university), I'll learn Java+C (from the first year) or C++ (from the second year), but they are two different courses and I can't choose Java+C and C++.

Aims? Blizzard or Riot. I know it's gonna be tough, but I'll run as fast as I can. From graphic-less games to 2D games to something better and better.

If you recommend another language (possibly not C#, as I've read some bad reviews), go ahead! 

Feel free to ask any question!



Sponsor:

#2 tp9   Members   -  Reputation: 533

Like
0Likes
Like

Posted 04 August 2014 - 12:45 PM

I'm a bit confused after reading your title and thread. Why are you deciding between Python and Java again? Sounds like you are supposed to compare Java and C++ instead.

 

Also, what's better and better than 2D games?



#3 fiesil   Members   -  Reputation: 126

Like
0Likes
Like

Posted 04 August 2014 - 12:52 PM

I'm a bit confused after reading your title and thread. Why are you deciding between Python and Java again? Sounds like you are supposed to compare Java and C++ instead.


I want to start coding on my own before (and during and after) university, so I just said what courses I can choose.
I know C++ is actually very used (about 80% maybe) in the gaming industry, but it's been told to me not to directly start with it.
 

Also, what's better and better than 2D games?

I meant I can improve, starting from a 2D little game to something bigger. Or maybe a 3D game, too

#4 nochoke   Members   -  Reputation: 185

Like
0Likes
Like

Posted 04 August 2014 - 12:56 PM

Depends on you short-to-medium term goals.

If you want to learn what they're using in the industry, if you're talking big names like Blizzard, there's a high chance of C++ though they (the game development studios) use other languages such as Python/Lua for embedding.

 

In you want an advice about what to learn before going to Uni to learn your first language and learn about developing games, I'm biased for Python.

Fun, tight, clear language with some good libs for game development such as PySDL, PyGames and Kivy (follow they Pong tutorial, really impressive how fast you can build something with this framework). As a bonus during you career, there'll always be a moment where you'll wing a piece of Python code to do some odd job for you.



#5 Glass_Knife   Moderators   -  Reputation: 4996

Like
2Likes
Like

Posted 04 August 2014 - 12:57 PM

+1 for Java.

 

http://www.indiegameprogramming.com/


I think, therefore I am. I think? - "George Carlin"
Indie Game Programming

#6 fiesil   Members   -  Reputation: 126

Like
3Likes
Like

Posted 04 August 2014 - 01:10 PM

Depends on you short-to-medium term goals.
If you want to learn what they're using in the industry, if you're talking big names like Blizzard, there's a high chance of C++ though they (the game development studios) use other languages such as Python/Lua for embedding.
 
In you want an advice about what to learn before going to Uni to learn your first language and learn about developing games, I'm biased for Python.
Fun, tight, clear language with some good libs for game development such as PySDL, PyGames and Kivy (follow they Pong tutorial, really impressive how fast you can build something with this framework). As a bonus during you career, there'll always be a moment where you'll wing a piece of Python code to do some odd job for you.

 Blizzard and Riot are my aims, really. Not saying I don't want to start from below, I do! They are just my goals.
I know about Python being used almost everywhere, even if not as the main language; though I'm starting university within 2 months, so I don't really have time to do a long-time project to finish BEFORE joining the university. Instead I'm looking for something to go along with for months.
 

+1 for Java.
 
http://www.indiegameprogramming.com/

That's cool! I didn't know about it. Though it seems there are many disadvantages if I study Java as I've read in the article I posted above. That's why I decided to ask here!

#7 3Ddreamer   Crossbones+   -  Reputation: 3169

Like
4Likes
Like

Posted 04 August 2014 - 01:13 PM

In general, C# is a good language, safe to say "easier" than some languages and one of the more beginner friendly compared to C++ in the long term.   Productivity is said to be good with C#. It has some limitations but all languages do.

 

Python is a good language for scripting a game in some development frameworks.  Java is a good all-around general language.

 

Really the language that you choose should typically be determined by the game engine or other type of development framework that one will be using, except that beginners should avoid C++ for the most part. The C++ is best for a second language after the coder reaches at least intermediate level in another language first. C++ allows the beginner to make sloppy coding habits too much to be a first language.  Perhaps you know enough about coding to avoid the C++ tolerance for inferior coding.

 

All just my humble opinions you got here, but many would agree with me.

 

EDITED: By the way: If you choose Java, then take a look at jMonkey engine.


Edited by 3Ddreamer, 04 August 2014 - 01:16 PM.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#8 Glass_Knife   Moderators   -  Reputation: 4996

Like
0Likes
Like

Posted 04 August 2014 - 01:38 PM


That's cool! I didn't know about it. Though it seems there are many disadvantages if I study Java as I've read in the article I posted above. That's why I decided to ask here!

 

There will be time spent learning how to program.  10 years from now, there may be some new things out there that makes all this time spent on anything a waste of time if you're trying to master a specific language.  So don't approach it from that direction.  Pick a language and learn to use it.  Any object oriented language will teach you the basics of programming.  Variables, control structures, classes, inheritance, composition, polymorphism, data structures, GUIs, File I/O, networking, threads, graphics, etc...  The list goes on.  

 

It is less important what you pick, and more important that you pick something, knowing full well the knowledge for that specific technology will only last a few years.  

 

P.S. Since that's my website, I'm a little biased towards Java.  


I think, therefore I am. I think? - "George Carlin"
Indie Game Programming

#9 fiesil   Members   -  Reputation: 126

Like
0Likes
Like

Posted 04 August 2014 - 01:43 PM

P.S. Since that's my website, I'm a little biased towards Java.

Yeah, I noticed ;)

Python is a good language for scripting a game in some development frameworks.  Java is a good all-around general language.

So, Java knowing my aims?

Really the language that you choose should typically be determined by the game engine or other type of development framework that one will be using

Don't know yet sad.png I don't know anything about game engines

#10 DvDmanDT   GDNet+   -  Reputation: 994

Like
0Likes
Like

Posted 04 August 2014 - 01:53 PM

Now that even big studios like Blizzard is using Unity, C# seems like a very strong option.

 

Python is great if you want to get up and running extremely quickly and is highly suitable for smaller demos and short-lived projects, such as 48h competitions etc. For larger and longer-running projects, I'd go for Java or C# any day though.



#11 fiesil   Members   -  Reputation: 126

Like
0Likes
Like

Posted 04 August 2014 - 02:03 PM

Now that even big studios like Blizzard is using Unity, C# seems like a very strong option.

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported

#12 KnolanCross   Members   -  Reputation: 1361

Like
0Likes
Like

Posted 04 August 2014 - 02:06 PM

 

Now that even big studios like Blizzard is using Unity, C# seems like a very strong option.

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported

 

 

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it in major projects.

 

If you don't know how to code yet, more important than a language, is learning algorithm logic. This site have some pretty nice challenges on logic:

http://projecteuler.net/

 

EDIT:

Just on topic, I personally like python better than java, because I find java too verbose and annoying (final result is definitely a somewhat resilient code, still I don't enjoy it). Keep in mind that I learned python when I already knew how to code (C as first language here), so maybe you should stick to java to learn a typed programming language (which I find really important). If you want to learn python first, be sure to go to a typed language (java, C, C++, C#) later.


Edited by KnolanCross, 04 August 2014 - 02:14 PM.

Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).


#13 DvDmanDT   GDNet+   -  Reputation: 994

Like
3Likes
Like

Posted 04 August 2014 - 02:12 PM

 

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it to major projects.

 

http://unity3d.com/showcase/case-stories/hearthstone

 

I wouldn't call it insignificant, though it's seemingly only the mobile port. I didn't read the whole thing though, I just checked Unitys showcase and saw a title I recognized.



#14 DvDmanDT   GDNet+   -  Reputation: 994

Like
0Likes
Like

Posted 04 August 2014 - 02:18 PM

Awesome! I didn't know it! Does Unity support Java, too?
I've read C# isn't a good option. I'd go for Java maybe, if it's supported

 

 

Did you read that from Stallmans personal blog or something? :) Joke aside, as far as I know C# is currently considered one of the best options when it comes to gamedev. If nothing else, tons of studios seems to use it for their tools.

 

Also as far as I know, Unity does not support Java. Java actually seems quite uncommon in non-handheld gamedev for some reason. I have no idea why, but I'm glad that it is so, because I really don't like Java.



#15 KnolanCross   Members   -  Reputation: 1361

Like
0Likes
Like

Posted 04 August 2014 - 03:34 PM

 

 

Blizz used it to create a small game in their april's fool joke (flapping reaver), I wouldn't assume they are actually using it to major projects.

 

http://unity3d.com/showcase/case-stories/hearthstone

 

I wouldn't call it insignificant, though it's seemingly only the mobile port. I didn't read the whole thing though, I just checked Unitys showcase and saw a title I recognized.

 

 

Wow, didn't know that HS was using Unity 3D. I stand corrected.


Currently working on a scene editor for ORX (http://orx-project.org), using kivy (http://kivy.org).


#16 Alessio1989   Members   -  Reputation: 2130

Like
0Likes
Like

Posted 04 August 2014 - 05:00 PM

Hi everybody! I need to start with a language. I've read the article What Language Do I Use? and I'm now deciding between Python and Java.

Depending on the course I'll take (I'm about to start university), I'll learn Java+C (from the first year) or C++ (from the second year), but they are two different courses and I can't choose Java+C and C++.

Aims? Blizzard or Riot. I know it's gonna be tough, but I'll run as fast as I can. From graphic-less games to 2D games to something better and better.

If you recommend another language (possibly not C#, as I've read some bad reviews), go ahead! 

Feel free to ask any question!

 

The only bad thing about C# is that it still didn't replace Java...


Edited by Alessio1989, 04 August 2014 - 05:01 PM.

"Software does not run in a magical fairy aether powered by the fevered dreams of CS PhDs"


#17 fiesil   Members   -  Reputation: 126

Like
2Likes
Like

Posted 04 August 2014 - 05:12 PM

If you want to learn python first, be sure to go to a typed language (java, C, C++, C#) later

For sure, that was an option.

Also as far as I know, Unity does not support Java. Java actually seems quite uncommon in non-handheld gamedev for some reason. I have no idea why, but I'm glad that it is so, because I really don't like Java.

Oh, I understand. I didn't see many great games made with Java, too.

Is C# a good language? Really, I've read some bad reviews. Also, I don't know if it'd be better to start with it or with Java.
What about Python? Nobody seems to go for it as a first choice to get into game dev. I had in mind to go with it so I could also code for web and other software in general.
Should I make a pool to see what the result would be?

#18 Alessio1989   Members   -  Reputation: 2130

Like
0Likes
Like

Posted 04 August 2014 - 06:32 PM

Although Python is not the "first choice" as general purpose language to get into game development (it's still often used as scripting language in game development), it is one of the "first choice" to get into programming for a beginner.

Also forgot to learn only the programming languages that you are going to use at your uni courses.


Edited by Alessio1989, 04 August 2014 - 06:35 PM.

"Software does not run in a magical fairy aether powered by the fevered dreams of CS PhDs"


#19 DvDmanDT   GDNet+   -  Reputation: 994

Like
0Likes
Like

Posted 05 August 2014 - 02:50 AM


Is C# a good language? Really, I've read some bad reviews. Also, I don't know if it'd be better to start with it or with Java.
 

 

It's a great language. Most people bashing it are either anti Microsoft (ie GNU/Linux people) or because it is "slower" and "more limited" than something like C++. The latter would probably also bash Java though.

 

C# is also currently one of the best all-around languages, since it's suitable for desktop app development, mobile app development, gamedev and web. It's not "biggest" or "most popular" in any of those categories, but has a rather strong presence in all of them.



#20 Gian-Reto   Members   -  Reputation: 1814

Like
0Likes
Like

Posted 05 August 2014 - 03:02 AM

 

Depends on you short-to-medium term goals.
If you want to learn what they're using in the industry, if you're talking big names like Blizzard, there's a high chance of C++ though they (the game development studios) use other languages such as Python/Lua for embedding.
 
In you want an advice about what to learn before going to Uni to learn your first language and learn about developing games, I'm biased for Python.
Fun, tight, clear language with some good libs for game development such as PySDL, PyGames and Kivy (follow they Pong tutorial, really impressive how fast you can build something with this framework). As a bonus during you career, there'll always be a moment where you'll wing a piece of Python code to do some odd job for you.

 Blizzard and Riot are my aims, really. Not saying I don't want to start from below, I do! They are just my goals.
I know about Python being used almost everywhere, even if not as the main language; though I'm starting university within 2 months, so I don't really have time to do a long-time project to finish BEFORE joining the university. Instead I'm looking for something to go along with for months.
 

+1 for Java.
 
http://www.indiegameprogramming.com/

That's cool! I didn't know about it. Though it seems there are many disadvantages if I study Java as I've read in the article I posted above. That's why I decided to ask here!

 

 

a) You should continue doing side projects even while doing university. University can only teach you the basics (thats what they do anyway), and your future employer might expect much more than what you learn at a university (even if you do a Master degree). If you really want to make a good impression (and given your lofty goals, you will have to), have zero work expierience in the field (given you are not content with joining a smaller, less well known studio for some years before knocking at blizzards doors), IMO doing as many and as impressive side projects as possible besides university is a MUST!

 

Will you have to give up your already little free time besides university for it? Yes! But there is no "shortcut" without sacrifices.

 

b) Java, C#, C++ .... in the end, it really will not matter. Go with the language you will pick for your university curriculum and you will have an easier time in the beginning of uni.

 

In the end, what language you will use in the Industry depends a lot on the studio and the position. For Graphics Programming a healthy dose of shader languages and knowing APIs like DX or GL will help you as much as C++ I guess. For Gameplay programming, you might be coding much more in Script languages or C# than C++.

 

The important thing is to start learning the basics of programming. If you know what an Array is, or a scalar variable, you know how loops are built up, you know about some patterns like observer or factory, you will find it quite easy to learn a new language. 

 

There are important differences. But these are much easier to deal with as soon as you have learnt to program, and this skill to a large extend is completly language agnostic.


Edited by Gian-Reto, 05 August 2014 - 03:07 AM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS