Programming languages

28.05.20


DIVERSITY LANGUAGES

At the moment there are a huge number of languages ​​and every year there are more and more.
How to choose the best (our choice) in this variety, we will try to answer in this article.

CURRENT STATE WEB

For the modern development of the backend (server) part of the web, one of the most popular languages ​​is used: php, python, java, ruby, c#, rust, go, javascript.
For the modern front- (client) part of the web, only javascript is used.

Each has its own story, pros, cons and admirers, but this is not about that.
Nevertheless one of them stands out more strongly - javascript and that's why. At least, without his knowledge, you cannot write the client part of the application.

Its advantages:

  • universality:

    A single language for front and back - parts of the application (in more detail about the front and back - here), which is fully supported by modern browsers (and, unlike WebAssembly technology, has their full support) and as well java is a general language. Those. It has a wide range of implementations, from applications in microcontrollers (https://www.espruino.com/) and applications for smart gadgets (TV and watches), to complex distributed enterprise-wide systems (after Microsoft has implemented its strongly typed version - TypeScript).

  • high speed query processing:

    Thanks to the V8 engine (which was actually developed for this), implemented by Google has high bandwidth. Because of what it can process requests of more clients in comparison with other languages.

  • quick implementation of projects and strong support:

    Due to its simplicity, huge support and development by the community. The language implements support for the ECMAScript standard by the committee TC-39, where includes such IT giants as Microsoft, Facebook, Google, Apple, IBM, Intel, Alibaba and other, but no less well-known companies. As a rule, the development of other languages ​​is carried out by individual companies and developer communities.

  • popularity:

    javascript is one of the most popular programming languages ​​among developers and has been leading in recent years positions by the amount of use.

    One of the ratings of languages ​​of digital agencies used to develop mobile, corporate, desktop and web applications , provided "Tagline" (the first and largest Russian-language analytical agency) - rating and annually published statistics on GitHub (the largest web service for hosting IT projects) - here, Stack Overflow (basic system of questions and answers about programming) - here.

CURRENT STATE MOBILE

It's no secret that the main language application development on Android is kotlin, on iOS - swift. That is, before I had to write different applications for each platform.
However, recently technologies have appeared that implement the principle of "one code everywhere" (on both platforms at once): Xamarin (Microsoft), Flutter (Google), React Native (Facebook), Weex (Apache), NativeScript (Telerik), Cordova (Apache).

For javascript to implement native applications, this is:

For example, these are four popular applications (on React Native):

  • Instagram
  • Facebook
  • Skype
  • Pinterest

There is still a hybrid implementation where web applications are transformed into mobile, with a single code base through javascript - Cordova, Capacitor.

CURRENT STATE DESKTOP

For developing desktop applications, the following languages ​​are mainly used: java, c #, c ++, c, swift, javascript.

To develop desktop applications using javascript, Electrone is used (more).
For an example, these are two popular applications implemented on it:

  • VS Code - a popular IDE among developers
  • Figma - a graphic editor popular among designers and service

OUTPUT

javascript is a good, if not the best by far, tool in the toolbox of the developer. And if used correctly, it allows you to implement applications on any platform in record time, including the enterprise level.

Nevertheless, it’s worth saying that the use of one language in large projects is not limited (because of its architecture, strengths and weaknesses of the languages itself), but for the initial stage of growth and implementation of the business logic of the project in most cases it will be more than enough. Especially for startups, where simplicity, speed of implementation and rapid growth are valued.