Programming Languages(2)

Artificial Intelligence Technology   Machine Learning Technology  Digital Transformation  Topic Model   Ontology Technology    Natural Language Processing  Intelligent information technology

Continuing on from the previous topic, I would like to talk about programming languages.

There are countless programming languages. For example, in the book I introduced last time, “Introduction to World Changing Programs,” there are machine language, assembly, BASIC, C, C++, and JAVA. In the “Seven Worlds,” Ruby, Io, Prolog, Scala, Erlang, Clojure, and Haskell are mentioned, while online surveys show Python, Javascript, SQL, C#, VBA, and PHP as languages other than the aforementioned.

If you want to build web-related software called front-end, JavaScript, CSS, and HTML, which are languages accepted by the browser, are essential. altJS is available, but it is eventually compiled into JavaScript and loaded into the browser, so you need to learn the language first. The fact that it is a required language for Google engineers confirms this.

On the backend side, which has nothing to do with the browser, the choices are much wider. In terms of selection, there are several factors to consider, such as productivity (ease of programming), ease of debugging, abundance of libraries, and in the case of group development, the percentage of people around you who can use the language.

In terms of ease of use, recent major languages often incorporate advantages found in other languages, such as the functional approach mentioned above, to a greater or lesser extent in most languages. The abundance of libraries can be seen in the recent popularity of Python, but there is still the issue that old libraries will soon become unusable if the language itself is not backward compatible. As for the number of people who can use the language, there is a big difference between advanced ventures and large IT firms. For example, when trying to outsource to a major system development company, there are more options for legacy environments such as Java or C++, and when trying to use a new language, there is a sense that the options are limited.

I think the best strategy for backend languages is to concentrate on one language and master it, while recognizing the differences between it and other languages. I think the best way to become proficient in a single programming language is not to read textbooks and memorize grammar, but to do “sutra copying,” where you copy code written by others and try to actually run it in order to solve actual problems. Just like the Buddhist sutra, you can get closer to enlightenment by doing a lot.

In the next article, I would like to discuss Clojure, a LISP language revived in the present, as an example of a concrete language.

コメント

タイトルとURLをコピーしました