What language should I learn? Would you like to understand the future of programming languages?

Let’s start from the beginning: We can define computer programming as the process of developing and implementing various sets of instructions to enable a computer to do a certain task.

Present, Past and Future of Programming languages: historical perspective
Most used programming languages in 2020

Programming is a language and is subject, like any other traditional language, to changes over time. Moreover, there is not a single language but several. Each one of them is specialized for a particular set of tasks.

In addition, as programmers, the more we learn about how to program, the more we evolve the languages of programming.

This video gives you an overview on how the languages we use for programming evolved during the years. In addition, you can also see an estimation of the adoption of the language itself.

As you can see, there are several languages and some of them, like Latin, are considered dead. However, we can group them in one of the 3 following categories that are intrinsically different:

  • Functional programming
  • Structured/Procedural programming
  • Object oriented programming

In case you are wondering what they mean, we can borrow some definitions from Wikipedia:

“ Functional programming (FP) is a programming paradigm — a style of building the structure and elements of computer programs — that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.” — Wikipedia

“ Object-oriented programming (OOP) is a programming paradigm based on the concept of “objects”, which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.” — Wikipedia

“ Procedural programming is a programming paradigm, derived from structured programming, based upon the concept of the procedure call. Procedures, also known as routines, subroutines, or functions, simply contain a series of computational steps to be carried out.” — Wikipedia

If we fast forward to the present we can see that Java+JavaScript+Python are the languages that is used by the majority of the programmers. Are they procedural programming? Are they OOP? Or maybe they are Functional?

Well… let’s try to answer: Java is the flagship of Object Oriented Programming. JavaScript is a simplified version of Java that has the majority of the properties of OOP. This last claim is actually a simplification of a very long discussion that I will eventually summarize in a different article. However, we can claim that is “debatably true”. As for Python, it is a native Object Oriented Programming language; however, it is fairly normal to start using it as a scripting/procedural language, because is easy to approach programming in this way.

In case you are curios of knowing more about programming languages and how they evolved you may watch the following video for further details:

An historical perspective on programming

I hope that you now have an idea of the past and the present. In this way you will be able to get an idea of the future of programming languages.

Past, Present and future of #programming. Understanding the past could help you in building a better #Software . #softwaredevelopment #SoftwareEngineer #OOP Click To Tweet