There are many programming languages used by developers and taught in school around the world and some being high level and others being low level programming languages. There are a number of categorizations which drill them down to different preference choices depending on the field of practice and programing style like object oriented or not. Languages like python get a lot of hype these days due to “data science regime” while forgetting some of the legends like LISP and COBOL that have over 60 years of life and very much still run our financial application infrastructure with millions of developers worldwide.
The question here is what informs the choice of programming language taught in an institution over the other or the choice of programming language for a project. From experience university professors and lecturers all teach the languages they were taught in school when they were students or those languages they feel comfortable with irrespective of whether there is value addition to the students or based on any research.
Research needs to be done comparing the advantages and disadvantages different of the programming languages. This may include mastery of the language, complexity of the project and language support by the number of libraries available including the support groups and platforms where help can be gotten in very short time. The fact that we do not know what to measure brings about another problem whereby it is hard to account for development time, total cost of the project, number of bugs and degree of fitness for the purpose.
A lot of computer scientist’s and software engineers do not actually believe that programming languages matter. It is a very common belief that programming languages are a matter of personal preference. Knowing that learning a second programming language is harder than learning the first one; students or practitioners tend not to try at all or if they do; they will limit themselves to closely related or similar languages and thus conclude that choice of language does not matter.
The choice of programming language taught in higher institutions of learning and by practitioners leads to a position where:
- Institutions choose a programming language to be taught based on industry demand for example python since data science is the in thing at the moment but why not PHP since it runs on over 80% of the websites or Java that is widely used a lot of desktop applications.
- Tech teams choosing a programming language and framework based on the very limited skills, preference, knowledge and personal experience of the team composition.
The self-study people tend to go for the in-demand programming languages which will earn them a good salary in the shortest time possible or allow them get employment easily
In conclusion; my thoughts are such that all programming languages are great but there is need for using the right tool for the job and also more research should be done on programming languages before they are chosen to be taught in higher institutions of learning since this has a bearing on the quality of student produced and whether they actually have what it takes to be a programmer.
Overall to be a good programmer you have to know algorithms, data structures, memory management and pointers and also the need to be knowledgeable enough to bring off of this together in a project. Many of the current Computer science / Software engineering graduates are working harder every day to be code monkeys as opposed to great programmers.