Другие языки программирования и технологии

Бывaлo ли, что вы испoльзовaли однoвременно 2 и бoлее языкa прoграммирования?

Сталкивaлись ли вы с прoектами, где трeбовалось испoльзовать не oдин, а 2, 3 и бoлее языкoв прoграммирования? Вы не испытывaли трyдностей, испoльзуя нeсколько языкoв? Зaчем вам былo нужнo испoльзовать 2 или бoлее языкoв? Пoчему oдин не спрaвлялся?
Oren Rachamim
Oren Rachamim
445
Разумеется, сталкивался. Банальный сайт на Wordpress - это уже 2 языка программирования: PHP и JavaScript.

Вот сейчас на работе использую: PHP (причём одновременно и 5.3, и 7.3 - а это существенно разные языки), Go, JavaScript, PL/pgSQL, чуть-чуть Java (в рамках ETL Talend).

Любой язык программирования - всего лишь инструмент для решения определённого круга задач. Разные задачи - разные инструменты. Ты же, надеюсь, не будешь вкручивать шуруп болгаркой?
AL
Alexander Lazarev
62 547
Лучший ответ
> Бывaлo ли, что вы испoльзовaли однoвременно 2 и бoлее языкa прoграммирования?

Да.

> Сталкивaлись ли вы с прoектами, где трeбовалось испoльзовать не oдин, а 2, 3 и бoлее языкoв прoграммирования?

И где от меня это требовали, тоже бывало.

> Вы не испытывaли трyдностей, испoльзуя нeсколько языкoв?

Испытывал.

> Зaчем вам былo нужнo испoльзовать 2 или бoлее языкoв?

1. Фронт-енд и бек-енд я пишу на JS... но это я. А есть удаки, которые пишут на Python, к примеру. А мне приходится юзать эти (опенсорсные) компоненты, поскольку если есть компонент, который можно форкнуть и доработать, то никто не даст денег на его создание с нуля.
Потом, правда, стараюсь переписывать такое на JS.

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

3. Языки запросов к БД. Если не запросов (благодаря ORM), то хранимых процедур. Это SQL или Lua.

4. При работе в команде если ты не сеньор хотя бы, то тебя не спросят, сколько языков заюзать в проекте, и каких. На Python заставляют писать юнит-тесты и всякую мелочь, хотя все остальное не на Python.

5. Если делаешь SDK, API и т. д., то нужна поддержка разных языков, чтобы больше людей (сторонних разработчиков) могло этим пользоваться.

6. Чтобы иметь более релевантное портфолио для поиска лучшей работы в будущем, я вынужден порой искусственно добавлять в проект какой-то язык. Если мне не придется постоянно чередовать его с другими языками, и вообще решения по этому коду буду принимать я сам (и не иметь ситуаций, когда заставляют быстро что-то наговнокодить на этом языке) - то это нормально во всех отношениях.

6.1. В том числе и в том, что меня труднее заменить кем-то другим, если я заюзал экзотический язык, хотя бы такой, как Rust (это довольно редкий язык).
Почти всегда, иногда и больше. Например при написании веб-приложения, где отдельно пишется беккнд и фронтенд.
Ни
Николай
15 146