GPWiki.org
GPWiki.org
It is currently Mon May 20, 2013 10:13 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: The next BEST language.
PostPosted: Sat Apr 28, 2012 10:11 pm 
Level 1 Cleric

Joined: Wed Jan 25, 2012 10:52 pm
Posts: 11
So, I have been doing Java for at least four months now, and created a basic console game.

BUT, since I hear that Java and C++ are soon to be deprecated, should I continue to expand my skills with Java? I wan't to know what will be the next best language out there for me to learn? Like what will takeover Java or C++, like HTML5 is the new Flash almost.

So, does anyone know any new languages out there with a Java like syntax which will be good for creating games with (Both 2D and 3D)?

Regards,
-Bicentric


Top
 Profile  
 
PostPosted: Sat Apr 28, 2012 11:08 pm 
Gamer Geek

Joined: Wed Dec 22, 2010 8:04 am
Posts: 33
Location: Lusaka, Zambia.
Well, I'm not sure if this a new language or merely an extension C++11, formerly C++0x. Either way, I don't see Java or standard C++ being phased out any time soon.

_________________
The SCND Genesis: Legacy ||
Try out my game!!!!!! ||
SubiyaCryolite on Twitter || SubiyaCryolite on G+ || SubiyaCryolite on FaceBook


Top
 Profile  
 
PostPosted: Sun Apr 29, 2012 7:48 am 
Bytewise

Joined: Sun Oct 16, 2011 3:09 pm
Posts: 277
Location: Here (where else?)
Nobody knows what the next big language is going to be.

I doubt it is Java, as the language just seems to be stuck. Hopefully Oracle will ditch some of the old cruft, and starts updating the language. I have never programmed in C#, but I think it is the better Java currently, it is just very useless outside the Win* platform.

As for C++, it is a complicated language, which shows in the low number of people using it. I don't see it going away though, as there is no sane 'next' language you can switch to.


In general, it is always a good idea to know more languages. So, if you have an itch to try a new one, just go for it :)
Even if you never use the language in the end, at least you have a proper idea why.

I'd suggest that you look into Python. It has references, but unlike Java, all the way (an integer '1' is also a reference). It is a much more light-weight language, no private/protected/public, getters/setters are discouraged, and interfaces are not needed.
Lists, maps, and tuples are native, and very well integrated with generators/iterators, which makes it a very powerful language as well.
(And last but not least for you perhaps, there is a Java implementation, which means you can mix Java and Python in one application :D )

_________________
My project: Messing about in FreeRCT, dev blog, and IRC #freerct at oftc.net


Top
 Profile  
 
PostPosted: Sun Apr 29, 2012 1:14 pm 
Level 1 Cleric

Joined: Wed Jan 25, 2012 10:52 pm
Posts: 11
I would really like to expand my skills with Java and possibly learn another language at the same time. So at the end I can compare the two and decide which is best for creating a game with. I'm looking into learning Python to, but are there that many games written in it? And I have read on Wikipedia that Python is "Often used for gameplay scripting, but not for the bulk of the game code itself". So is that what I really want to learn? There is NO way I will be learning C++, it's a complicated language and no where good for people like me. The only language I am good in is PAWN, but that's for San Andreas Multiplayer gamemodes.

Regards,
- Bicentric


Top
 Profile  
 
PostPosted: Sun Apr 29, 2012 2:08 pm 
Bytewise

Joined: Sun Oct 16, 2011 3:09 pm
Posts: 277
Location: Here (where else?)
The strength of Python (or any scripting language, for that matter) is glue-ing, ie from the top-level call blobs (libraries) of compiled code (effectively, glue-ing the blobs together into a single coherent program). Since large parts of an application are not time-critical, you can use lots of glue, in general.

I don't feel 'scripting language' is a fair description though. It can be used as such, but it is more powerful than that.
The language scales very well to bigger programs. Eg a card-game would be trivial to program (and probably is done already).

I don't have statistics, but perhaps you should have a look at a projects site like sourceforge or googlecode to see how often the combination 'python' and 'game' is mentioned.

_________________
My project: Messing about in FreeRCT, dev blog, and IRC #freerct at oftc.net


Top
 Profile  
 
PostPosted: Sun Apr 29, 2012 3:27 pm 
Level 1 Cleric

Joined: Wed Jan 25, 2012 10:52 pm
Posts: 11
I have found a list of games written in Python, A Python Game Engine, and a simple Python RPG 3D Game.

http://en.wikipedia.org/wiki/List_of_Py ... ideo_games
http://www.panda3d.org/
http://www.youtube.com/watch?v=QrP8UxOkCs0

By 'glue-ing' do you mean basically hooking the game scripts together?

And I have seen your FreeRCT project, may I ask what that is written in? (I assume C++)


Top
 Profile  
 
PostPosted: Sun Apr 29, 2012 4:27 pm 
Bytewise

Joined: Sun Oct 16, 2011 3:09 pm
Posts: 277
Location: Here (where else?)
Bicentric wrote:
I have found a list of games written in Python, A Python Game Engine, and a simple Python RPG 3D Game.

http://en.wikipedia.org/wiki/List_of_Py ... ideo_games
http://www.panda3d.org/
http://www.youtube.com/watch?v=QrP8UxOkCs0
There is also http://pygame.org/ , a layer on top of SDL.
Oh, and PyPI could be interesting as well: http://pypi.python.org/pypi?%3Aaction=s ... mit=search

Bicentric wrote:
By 'glue-ing' do you mean basically hooking the game scripts together?
No, hook the fast (compiled) lower level functions together. Python is interpreted, so you don't want it in your rendering engine drawing sprites, pixel by pixel.
Instead, you code the latter in some compiled language, and Python uses that code as a function it can call "render this sprite", and "this one" and so on.
Selecting the next sprite is not where the CPU time is spent, compared with rendering pixels.

If sprite selection is still too slow, code that also in some compiled language, and use Python to call that new code (which probably does something like "rendering the display for this frame") or so. Saying "render everything" is not where the CPU time is spent, compared with the actual rendering process.


For places where speed is non-relevant, eg entering a name in the high score table or so, Python can go right down to the bottom, the OS interface.

So what you get, places where speed counts get coded in a compiled language, and Python manages the composition of all these compiled blobs of code, moving data between them, and deciding what to call when.


Bicentric wrote:
And I have seen your FreeRCT project, may I ask what that is written in? (I assume C++)
The game is, but there is practically only engine currently, ie display of the world. There is no 'game' yet.
I have not made up my mind whether I want a scripting engine, perhaps I should slowly start thinking about it :)

I do use Python though, the RCD data files are created using Python code; it's in rcd/*.py and rcd/rcdlib/*.py. It makes use of PIL (Python Image Library), which is a compiled library for doing image manipulations.
I use it in a relatively stupid manner though, so it is not so fast :p

_________________
My project: Messing about in FreeRCT, dev blog, and IRC #freerct at oftc.net


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group