OpenGL - alternatives to Java

OK so this isn’t a Java / OpenGL question but bear with me…

I’m a Java enterprise developer by trade. Following my last review I’ve been given a personal development objective to expand my programming skills beyond Java - specifically Ruby and/or Scala. Now frankly I’ve little interest in learning other languages having invested more years than I care to remember in Java and associated technologies, also the marketplace for Ruby or Scala skills is negligible compare to Java or (for example) C#, so why bother!?

But it occurs to me that I could learn another language by porting the Java / LWJGL code-base I’ve built up over the years, thus satifying the personal objective and doing something that I would be interested in. I believe there are OpenGL bindings for both the languages - correct?

So I’m interested in the experiences of the JGO community: Do any of you use these languages as an alternative to Java? Anyone offer any recommendations, pitfalls to avoid, suggestions, other thoughts, etc?

Thanks in advance for any thoughts.

  • stride

Before I start I shall apologize; this post is not at all helpful to you and I’m ashamed. I just felt I had to comment:
what is the world coming to when us developers (the clever people) are forced to learn a language like scala (I agree with you on scala especially since it’s java at its heart anyway but I’ve never seen much of ruby) in order to expand our horizons. Seems a pretty dull horizon ahead of us. (Steps down from soapbox)

For example: learning a functional language (haskell) or a data centric language (SQL) will help you solve problems in a completely different manner, potentially more effective, in languages you already master, like Java. It’s not about the actual subject you decide to learn, it’s about broadening your skillset (or horizon, if you will).

Functional languages are great to learn. It involves an entirely different programming paradigm than with Java.

OpenGL isn’t really where a functional language like Ruby or Python will shine. Instead, I’d recommend developing an application with PyQt, Ruby on Rails, Kivy, etc.

With that said, if you are really determined to use OpenGL with Ruby or Scala, there are of course bindings that you can find. Or, for example, you could write a LibGDX game in Scala/JRuby.

[quote]the marketplace for Ruby or Scala skills is negligible compare to Java or (for example) C#, so why bother!?
[/quote]
Not exactly true. A lot of studios and companies use Ruby or Python for backend development.

Not exactly true. A lot of studios and companies use Ruby or Python for backend development.
[/quote]
Not to mention that some of us just happen to love programming and don’t view everything through the lens of what will make us the most efficient cog in a corporate machine.

Is this analogy from something? My coworker uses this phrase all the time…

“Cog in the machine” is just an old saying, dating back from the time when, er I imagine, when people still used the word “cog”. The analogy to being an interchangeable part is something I figure is pretty self-evident.

Thanks for the feedback guys, lots of food for thought there.

Not exactly true. A lot of studios and companies use Ruby or Python for backend development.
[/quote]

Very true, don’t get me wrong I’m a developer at heart and love the challenge and creativity of programming, I was showing my cynical side when I said that I had no desire to learn a new programming language :wink:

For reference http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html is handy to keep tabs on language popularity (from a potential job perspective).

I’m actually quite enthused about this objective now, if anyone’s interested I’m thinking of giving Ruby or Ruby on Rails a go:

  • it’s an OO language, so it will be interesting to compare and contrast with Java as I port my 3D software.

  • as a couple of posters mentioned it’s often used in the back-end (we actually do use it in my organisation, just not in any of the areas I’ve been involved in as yet).

  • stride

The obvious OpenGL binding for you to use with Scala would be… LWJGL. It’s a JVM-based language which supports Java libraries natively.