The spread of programming languages, or what technologies are worth learning in the future - part 2

The spread of programming languages, or what technologies are worth learning in the future - part 2

In the first part, we talked about the metrics of the spread of various programming languages. If you missed it, you can read it here. After the global overview, let's see how these appear at the Training360 training center, since we have several courses announced in each language and even more courses already held behind us. We can safely say that there is significant demand for each of the languages, so let's focus on the differences between the languages.

Let's start with the least quantifiable, individual, subjective feelings. JavaScript and Python definitely have the biggest fun factor. These courses are attended by the largest number of bright-eyed professionals who are genuinely interested in the languages ​​and their related technologies.

What we, as educators, are particularly interested in is how teachable a language is. JavaScript is usually paired with HTML/CSS, so you can create spectacular things with relatively little effort. Unlike, for example, Java, whose front-end development technologies are outdated or require a lot of prior knowledge to use (including HTML/CSS/JavaScript).

However, this advantage quickly disappears when we get to higher-level technologies, as this field is developing so dynamically that the curriculum has to be developed almost course by course. The tools here are so diverse and complex that it is not at all certain that best practices have already been established.

JavaScript development also requires a higher-level framework, build system, code translation, packaging, dependency management, code quality control, unit and integration testing tools, test coverage measurement, etc. So, a full stack similar to other languages, which is also in constant motion. Perhaps Angular, React and Vue.js are starting to become established among the frameworks. The use of npm and webpack is also quite widespread. The situation is further complicated by the fact that JavaScript can now be used on the server side with Node.js, for which some framework must also be used, e.g. Express.js. The reader himself would certainly argue with these statements and can add more, which also proves the fragmentation of the technology.

Python, on the other hand, offers a somewhat more stable, secure ecosystem, but is still quite attractive. Python is clearly the easiest language to teach, and it is no coincidence that teachability was a key goal when creating the language. Spectacular results can be achieved even after a few sessions.

When Java was created, ease of understanding was also a consideration, which is true, for example, compared to the C programming language, but it is orders of magnitude more difficult to master compared to the more modern Python. Strict typology, object orientation, lambda expressions may be clear to a more experienced developer – even in another language – but a junior has to deal with greater challenges at the beginning, and it may not be possible to progress in learning as organically, but there are large steps. The language itself is not enough to develop applications, you need to learn various additional frameworks, you need at least one large-scale enterprise technology (like Jakarta, formerly Java EE, even earlier J2EE), and at least one persistence technology (the most common is the JPA standard, with Hibernate or Eclipse implementation). Although these are easier to overcome after mastering the language and object-oriented principles.

Microsoft's programming language is C#, and the strength of the .NET framework naturally lies in its homogeneity. The development tool, the integrated, interdependent, and unified technologies that follow a more unified system of thought make the path that a developer must follow almost obvious. Of course, there are also parts that are more difficult to digest at the language level, but it is easier to move on to higher-level parts.

C and C++ languages ​​can only be mastered to a high degree by the truly dedicated, but their scope of use already predestinates this kind of interest. The PHP language itself is easier to learn (especially to some extent), thanks to the permissiveness of the language. However, the PHP language is also developing (in a direction not clearly judged by the community), and is increasingly approaching more strict languages. The problem here is similar to JavaScript, in that moving towards a higher framework (e.g. Symfony) is a more difficult task.

Related courses

  1. Java SE advanced course
  2. React library basics
Back to the news