Подтвердить что ты не робот

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

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

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

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

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

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

РЕДАКТИРОВАТЬ: Извините, что редактировал мой пост, но не сообщал здесь,

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

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

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

Ответ 8

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