Поэтому хороший программист никогда не останавливается на одном языке. В идеале, каждый должен знать по одному языку из основных направлений:
- низкоуровневый язык с ручным управлением памятью (Си, С++, Rust)
- высокоуровневый язык с управляемой (managed) памятью (Java, C#, Scala)
- динамический язык (Python, JavaScript, Clojure, Ruby)
- ООП язык (Java, C#, Ruby, C++, JavaScript)
- функциональный язык (Haskell, Scala, Clojure, Erlang)
- логический (Prolog)
И вот когда программист знает хотя бы по одному из всех категорий, он может принимать действительно взвешенные решения. Его набор инструментов очень расширяется, а изучение нового языка уже не представляет проблем.
здесь нет языков из семейства APL. когда человек столкнётся с многомерными массивами, он не сможет выбрать подходящего решения, т.к. не будет знать, что делать и выберет какие-нибудь C или Python.
> Изучение нового языка не будет проблемой
это спорное утверждение в случае семейства APL