Awake
@Awake
Рулю разработкой ;-)

Куда идти после php? Ruby или Python?

Собственно вопрос в заголовке :) Хочется услышать принципиальные различия между языками. Для каких задач что лучше подходит?
  • Вопрос задан
  • 6686 просмотров
Пригласить эксперта
Ответы на вопрос 26
@Christmas
Python гораздо быстрее, лучше документация, более отполирован (в руби до сих пор можно увидеть библиотеку генерации html 3.2 — наглядный пример того, что они с трудом управляются с этими десятками тысяч файлов). Твиттер, который часто показывают как пример популярного сайта на рельсах, переписал самую нагруженную часть на Scala, потому как руби сам там не справляется.
Популярность Ruby тесно связана с популярностью рельс. Когда я узнал об этом языке (2001, рельс еще не было) он особо ни кому не был нужен вне Японии. Появились рельсы — Руби стал ультра-модным языком (некоторые до сих пор не могут понять, что Руби и Рельсы — это не одно и то же). Хотя сейчас, кажется, популярность спадает.
Питон же все это время планомерно развивался и популяризировался более-менее самостоятельно.

Потому я бы склонялся к Питону. Сильная сторона руби — ОО и синтаксис.

А вообще это все жутко субъективное мнение, учите то, что больше нравится.
Ответ написан
@kmike
Учите питон.

Он сделает Вас более хорошим программистом, т.к. python

a) не приветствует трюкачество
b) учит принимать самые простые (KISS) решения, не усложнять ничего

образовательный аспект в python очень явно выражен — всегда есть 1 правильный способ сделать что-то. Очень полезная «промывка мозгов» получается, не встречал такого ни в одном другом языке. Учишься смотреть на код «свысока», думаешь больше о том, как его организовать, а не как его написать. После питона на других языках начинаешь писать лучше, т.к. в голове остаются полезные идеи и принципы.

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

Еще вариант — выучить javascript. Именно хорошо выучить, чтобы понимать все ФП-фишки языка и его нестандартную объектную модель. Гуру js мало, толпы умеют сделать свистелку на jQuery и не более того. С хорошим знанием js можно довольно просто писать всякие супер-быстрые асинхронные realtime-штуки на node.js. По «мощности» язык вполне адекватен Ruby и Python'у, разве что имеет несколько менее приятный синтаксис и меньше библиотек для серверной части.

Библиотек и для python, и для ruby полно. Imho их больше, чем для php, и способы распространения у них лучше. В питоне есть стандартная библиотека на все случаи жизни с кучей полезностей. Коммьюнити очень разное — в ruby-коммьюнити вы увидите красивые сайты, рекламирующие те или иные библиотеки, кучу эпитетов awesome, каждый второй будет rock-star-programmer и тд, в python-коммьюнити вы увидите, скорее всего, скучноватых суровых инженеров. Я, понятное дело, преувеличиваю)

Области применения у языков похожие, скорость похожая, возможности похожие. Основной критерий тут — нравится/не нравится.
Ответ написан
Narada
@Narada
Я бы сначала попробовал Python, недельки 2-3(для общего развития), а потом уже шел в сторону Ruby.

Если бы наоборот — мне было бы дико лень учить Python после познания красоты Ruby :-[
Ответ написан
@bsboris
Эти языки сильно похожи, как по назначению, так и по идеологии. Каких-то радикальный отличий между ними нет.

Лично я предпочитаю Руби, за «правильную» объектную модель, за читаемый синтаксис, за блоки, за открытые классы. Опять же, еще один громадный плюс Руби — Rails.

Так что ответ стандартный — попробуй оба и учи тот, который ляжет на душу=)
Ответ написан
avatarmov
@avatarmov
Ruby определённо.

