Дуб, кофе и языки программирования

16 June

О программировании для гуманитариев.

Часть 6.

И, наконец, перейдем к самим языкам программирования, коих весьма много. Моя наивная иллюзия о том, что языки программирования – это же не обычные языки, они умные, у каждого своя цель и сфера действия – разбилась о суровую реальность… Впрочем, хотя бы то, что не надо разговаривать/понимать на слух – оказалось правдой :)

Итак, языков много. Некоторые рождаются и умирают, другие становятся базовыми. Названия самых популярных, возможно, на слух знакомы и многим не айтишным людям, например, С, Python или Java. При этом у каждого есть своя специфика, но, судя по всему, даже языки рожденные для определенных целей, постепенно развиваются и становятся все более и более всеядными, и именно поэтому более и более популярными.

Тот же JavaScript, который изучала я на курсах, на данный момент один из самых (а может быть даже самый) популярных языков в веб-разработке. Он закрывает практически все потребности при создании любого web-ресурса, на нем можно писать и фронтент, и бэкенд, а сейчас уже и в мобильные приложения забирается.

Кстати, еще одно откровение начала обучения – Java и JavaScript, это разные языки. Судя по названию, кажется, что это как минимум родственники – ничего подобного. (Кстати, языки C и C++ - тоже имели разных разработчиков-родителей, но тут, по крайней мере, новый родитель взял за основу язык C и сделал его новую, более усовершенствованную версию. Так что эти языки все же соотносятся между собой).

JavaScript появился позже Java и имел и других родителей, и другие цели, и, собственно говоря, другое название. Но имечко Mocha как-то не прижилось (не знаю, чем оно не понравилось англоязычным гражданам, а вот российским – дойди этот язык до нас с таким именем – явно было бы весело). Так как Java тогда был на коне, то маркетологи подсуетились и язык переименовали в JavaScript, тем самым как бы присоседив его к популярному старшему брату, который никаким братом-то и не является.

Впрочем, оба эти языка относятся к одной языковой группе объектно-ориентированных языков, и определенное синтаксическое сходство у них есть. Вроде бы его создателю изначально и было поручено сделать "что-то типа Java" только для web (Java изначально создавалась для программирования бытовых электронных устройств). Кстати, сама Java изначально тоже именовалась по-другому – Oak, что в переводе с английского означает "дуб". Странный выбор дубового наименования, но еще страньше, что оказывается уже существовал язык с таким именем, поэтому создателю пришлось придумать другое, и его выбор пал на любимый кофе Java, который сам-то назван в честь острова Ява. Поэтому и в логотипе языка есть чашечка кофе.

Что-то я увлеклась именами. Но согласитесь, это весьма увлекательно и показательно. Языки создают люди, а не машины… Поэтому тут все очень далеко от логики и непреложности нуля и единицы.

На десерт небольшая видяшечка менее чем за 3 минуты наглядно демонстрирующая как стремительно рождались, завоевывали и теряли популярность языки программирования за 30 лет (с 1979 по 2019, по данным ГитХаба). Кстати, по данным на 2020 год мой любимый JavaScript уже занял 1 место, сдвинув "Питон" на 2-е, а Java на 3-е. Примечательно, что на четвертом - TypeScript, который в целом тот же JavaScript только "с перламутровыми пуговицами". TypeScript - потомок, или младший брат, или улучшенный клон JS, затрудняюсь дать точное определение родственных связей, но то, что они есть, это точно (кстати, еще один подобный, но гораздо менее популярный, родственник называется .... CoffeeScript :) )