Start networking and exchanging professional insights

Register now or log in to join your professional community.

Follow

Which is the best programming language for developing small games on mobile?

user-image
Question added by Ghassan Barghouti , Sr. Backend Software Engineer , Majid Al Futtaim
Date Posted: 2016/07/04

Good to know. I was interested in this question myself. Thanks for the sharing.

I coppied this nice answer from Quora, Anatolie Gavriliuc:

The best language is the language that serves best the platform you're developing on. Most platforms, however, offer several choices of languages and then the best one among them can be considered the one that servers best the game you're developing. Big console games are developed in C++, with C and Assembly for low-level engine modules. Graphics is supplemented with Cg/HLSL - shader videoprocessor code within OpenGL or DirectX frameworks. Big Windows game development is about the same. Small console games on XBox Live Arcade or Windows can also be developed in C#, Java, or VB, with or without shader code depending how intensive or custom the graphics is for your game. iOS games for iPhone/iPad/iPod are usually developed in Objective C, although it is possible to write C++ code (if you're willing to jump through hoops and dislike Objective C that much).  Android games are usually Java. Or C++ if you're willing to go native and  solve cros--device compatibility issues. Shader code for graphics is done in OpenGL (or variations of). Other mobile platforms are either C++, Java, or some custom language framework. Web and Facebook games in the browser are either Flash (Action Script) or increasingly HTML5 and/or AJAX (HTML and JavaScript, with or without WebGL or SVG if you need more complex or 3D graphics).Games that require a server component have the backend usually developed in C/C++, or increasingly in PHP, C#, or Java for faster iteration at the expense of performance. Many times it can be a mix of these with critical components ported to C/C++. There is a trend in experimenting with other languages server side as well, like JavaScript, Ruby, Python. These are, however, niche cases so far.Server-side there is usually a some sort of relational database where player and game data is stored and updated, and corresponding languages for data processing are SQL or variations and dialects of, depending on the DB package. There are cases of non-relational DB packages, but these are rare.Tangent cases for programming languages are all sorts of format/markup/structure pseudo-languages used for storing, processing and sending data over the net, like XML or JSON. These are not quite programming languages, but you will need knowledge of them as well.With all the above said, however, there are many exceptions if you are using a commercial "middleware" engine that comes with its own programming or scripting language. It can be completely custom and proprietary (Unreal), variations on existing languages (Unity's JavaScript or C#) or others with Lua  or similar scripting languages. Using an engine like Unity offers the possibility to write your game entirely in C# or JavaScript (more like Microsoft's JScript) and run almost without any changes on the PC, Web, iOS and Android devices, as well as PlayStation3 and XBox360. Be aware, however, that this is a trade of performance, memory footprint and deep customization for rapid development.All in all, I am sure I have missed some languages and platforms. If you're just entering the programming realm and this question is about what programming language to learn - then it's really not that important which one you pick. Once you learn a couple languages and get good at it, the rest of them are pretty much all the same conceptually, just with variations in syntax.  What is critical, though, is to learn the platform you want to develop on - its limitations and strengths. Most of the time, given a good execution, it's the smart use of the platform that differentiates successful bestsellers from the games that sink.

More Questions Like This

Do you need help in adding the right keywords to your CV? Let our CV writing experts help you.