Which Programming Language Should You Use?

With the ever growing list of frameworks and programming languages, it’s getting quite difficult to choose the best one for your next project. The fact that most of the general purpose languages can be used to create the same functionality does not help things – one language can do it faster, but another one can offer more robust features that will make the code more reliable, which again, makes the choice harder. [What is a CSS Preprocessor]

So, how do you choose a language before diving into the development process?

> Things to Consider First

Before you go straight to the list of programming languages and decide on which one to use, there are some things you should consider in order to make the best choice.

> Ease of Learning

If you’re going with a language that you don’t have much experience with, or one that you’ve never used before, you’ll definitely need to ask yourself, “How fast can I get acquainted with this language?”.

Any programming language takes time to learn – depending on your experience and situation, that could be several hours to several weeks. So if you need to finish your project quickly, it may be better to stick with something that you already know, or at least something very similar.

But if you have a big project that will require lots of work and needs some specific features, then it may be worth learning a completely new language. In that case, spending a couple of days to get the hang of it is not that big of a deal if the results are worth it.

> Available Documentation and Online Support

Another thing to consider is the available documentation and support on various forums and websites. Every programmer will tell you that StackExchange has changed their lives – it makes finding solutions, fixing bugs and generally learning and working with any language a much better experience.

Unless you’re a complete professional in one language, you’ll most likely need to look up its documentation, and ask a few questions online if you’re stuck on something – there’s no shame in that, despite what some might say, as it lets you do things faster and better than if you were to solve every little problem yourself.

Most of the popular programming languages have plenty of active users willing to throw in their $0.02 on any of the major communities, but if you’re going with a newer or more obscure language, you might have to spend quite some time trying to come up with a solution yourself. Coupled with the time you take to learn the language, it may add up to a lot.

> Most Fit for The Purpose

Probably the most important factor when deciding which language you should use is the purpose fit – sure, most of the general purpose languages can be used interchangeably, but you need to choose the one that fits your project best. You don’t want to automate server administration with JavaScript or implement Web features using ASP.NET on a Linux machine – while possible, even if you know the language well and prefer it in your other work, it’s just very counter-productive (not to mention all the problems you’ll probably have to fix down the road).

> Main Languages to Consider

Of the multitude of programming languages out there (and frameworks built on top of them), there are a few that can be used for most jobs – unless you need something more specific, one of these general purpose languages can do the job extremely well.

> Javascript

JavaScript has a long history behind it and is universally supported by all major browsers. It’s mainly a client side scripting language, but it can also be used for server side applications – it actually became quite infamous for being used in place of better suited languages just because developers know it.

It can be used for almost any purpose in Web applications, and with AJAX and the many libraries developed for it, makes it very easy to prototype and create full-fledged apps that will run on any platform.

It’s probably the best choice if you want to create a website/service/app that will run in the browser, but it can also be successfully used for mobile and even desktop apps. There isn’t much that JavaScript, HTML and CSS can’t do together.

> Python

Python is a highly abstracted, multi-paradigm general purpose programming language that can be used for practically any purpose. It’s also able to run cross-platform, as the interpreter is separate and can be installed on all of the popular operating systems.

Python can successfully be used in anything from server automation to enterprise applications (resource management, CRM and accounting, data analysis, etc.), image manipulation programs and Web communication apps. [Best CDN Options For Your Website]

> Ruby (on Rails)

Ruby is another popular general purpose language that can be used for a wide variety of tasks. It’s rarely used barebones – developers usually prefer the Ruby on Rails Web application framework, but the underlying syntax and logic is the same.

Ruby can be used for cross-platform apps, but its best purpose is Web applications that run in the browser. Twitter is probably the most popular app written in Ruby (there’s also AirBnB, SoundCloud, IndieGoGo), but the language can be used for almost any purpose, from 3D modeling software to network management and robotics (as proven by MORPHA and Blue Sequence).


PHP is the most widely known server side scripting language that has been adapted for a large number of tasks. It’s considered the “dirtiest” language out there, mostly because it’s rather easy to learn and newbie developers don’t pay much attention to coding practices – its history is also not the fanciest, being a personal programming language that was rewritten several times by different individuals.

Nevertheless, PHP does a lot of things and it does them well. Facebook is the most popular platform using PHP, although they’ve also customized it to fit their purposes. PHP is a great choice for Web apps that run on Linux machines, and it can easily be used in conjunction with other languages, most notably JavaScript. [Best PHP Template Engines]

> Java

Java is an object-oriented, class-based programming language that can run on any platform, as long as it has the Java Runtime Environment installed. It’s one of the most widely used programming languages, being the official language for Android app development – if your goal is to develop native, high performance Android applications, Java is the language to go with.

> Objective-C or Swift for iOS Apps

If you need to develop iOS apps, Objective-C or Swift are your two choices. There’s a debate going on between using Obj-C or Swift, but both languages are rather similar, and to make it simple, you should use Objective-C if you already know C/C++ or are working on a project that already uses Objective-C code.

If you’re creating a new app from scratch and don’t mind spending some time getting to know a new language, Swift is the better choice, as it is more modern, more resilient and is the future of iOS apps, according to Apple.

> C++ vs C# for Windows Apps

C++ and C# can be used equally as well for creating native Windows apps, but C# is favored by Microsoft (and pretty much used only on their platform),a s well as easier to learn and implement. If you come from a C/C++ background, you’ll probably want to stick with that, however C# is not that hard to learn and any apps built from scratch will benefit more from it than C++.


Choosing a programming language may seem daunting at first, but once you’ve figured out what exactly you’ll be doing, you can easily find a language that will suit you. Choosing one that you already know is a bonus, but not a necessity – the availability of online help and documentation can easily make up for a lack of detailed knowledge, and if you stick with one of the more widely used languages, you should have no problems.

Image Source: Freepik.com

by Ricky Smith

You may also like

Read More Articles about

Web Development