С PHP на Ruby?

Духовность™

Продвинутый новичок
С PHP на Ruby?

Сегодня на собеседование пошел.

Человек сказал, что они будут с PHP переходить на Ruby. На мой вопрос "почему?", человек ответил - PHP глючит.

Спорить я не стал :)

Википедия сообщает, что
К недостаткам интерпретатора Ruby сегодня можно отнести следующие:

* Невысокая скорость работы (естественная расплата за быстрое написание сложных программ). Ruby является одним из самых медленных из используемых в практике веб-разработки языков программирования[10].
Мне опять "повезло" с работадателями, да?
 

MiksIr

miksir@home:~$
Ответ забавный. Ну а вообще, если не брать скорость работы интерпретатора (что не всегда является критичным фактором), то Ruby достоин того, что бы его изучать ;)
 

Gas

может по одной?
человек ответил - PHP глючит
ничего, после перехода на RoR, они свою точку зрения вполне могут изменить на противоположную, если сайты будут не "хомяки" :)
Но и язык ruby, и rails фреймворк (особенно) очень достойные альтернативные технологии.
 

Gas

может по одной?
а на ruby без rails нельзя заниматься разработками под веб?
Cкорее всего можно, но смысл.
Я уверен что когда тебе говорили про ruby, подразумевали и rails.
 

AmdY

Пью пиво
Команда форума
Автор оригинала: triumvirat
а на ruby без rails нельзя заниматься разработками под веб?
Очень сложно писать, учитывая что скорость разработки со всеми фичами не такая уж огромная, когда шаг влево-право, а представить как писать с нуля бр.....
Основная фича рельсов - activerecords, но у нас подрастает сипматичная замена в лице сами_знаете_чего.
Я недавно сравнивал свои наработки из коктеля Zend Framework+Doctrine+Smarty+Моё, конечно, у рельс есть пару фокусов в запасе, но у меня их получилось больше. Вот только скорость работы быстро приближается к РОРу :(
РОР весьма симпатичен, но как хорошо заметил один из антироровцев - основная проблема в авторе языка.

-~{}~ 16.05.08 19:23:

Gas
чисто на рельсах писать не получится, вся структура фреймворка посторена на удобстве использоания сторонних библиотек, даже менеджер пакетов есть
 

Luerssen

Новичок
fcgi всё исправляет. про лаги забыл на дорогом сервере, проектов на рельсах более 80 )
 

cDLEON

Онанист РНРСlub
Пробежался мельком по возможностям...
Если чесно, не вижу плюсов в этом языке :(
Кто-нибудь какую-нибудь заслугу, которой нету в ПХП может показать ?
 

Gas

может по одной?
ну если 80 проектов на одном серваке, то они наверное не слишком большие. имеем проект не большой, не маленький - 500K+ хитов, стоит на отдельном сервере, и несмотря на очень интенсивную работу с базой, нагрузка от RoR значительно превышает нагрузку от mysql. Памяти рельса кушает очень хорошо, подобрать стабильную конфигурацию webserver'ов и настройки тоже получилось не сразу, то слишком медленно, то монгрели просто перествали отвечать через время. Уверен что можно добавить ещё пару уровней кеширования и станет лучше - но пока и так работает, да и докупить железа, пока выгодней :)

Имхо, если проект "средний", выбор технологии определяется личными предпочтениями, ибо и на php(+любимый фреймворк), и на ror можно сделать одно и тоже в сопоставимые сроки.
 

AmdY

Пью пиво
Команда форума
80 проектов на руби - это врятли на одном сервере
загрузка от RoR значительно превышает нагрузку от mysql
Вот-вот, я был в шоке, когда впервые это увидел, разработчикам РНР огромный респект за скорость при не меньшей функциональности.
Хотелось бы пощупать более-менее серьёзный проект на ruby и посмотреть как там дела обстаят не в тепличных условиях
 

Gas

может по одной?
Хотелось бы пощупать более-менее серьёзный проект на ruby
такие проекты имеются Twitter, Basecamp. Просто нужно научиться его правильно готовить.

Bakti9rov
ага, это плюсы ruby. Но не помню чтоб в ruby были интерфейсы, абстрактные классы/методы, type hinting, или это всё есть? а то я в ruby не мега-спец.
 

Bakti9rov

!*|=?
Gas
иерахию в руби можно создавать и без интерфейсов c абстрактами, просто у Руби на это есть свои средства. Когда в Java или РНР ты создаешь интерфейс, то ты точно знаешь что у эксземпляра класса, реализующего этот интерфейс, обязательно есть некий метод.

в руби же экземпляр можно просто опросить на существование метода:
Код:
obj = Klass.new
obj.respond_to? :some_method
-~{}~ 17.05.08 15:41:

по поводу type hinting - можно погуглить по duck typing
 

Angerslave

Новичок
Bakti9rov
Что есть лямбда-функции в руби и чем они отличаются от $func = create_function(...);? Да и непонятно, если класс не поддерживает какой-то метод интерфейса, как он может поддерживать весь интерфейс? Короче, опять всё зависит от рук + головы, а не от языка программирования...
 
Сверху