Меня Python убил своим синтаксисом и полной непохожестью на другие языки.
Ответ написан
@Psih
Веб разработчик, совладелец Areto Development
Знать PHP != уметь на нём делать сложные вещи правильно.
Вместо изучения другого языка, углубитесь в сам PHP, а так же займитесь очень плотно MySQL (там не паханое поле оптимизаций, приёмов и.т.д) и прочими связанными технологиями: Redis, MongoDB, Sphinx, акселераторы (они умеют не только хранить опкод), повышайте скилл уменя работать с memcache, изучайте архитектуры, изучите какой-нить framework (рекомендую Yii — очень грамотно построен и расширяется на все 100% любой компонент написанием собственно этого самого компонента + запись в конфиге о переопределении стандартного компонента. Никаких костылей и правок самого фреймворка. В общем очень правильный OOP в реалиях PHP).
Ответ написан
@agh
Я за питон :) для веба django
Ответ написан
chetzof
@chetzof
Ответ написан
Комментировать
mukizu
@mukizu
Думаю наиболее оптимальный вариант — начать изучать и то и другое. А дальше смотреть на то что ближе, удобнее, понятнее etc. именно вам. Ну и на востребованность на рынке.
Ответ написан
Комментировать
@aeryaguzov
ИМХО, если хорошо знаешь серверные технологии, развивайся в сторону клиентских технологий! Так что как выше уже советовали — javascript!
Ответ написан
try4tune
@try4tune
Разработчик программирует не на языке, а с помощью языка. Советую больше развивать свои знания в сторону архитектуры ПО. Перейти на почти любой другой язык для грамотного разработчика особого труда не составит.
Ответ написан
@Nc_Soft
А какую цель приследуете? Просто для галочки, я знаю вот стока-то языков для одного и того же?
Ответ написан
@professor_kuvalda
Учи python. Ведь он используется не только в веб-программировании, а и в куче других вещей:
www.amazon.com/Natural-Language-Processing-Python-Steven/dp/0596516495
www.sagemath.org/
code.google.com/p/sympy/
twistedmatrix.com/trac/
— и многое другое
Ответ написан
StrangeAttractor
@StrangeAttractor
Я тоже задавался таким вопросом — Ruby или Python… В результате выбрал Scala и доволен как слон…
Ответ написан
Комментировать
PingMe
@PingMe
C++ :)
Ответ написан
Комментировать
@Volfram
Сказано много и хорошо, добавлю лишь свои 5 копеек:
Python лучше для изучения, если хочется постепенно выходить за рамки Web. Да и его навязывание дисциплины кода лишним не будет.
Ответ написан
Комментировать
Avant
@Avant
Ruby.
Плюсы:
Ruby on Rails
Отличное сообщество
ООП, синтаксис
Много материала, правда большинство на английском(книги, блоги, скринкасты)
RubyGems
Ответ написан
Комментировать
Gorthauer87
@Gorthauer87
Программист
Ruby и Python хоть и имеют красивую, правильную объектную модель, но очень далеки от того, как работает реальное железо. В итоге это выливается в чудовищный оверхед, причем Ruby умудряется тормозить сильнее Python'а, php в этих же тестах где-то рядом, но все они плетутся в хвосте.
Я бы порекомендовал поизучать языки программирования со статической типизацией: они принципиально быстрее и ближе к железу.
Ответ написан
@Stepuk
Python — это идеологический наследник PHP'а. Такой же бестолковый язык, за которым, ко всему прочему, не видно никакой идеи. Просто неуклюжая комбинация стыренных отовсюду концепций. Ничего нового. Python не нужен.

Ruby — это идеологический наследник Perl'а. Кое-где избыточен, кое-где лаконичен. может быть и красивым, и уродливым. Пацаны с района говорят, мол медленный и с Юникодом плохо дружит, зато у него круто реализовано ООП. Ruby на любителя.

Вывод? Выучите Haskell, пора посмотреть на программирование под другим углом.
Ответ написан
stranniknavsegda
@stranniknavsegda
ПАНАЦЕИ НЕ СУЩЕСТВУЕТ! Каждому пациенту свое! У одних аллергия на Ruby, у других на Python… у N-х на Haskell… попробуйте и то и другое и третье и выбирете что по душе…
Ответ написан
Комментировать
Ogra
@Ogra
Если у вас появилось желание выучить что-то еще, могу предложить вот что:
Прочитайте статью Эрика Рэймонда «Как стать хакером», и выберите язык из предложенных там — это Perl, Python, C, LISP. Небольшая цитата:
Лучше всего, на самом деле, выучить все четыре этих языка (Python, C/C++, Perl, и LISP). Помимо того, что это самые важные хакерские языки, они демонстрируют очень разные подходы к программированию и каждый из них научит вас ценным вещам.
Ответ написан
kashey
@kashey
Программирую большую половину жизни
Учите Lua — ФП аля JS. Почти на 99% схожи эти языки. Ну кроме банального синтаксиса.
Или про него все забыли?
Ответ написан
Комментировать
@denlem
Programmer
А в чем то такая необходимость переходить на другой язык?
ПХП надоел или не устраивает чем то?
Вообще на ПХП такие вещи можно вытворять, если знать и применять еще смежные технологии… А там поверьте — есть куда развиваться… :)
Ответ написан
NickMitin
@NickMitin
И то и другое, зачем выбирать?
Ответ написан
Комментировать
@HeBonpoc
Зачем "после PHP" куда-то идти? Он развивается - развивайтесь вместе с ним без понижения ЗП :) А в свободное время возьмите реальную задачку из ваших проектов и реализуйте на ruby и на python, тогда и оцените. При постановке вопроса ruby vs python получается глупый холивар
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы