Python или Ruby для .NET-разработчика?

Я разработчик C # .NET, и я работаю над проектами ASP.NET.

Я хочу изучить новый язык программирования,

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

Я сосредоточен на двух языках для своей цели. Python и Ruby .

  • Какой из них вы предлагаете для меня?
  • Плюсы и минусы их друг на друга?
  • Стоит ли их изучать?

EDIT: Извините, я редактировал свой пост, но не сообщил здесь,

Ruby on Rails заменен Ruby.

Оба языка являются мощными и забавными. Либо было бы полезным дополнением к вашему ящику.

Python имеет более обширное сообщество и, возможно, более зрелую документацию и библиотеки. Его объектная ориентация немного непоследовательна и чувствует (для меня, ИМХО), как что-то, что было привязано к языку. Вы можете изменить поведение класса во время выполнения (переключение между обезьянами), но не для предварительно скомпилированных классов, и это, как правило, неодобрительно.

Ruby может немного отличаться от вашего текущего опыта: у него есть некоторый вкус Smalltalk (метод-вызов более корректно отправляет сообщения, например). Его объектная ориентация встроена с нуля, все классы открыты для модификации, и это принятая – если немного страшная – практика. Сообщество меньше, библиотеки менее зрелые, а документация – меньше.

Оба языка будут иметь некоторый уровень нарушенной совместимости в следующих выпусках majopr, оба имеют .Net-реализации (IronPython – это производство, IronRuby). Оба имеют веб-рамки, которые отражают их сильные стороны (поиск SO для обсуждения Django / Rails).

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

Edit: Подумайте об этом, и хотя мне все равно, если вы пытаетесь использовать свои знания .Net framework, вам может быть лучше смотреть на IronPython, поскольку он более зрелый, чем эквивалент Ruby.

Сначала … хорошо для вас, желая расширить свои знания! Во-вторых, вы сравниваете язык (Python) с веб-каркасом (Ruby on Rails).

Я думаю, что ваш лучший вариант – попробовать несколько разных фреймворков как на Python, так и на Ruby, выполнить одну и ту же довольно простую задачу в каждом, и только потом выбрать, о котором вы хотели бы узнать больше. Rails хорош для Ruby, но это не единственный из них. Для Python мне нравятся Pylons и Django.

Плюсы и минусы: Ruby немного чище, по-язычному, чем Python. Python имеет гораздо больший набор модулей.

Стоит ли учиться? Да, и для Python, и для Ruby.

Если вы новичок, я бы порекомендовал вам попробовать Django, если вы решили начать изучение Python. Конечно, если вы решите, что Ruby – ваш выбор вкуса, Rails – это очевидный путь. Какой бы язык вы ни выбрали, я могу заверить вас, что это будет хороший выбор.

Сказав это, мой личный выбор – Python. Мне нравится язык, мне нравится сообщество, и я использую Python практически для каждого случая. Я использую его для приложений командной строки, приложений с графическим интерфейсом, и я использую его для веб-приложений (Django). О, и я использую его для сценариев системного администрирования в Windows и Linux.

Сказав это, я бы порекомендовал вам выучить язык, такой как Haskell или Lisp. Это действительно откроет вам глаза на новую перспективу программирования. Кроме того, поскольку вы говорите, что вы в основном знакомы с инфраструктурой .Net, я бы порекомендовал вам начать с F #, поскольку вы уже знакомы с библиотеками, и это сделает переход намного более плавным. В любом случае, удачи.

Всегда полезно изучать новый язык программирования. И оба Python и Ruby – хорошие, чтобы знать. Важно отметить, что, хотя язык Python является языком, Ruby on Rails является основой. ИМХО, вы должны изучить Ruby, прежде чем изучать Rails.

Попробуйте рубин! чтобы посмотреть, нравится ли вам это. Если вы это сделаете, попробуйте Rails. В противном случае попробуйте Python. Оба одинаково полезны. Для меня Ruby более «веселый». Если вам нравится Lisp, вам, вероятно, понравится Ruby. Если вам нравится C, вы можете предпочесть Python. Попробуйте их обоих!

Правило большого пальца – Python, если вам нравятся строгие правила и Ruby, если вы их ненавидите.

Еще один: если вы обожаете JavaScript – Ruby – ваш выбор 🙂

Какие? Не упоминается IronPython?

IronPython является флагманским языком DLR. Он позволяет использовать все знакомые .NET-библиотеки, но через Python.

Я бы определенно попробовал Python и IronPython. Вы многому научитесь и можете даже подкрасться в свои текущие проекты (вы можете встроить движок IronPython в приложение .NET).

Если вы хотите изучить Ruby on Rails, сайт гидов имеет отличное руководство для начала работы и дальнейшие руководства по улучшению ваших рельсов-фу.

Кроме того, Tore Darell написал руководство по поиску R Ruby on Rails, которое может оказаться полезным для вас.

Я зайду на Руби. Кажется, что есть более крупное (или, по крайней мере, более активное) сообщество, темпы новых проектов и дальнейшее развитие являются второстепенными, а учебные ресурсы, по-видимому, превосходят численность и превосходят темпы Python. Я мог ошибаться, но это мои впечатления.