2009-05-28 3 views

ответ

31

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

+5

Больше, чем разговорные языки, я бы сказал. Я не уверен, что для этого нужно, чтобы рубист учился у Луа, но, например, Эрланг? Lisp? C? Совершенно разные способы мышления. Кроме того, Ruby не подходит для каждого приложения. Иногда вы действительно хотите C. – Chuck

+0

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

2

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

+2

«Если вы ТОЛЬКО знаете молоток, вы смотрите КАЖДУЮ проблему, как будто это гвоздь» –

+0

И если вы знаете только, что такое молот, вы не можете водить что-нибудь. ;) –

+0

Думаю, вы все равно можете управлять автомобилем. –

10

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

  1. Why do people think functional programming will catch on?
  2. What’s a good Functional language to learn?
  3. Benefits of learning scheme?
1

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

2

Если вам нравится Руби много вы должны определенно изучать другой язык ... один безsigils, если это возможно.

+1

О, они не такие, как Perl sigils, giv'em перерыв. Они предназначены только для обзора, а не для венгерских обозначений. – guns

6

Оставляя в стороне (отлично) общие причины хотеть выучить другой язык, если вам нравится Руби много вы можете

  • Узнайте Smalltalk, который является языком очень, очень похожим на Ruby, но в более чистой форме.

  • Учить язык, который очень, очень разные — сказать то, что базируется на алгебраических типов данных и функций, а не объекты и методы, и что-то с статической системой типа, а не системы — динамического типа, но то, что, как Ruby, будет поддерживать мощные методы составления программ и общего программирования. Хорошие кандидаты будут включать Стандарт ML и Haskell.

  • Учить язык, который очень, очень разные — сказать что-то, что заставляет вас контролировать каждый бит, адрес и слово в памяти — что-то, что заставляет вас понять и взять под контроль оборудования. Другими словами, изучите   C.

Что касается других языков, которые вы упоминаете,

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

  • Erlang интересен, но у меня есть ощущение, что оно либо слишком разное (чисто функциональное, распределенное), либо не совсем другое (система динамического типа). Но если он обратится к вам, идите на это.

0

Мой главный язык - PHP. Я поклонник сценариев, тем не менее я погрузился в C#, Java, Python, Ruby и даже в OO JavaScript-книги, чтобы найти новые механизмы, способы мышления. Например, я нашел довольно много трюков в Java, которые я мог бы реализовать в своей повседневной работе. Поэтому изучение или просто изучение новых языков может расширить вашу перспективу.

2

Мне кажется, что профессионал изучает инструменты, которые ему нужно использовать. Рамки, контейнеры, языки, все это честная игра. Я начал в Паскале, пошел на C, а затем на C++. Затем преобразован в Java. В наши дни его главным образом Java с большим количеством Javascript и некоторым PHP. Достаточно легко? Ну, мне также нужно изучить скрипты Bash и Perl. Не обращайте внимания на все остальное дерьмо, которое мне нужно получить поверх (если вы говорите, что понимаете всю аутентификацию в Интернете, я назову вас лжецом). Там много чего. Входите. Будьте готовы попробовать разные вещи.