Как жить с синтаксическим сахаром like Ruby

korchasa

LIMB infected
Духовность™
Сообщения: 4 061
Ты бы поисковикам поучился пользоваться. И тебе полезно, и местному серверу меньше напрягаться
 

vlmonk

Новичок
vlmonk
про дефолтные параметры я солгал, они были, просто сейчас появилась возможность ставить их не в конце и начинается угадайка, в php такое и хочется и колется.
Эта возможность есть только в ветке 1.9.x. Я пока не библиотек, которые используют ее, так что не могу скзать насколько это будет удобно или нет.
Вообще с веткой 1.9.x не все гладко, она разрабатывается уже несколько лет, но пока массового перехода на нее нет и не предвидится в ближайшем будующем.

слышал краем ухо про возможность запрета модификации объекта в зависимости от контента вызова. Типа изменять и патчить можно, но только в определённых классах(объектах). это фишка руби будет или для рельс?
Про такое не слышал. Возможно это есть в каких-нибудь альтернативных реализациях руби, типа jruby / ironruby либо опять же в ветке 1.9
 

vlmonk

Новичок
Расскажите про руби. PHP вот, устанавливается на сервере и исполняет сценарии. Руи аналогично работает?
Сейчас есть 2 основных способа разворачивать рельсовые приложения.

- можно запустить несколько экземпляров рельсового приложения, повесить их на localhost на разные порты и проксировать на них запросы через fontend сервер (apache/nginx/lighthttpd)
- можно поставить passenger (он же mod_rails) как модуль для apache или nginx. В этом случае сам passenger будет управлять пулом рельсовых инстансов.

Первый способ гибче, второй - проще в настройке.
 

fixxxer

К.О.
Партнер клуба
Эта возможность есть только в ветке 1.9.x. Я пока не библиотек, которые используют ее, так что не могу скзать насколько это будет удобно или нет.
Вообще с веткой 1.9.x не все гладко, она разрабатывается уже несколько лет, но пока массового перехода на нее нет и не предвидится в ближайшем будующем.
Странно, что никто не торопится - там же, судя по всем подряд бенчам, решена масса проблем с производительностью. Да и рельсы там работают.
 

DYPA

Настоящая dypa (c)
а что будет в ruby 2 (без рельсов и прочих gem, только достоинства языка) ? честно обещал себе посмотреть на него начиная со второй ветки...
 

vlmonk

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

Плюс в 1.9 есть несколько спорных фишек (например поддержка разнык кодировок для String) которые добавляют много головняка при разработке.
 

vlmonk

Новичок
а что будет в ruby 2 (без рельсов и прочих gem, только достоинства языка) ? честно обещал себе посмотреть на него начиная со второй ветки...
Я не слежу сильно за прогрессом ruby 1.9 / 2, но из того что слышал:

альтернативный синтаксис для создания хешей, похожий на js
PHP:
{a: 'foo', b: 'bar'}       # {:a => 'foo', :b => 'bar'}
возможно наведут порядок с eval (сейчас в языке есть class_eval, module_eval, instance_eval и просто eval. Все это иногда сильно путает)

возможно добавят новый синтаксис для lambda

возможность указывать default аргументы для lambda
 

korchasa

LIMB infected
Новая фраза для троллинга рубистов - "У вас в 4 раза больше eval'ов чем в РНР"
 

Sherman

Mephi
Ой, да ладно. Неосилил РНР, это как еврей-сталевар.


И это нормально! Так же как люди знающие jquery/dojo/prototype, но не знающие js. Так же как РНР-разработчики, не знающие Си. Пусть концентрируются на том, что приносит деньги заказчику, а не на "лишних" знаниях. Для этих "лишних" знаний нужны тимлиды, которые своевременными пинками подскажут, что вот тут ты так не делай, потому что <причина>. И это даже лучше, чем просто смена платформы на более высокоуровневую, т.к. внутренности на том же языке, на котором пишешь ты.
Не. Нафиг-нафиг такую команду. Уже три года не работаю с разгильдяями и назад пока не хочется. Гораздо эффективнее выходит, когда не надо тыкать носом кого-то в команде. Тимлид, который основное время тратит на то, чтобы следить чтобы другие чего не накосячили - это бег по кругу :)

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

korchasa

LIMB infected
Не. Нафиг-нафиг такую команду. Уже три года не работаю с разгильдяями и назад пока не хочется.
Они не разгильдяи, они имеют меньше опыта, и соответственно, стоят дешевле.
Гораздо эффективнее выходит, когда не надо тыкать носом кого-то в команде.
Так не бывает. Все ошибаются + не все обладают полной информацией. Да и для профилактики полезно ;)
Тимлид, который основное время тратит на то, чтобы следить чтобы другие чего не накосячили - это бег по кругу :)
Согласен. Только я не говорил про основное время. Да и понятие "накосячили" растяжимое.

Я вообще не про баги говорил

В два (не забываем про create_function).
Ты зачем им подсказываешь? :)
 
Сверху