How to select a programming language
Introduction
With so many different languages available, how do you know which one to choose for a project? There are many different factors.
Selecting a programming language is not always straightforward.
-
- Sometimes, you don't have a choice. If you work for a company and all the expertise is in VB.net, it could be costly and time-consuming to learn and use a different language.
- Sometimes, the budget is tight so you use what you know and can do quickly.
- Sometimes, you are working for a customer who has other programs in a particular language and to keep maintenance costs down, they have told you what language they want you to use for a project as part of the contract.
- If you have been trained and you have built up experience in a particular language, then you are most likely to choose that one if given a choice.
- If you are developing your skills in a new language, or broadening the skill-set in a department, then you are likely to select a particular language.
- Some languages are more popular than others so you might select one that is widely used and supported. E.g. Fortran is not widely used commercially now but Python is increasingly being used for commercial applications.
- Some languages, because they are popular, have a wide set of supporting software, including Integrated Development Environments (IDEs), debugging tools and so on.
- Sometimes, you must build software that integrates with existing systems that use a particular language. It may make sense to continue to use the same language as the exist system uses.
- If you need to manipulate the hardware inside a computer e.g device drivers or the speed the program runs at is important e.g. in high-speed control applications then you would probably select an assembly language.
- If you need the program to be portable, then you probably would be thinking about a High Level Language.
- If you want to make use of extensive or existing libraries, that might colour your selection.
- Some languages like Python are able to produce prototypes very quickly. Often, the need to be able to use Rapid Application Development and a language that is suited to that can influence a choice.
- Sometimes, you are writing a web-based application so might select the common languages used (HTML, CSS, JavaScript, Perl, PHP) to allow easier future support from many different people and organisations.
- Sometimes, you will write an application in more than one language. For example, you might write a project in a High Level Language but then write the parts that need fast reactions in assembly or you might do what is common in the games industry and write a core in assembly, add a script engine and then write the rest of the code in a scripting language.
- You might need one language that lets you easily glue in another language e.g. Perl can easily integrate C modules.