# Какой язык программирования выбрать: мнения экспертов канала Computerphile

Источник: https://www.youtube.com/watch?v=p8-rZOCn5rQ
Канал: Computerphile
Опубликовано: 18.12.2018

---

Популярный научно-популярный YouTube-канал Computerphile провел серию блиц-интервью со своими постоянными спикерами — учеными, программистами и инженерами, задав им классический вопрос о любимом языке программирования. В ходе непринужденной беседы эксперты поделились личными историями, профессиональными привычками и неожиданными технологическими предпочтениями. Этот опрос наглядно продемонстрировал, как сильно разнятся взгляды специалистов в зависимости от их повседневных задач, возраста и академического бэкграунда.

## 🐍 Абсолютный мейнстрим: почему Python и JavaScript захватили умы
[[JUMP:0:13]]

В современном ИТ-сообществе трудно избежать влияния признанных лидеров индустрии, и ответы спикеров Computerphile это подтверждают. По мнению многих участников, Python сегодня стал фактически главным стандартом мышления. Один из программистов признался, что начал работать с Python еще в 2007 году и с тех пор настолько сросся с ним, что потерял способность писать обычный псевдокод — любые наброски алгоритмов на бумаге у него автоматически превращаются в синтаксически верный код на Python. Другой спикер охарактеризовал этот язык как «абсолютно поразительный» благодаря его универсальности, позволяющей реализовать практически любую задачу.

Факторы успеха ключевых современных языков, по версии участников:

* **Python:** ценится за лаконичность, чистоту и, по выражению ведущего, удивительно «экономный» (parsimonious) синтаксис, исключающий лишний визуальный шум.
* **JavaScript:** несмотря на исторически неоднозначную репутацию, завоевывает сложную аудиторию благодаря современным стандартам. Один из гостей рассказал, что раньше ненавидел этот язык, но после стажировки во фронтенд-разработке и знакомства с возможностями ES6 искренне полюбил его. Второй исследователь добавил, что выбирает JavaScript, поскольку с его помощью сейчас можно сделать невероятно много.
* **Matlab:** хотя некоторые спикеры шутливо замечают, что «не хотят любить Matlab», они признают его колоссальную практическую пользу. В исследовательских проектах, связанных с обработкой изображений, Matlab оказывается незаменимым инструментом для интеграции разрозненных компонентов системы.
* **PHP:** этот язык также нашел своих сторонников. Один из участников прагматично назвал его любимым просто потому, что умеет писать на нем лучше всего.

## 🏝️ Тест на необитаемый остров: бескомпромиссная классика низкого уровня
[[JUMP:1:18]]

Когда дискуссия зашла о по-настоящему фундаментальном выборе, несколько экспертов сошлись во мнении, что лучшим инструментом остается язык C. Ведущий предложил спикерам классический мысленный эксперимент: какой единственный язык программирования они взяли бы с собой, если бы оказались на необитаемом острове? Ответ оказался практически единогласным. 

По мнению одного из профессоров, если перед разработчиком ставят жесткое условие выбрать один-единственный инструмент, это обязан быть язык, способный эффективно работать на самом низком уровне. Спикер добавил, что хотя в C гораздо сложнее реализовать высокоуровневые концепции объектно-ориентированного программирования, при должном упорстве это вполне осуществимо.

Специфика низкоуровневого и системного выбора экспертов:

* **Язык C:** идеален для экстремальных условий и прямого управления аппаратным обеспечением, что делает его абсолютным фаворитом «старой школы».
* **Утилита awk:** один из разработчиков отметил, что для повседневной обработки текстовых данных чаще всего использует именно awk, переходя на Python только в тех случаях, когда масштабы задачи требуют серьезного масштабирования.
* **Ассемблер 6502:** один из исследователей признался, что в данный момент пишет огромные массивы кода на ассемблере для процессора 6502, хотя и не готов назвать его своим любимым языком.
* **Ассемблер Motorola 68000:** этот инструмент был назван любимым из-за ностальгического и практического опыта разработки для культовой игровой приставки Sega Mega Drive, где он является родным языком архитектуры.

## 🎨 Экзотика, ностальгия и визуальное программирование
[[JUMP:0:00]]

Не обошлось в опросе и без упоминания языков, которые сформировали индустрию или предлагают альтернативный взгляд на сам процесс написания кода. Важную роль здесь играют детские воспоминания. Так, один из участников назвал своим фаворитом легендарный BBC Basic, поскольку именно с него начался его путь в программирование в возрасте шести или семи лет в начальной школе. Другой эксперт поддержал коллегу, подчеркнув, что Basic до сих пор незаменим в музеях техники: его простота позволяет детям мгновенно увлечься процессом создания программ и двигаться дальше.

Среди других любопытных предпочтений спикеры выделили:

* **Common Lisp и функциональные языки:** сторонники этого направления утверждают, что Lisp дает абсолютную свободу самовыражения, позволяя программисту творить всё, что ему вздумается, хотя некоторые признают свою симпатию к нему «немного глупой» и иррациональной. В этом же блоке прозвучал строгий Haskell и редкий сегодня язык Forth.
* **C#:** для тех, кто создает программное обеспечение под операционную систему Windows, этот язык остается лучшим выбором. По словам спикера, C# подкупает обилием готовых библиотек, строгой статической типизацией и возможностью невероятно быстро развернуть графический интерфейс пользователя.
* **LabView (язык G):** самый необычный и визуальный выбор. Инженер признался, что при первом знакомстве буквально презирал этот графический инструмент, но со временем оценил его силу. Разработка в LabView напоминает проектирование электрических схем: программист перетаскивает мышкой иконки функций (например, модуль захвата сигнала с датчика или построитель графиков) и соединяет их виртуальными проводами. По словам спикера, этот подход заставляет полностью переключить мышление со стандартного вызова функций на анализ потоков данных (data flow).

В финале беседы участники сошлись во мнении, что идеального языка не существует, но каждый инструмент прекрасен в своей узкой нише — будь то спасение на необитаемом острове или обучение внуков азам программирования.