App Store

Things to Consider When Selecting a Programming Language

This guest-post is courtesy of our partners at Xojo.

Since computers are everywhere these days, it’s not surprising that there are thousands of programming languages with more appearing each year. From classics like BASIC to mainstream languages like JavaScript, Python and Swift, to the more esoteric, like LOLCODE and everything in between, it can be difficult to choose just one. You’ll often see articles that try to position the top 5 most important, modern, up and coming, etc. programming languages for <insert current year or platform>. So how do you choose the one that is right for you?

Most programming languages are created for a specific purpose, but will usually have the same basic factors. For example, they will all have the ability to assign values to variables. They will all have some mathematical operators, as well as conditional expressions, control flow, and value types. Some are object-oriented and some are not, while others are made just for a specific purpose to solve a unique problem. So you need to consider the suitability of the language for the problem at hand. Are you choosing the right tool for the job? Of course this is easier said than done. But, for example, you wouldn’t choose Java for creating desktop applications or Swift for server software. If you’re a professional developer, you could use ten or more programming languages during your career. But if you’re just learning programming, focusing on one language to start with initially makes the most sense.

One of the most significant factors in choosing your programming language is that you, as the developer, can be productive in it. The best choice is always going to be the one that allows you to quickly and easily solve the problems that you are facing effectively and efficiently. So you should consider the learning curve before adopting a new programming language – will you be able to be productive quickly? Are there resources available to help you get started?

If you want your app to provide the best user experience, it should be native on whatever platform it runs. HTML is great for the web because that is the native way to create web pages. Anyone who ever tried a Java app running in a web browser knows how unnatural that feels. On the desktop or mobile, the app should be written using native controls and APIs. In the end, software is for the user and should be written with their user experience in mind first, which will lead to satisfied customers, positive reviews and lots of downloads in the App Store or wherever you deploy your App.

Do you need to support multiple platforms? If you need your app to have both a mobile and web component, selecting a cross-platform development tool and language, like Xojo, for example, is ideal so you can share code and save time. Also, if later down the line you need to support additional platforms, cross-platform tools make it easy to do so.

That a language is new or modern might sound great but if it is not well-suited for you or your intended purpose, the fact that it is new or modern won’t matter. What’s important in a programming language is that you are productive with it. The best programming language for you is one that lets you quickly and easily:

  1. Learn it
  2. Create your app
  3. Deploy your app successfully
  4. Observe your app doing what it supposed to do
  5. Debug and update your app when it doesn’t behave

Whatever programming language you decide on, if you find that it isn’t right, move on. As we mentioned, a lot of the basics are the same so you should be able to apply the skills you have developed to learn a new programming language.