Чтобы расширить комментарии других ... Хотя я не уверен, что верю в гипотезу http://en.wikipedia.org/wiki/Whorfian_hypothesis">Whorfian, когда речь идет о естественных языках, это довольно ясно, когда дело доходит до программирования. Языки, которые вы знаете, влияют на то, как вы решаете проблему. Два примера:
1) От профессора, которого я имел много-много лет назад: он пытался выяснить, есть ли какие-нибудь дубликаты в его массиве строк. Это в 70-х годах, поэтому он писал это на Фортране. Его реализация грубой силы n ^ 2 заняла слишком много времени. Так он говорил с другом. Его друг знал PL1 (думаю, возможно, это был APL), у которого есть оператор сортировки. Итак, на этом языке вы учитесь сортировать вещи, и насколько это может быть полезно, потому что это легко. Друг сначала придумал очевидную сортировку, а затем взглянул на алгоритм смежных элементов. Намного быстрее, и это не пришло бы в голову моему профессору, пишущему на Фортране, даже несмотря на то, что это прекрасно реализовывалось в Фортране.
2) Когда я учился в аспирантуре, у меня был сосед по физике для соседа по комнате. Он пошел в Массачусетский технологический институт, и только взял один класс программирования, который был, конечно, в Scheme. Однажды я зашел к его офису, и он сказал: «Эй, Брайан, можешь взглянуть на этот код и сказать мне, должен ли он работать?» Это была процедура сортировки. Я взглянул на него и сказал, что это не может сработать, потому что это была явно пузырчатая сортировка, и все же у нее был только один цикл (и нет, это был не тот странный цикл, с которым можно написать пузырчатую сортировку, если вы больны скрученные). Итак, я это сказал. Он ответил: «О, но у него рекурсивный вызов внизу!» Мне никогда бы не пришло в голову написать рекурсивную сортировку пузырей. Но что более важно, HIM никогда бы не подумал написать нерекурсивную функцию!
Дело в том, что языки, которые вы знаете, в значительной степени определяют тип кода, который вы будете писать. Чем больше языков вы знаете, тем больше инструментов у вас есть, и тем больше инструментов никогда не бывает плохо, если вы знаете, когда использовать каждый из них ...