Почему каждый разработчик должен знать несколько языков программирования?

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

Программирование Polyglot

 

«Я разработчик Ruby!»

«Я ненавижу JavaScript!»

«Только функциональные языки!»

 

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

 

Программирование Polyglot обычно определяется как «практика написания кода на нескольких языках для получения дополнительной функциональности и эффективности, недоступной на одном языке».

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

 

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

 

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

 

Например, Ruby on Rails — отличный выбор для создания стандартного веб-приложения. Но сервис с интенсивной обработкой информации выиграл бы от эффективности Golang. Для чего-то простого, лучше использовать Javascript, благодаря его огромному сообществу и универсальности. Программирование по типу Polyglot означает гибкость, позволяющую сделать самый лучший выбор.

 

После исследований 2019 года компания CodingDojo заявила: «Хотя конкретные задания могут быть сосредоточены на конкретном языке, это исследование показывает, что один язык может стать долгосрочным тупиком.

 

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

 

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

 

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