Job as Game Programmer, but not java

Not an article per-se, but the BlackBerry Developer site seems to be pushing towards native C++ development, which is only available in the most recent Blackberry OS.

I say this as someone who has a Blackberry and uses Java to program for it (not professionally), and I’m getting the feeling that RIM is pushing towards C++ (mostly for their tablets, I guess), but it is purely subjective on my part.

I think their rationale was that Java would pose a lower barrier to entry for those looking to develop for the platform, which is not such a bad idea, a lot of people developing apps are small start-up businesses that certainly benefit from not needing an expensive programming team.

I’m not sure if the shift in focus is because of poor performance of the Java apps, or because they consider that the App market is established enough as to need more advanced capabilities, and be able to afford them.

Possibly both, I guess.

Edit: Just noticed that RIM has added a the capability for their OS to run Android apps. That’s pretty decent and smart of them, rather than lock down on their own OS, open it and make it compatible.

It’s a shame that Blackberry has lost so much market share to iOS/Android, I rather like how they work, and their system is still (As far as I know, I might be wrong) the most secure out there, making it good for business purposes.

You face two barriers:

  1. Syntax
  2. School of thinking

With school of thinking I mean methodologies like object orientation, procedural or functional languages.

It’s fairly easy to switch inside one group, e.g. OOP in Java is fairly similar to OOP in C# or C++, so it boils down to learn the new syntax, and the differences in support libraries or additional langauge features (e.g templates in C++ are much different from generic types in Java).

But if you want to learn a language from anothe school, you must also learn a new way of thinking. If you have been used to OOD/OOP all your life, bets are that it is difficult for you to get into a functional language, and you’ll at least be uncomfortable with procedural languages for a while. Adopting a new way to think about and solve problems really needs some time.

There are also so called “idioms”, preferred ways to write certain sorts of code in a language. While you can use Java idioms in C++, they neither will work well, nor will your co-workers like your code. This is a higher level of learning though, even above syntax and methodology - it’s the question of style and also habit of the language users.