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

Он усиливает основы.

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

Это поможет вам решить больше проблем.

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

Это улучшает ваши текущие языки.

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

Это делает вас мастером на все руки.

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

Это помогает вам адаптировать примеры кода.

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

Как стать программистом-полиглотом.

  1. Выберите язык, на котором вы хотите учиться, исходя из парадигмы, которую вы не выучили. Ниже приведен неполный список парадигм и некоторых примеров языков для этой парадигмы.
    Декларативный: SQL, Пролог
    Объектно-ориентированный: Scala, Java , C ++, Ruby
    Функциональные: Clojure, Haskell, Elixir, AsmL
    Управляемый событиями: Javascript, Visual Basic
    Процедурные: Lisp, Python
    Императивные: C, C ++, Java
    Мультипарадигма: Perl
  2. Завершите учебное пособие. Все учатся по-разному, и есть разные способы пройти обучение на выбранном языке. Обучающие видео на Youtube, обучающие веб-сайты, технические руководства в блогах и т. Д. Мой любимый способ выучить новый язык - это использовать коаны, исправляя неверные тесты, написанные на выбранном языке. Наберитесь терпения, это может быть сложно. Найдите понятия языка программирования, которые вы уже знаете, и посмотрите, сможете ли вы найти их на выбранном языке. Если вам нужна дополнительная помощь, найдите форум для языка или присоединитесь к субреддиту для этого языка.
    Ruby Koans
    Clojure Koans
    Javascript Koans
    Dart Koans
    Явские коаны
  3. Напишите рабочую часть программы на выбранном языке. Чтобы помочь с мотивацией, сосредоточьтесь на том, что вам уже интересно, и напишите программное обеспечение, связанное с этим интересом. Программное обеспечение не обязательно должно быть следующим крупным стартапом, просто достаточно сложным, чтобы пытаться использовать не только основы языка. Этот шаг поможет вам приблизиться к знанию языка.
  4. Внесите свой вклад в проект с открытым исходным кодом, в котором используется выбранный язык. Не пропускайте этот шаг, так как он заставит вас писать код на выбранном языке, который должны поддерживать другие люди. Если вы не используете выбранный язык на работе, у вас не будет простого способа узнать, пишете ли вы поддерживаемый код.
  5. Повторите первый шаг.