Rails for PHP Developers

    Хотите увидеть конкретные примеры rails кода с альтернативами на php? А может быть вы хотите ближе познакомиться с RoR, но не знаете с чего начать? Тогда проект Rails for PHP Developers просто находка для вас. С помощью этого блога вы можете взглянуть на rails глазами php-разработчика. На сайте приведены примеры задач и варианты решения на php и ruby. Я думаю проект может реально помочь разработчикам в переходе на RoR.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 149
    • +2
      Я не увидел какого-то преимущества Ruby над PHP в этих примерах. А если нет разницы - может все-таки лучше использовать привычный PHP?
      • +4
        Я лично не говорил о каком-то преимуществе, я говорил о том, что этот блог может помочь перейти пхпшнику на руби =)А уж зачем переходить, и стоит ли это вообще делать - каждый сам для себя решает.
        • 0
          Так а в чем смысл? Рассказывается синтаксис на примере PHP?
          • 0
            Есть возможность сравнить насколько легче/сложнее реализовать одно и тоже на PHP и на RoR. Лично для меня стало хорошим толчком к тому, чтобы посмотреть на RoR и попробовать его в действии :)
            • 0
              А что вам показалось проще в этих примерах?
              • 0
                Я бы не сказал что проще, я сказал бы альтернативный "стиль":)
                Вот я и решил попробовать - возможно, что мне будет проще реализовывать на RoR то, что я делаю для сайта(ов)...
                • +1
                  Итераторы! В Ruby они великолепны. array_map(), array_walk() не удобны в том виде, в котором они сейчас есть.
                  • 0
                    ну так откройте для себя Standard PHP Library (SPL) наконец-то. беда очень многих "php программистов" в том, что они решили, что уже "знают весь php и php на этом как бы закончился", хотя все их познания - это процентов 10-20 от всего php.
                    • 0
                      Спасибо за ссылку, буду изучать
                      • 0
                        SPL - это другое. я про удобный перебор массивов
              • +2
                а зачем переходить на руби? меня устраивает пхп. Думаю меня многие поддержат. Кто захочет перейти (или другими словами, вынужден будет) тот сам найдет путь :)
              • +1
                Этот ресурс всего на всего показывает как решаются одни и те же задачи и создан я так понял для тех кто уже решил перейти с php на руби. Преимущества надо искать не на этом сайте, хотя бы посмотрите соседний ruby-блог, там много чего интересного на эту тему понаписано(без холиваров не обошлось к сожалению).
              • +1
                эмм, народ, зачем просто тупо минусовать? выражали бы свое мнение в словесной форме...
                • 0
                  Ловите плюсик в карму
                • НЛО прилетело и опубликовало эту надпись здесь
                  • +1
                    Любой продукт рано или поздно "опопсевает".
                    • 0
                      Да нормальный ресурс. Немного синтаксиса, немного теории. Мне такого в свое время не хватало.
                      • 0
                        Такое отношение - от большого количества участников. Могу поспорить, что на BrainFuck пишут более профессиональные программисты, чем на PHP. Но это не повод всем переходить на BrainFuck
                        • –2
                          > Могу поспорить, что на BrainFuck пишут более профессиональные программисты, чем на PHP.

                          Я б с вами поспорил. Профи скорее в пхп пойдет чем в брэйнфак - следовательно ваше предположение (хоть и в теории) не верно.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • –1
                            К Вашему сведению, господин zzzzz, BrainFuck это язык программирования. Просто когда-то было модно делать разного рода головоломки. Этот язык используется сейчас больше в этих целях в основном, на нем действительно пишут интеллектуалы, правда только в теории, он не нашел своего практического применения.
                            • 0
                              А где там про BrainFuck у него?
                            • 0
                              Вы не владеете терминологией. Рельсы в той же степени язык программирования (DSL), что пии эйдж пии - веб фреймворк.
                              • –1
                                pee age pee ?
                                • 0
                                  Угу. Это шуточка из проскальзовавшей на хабре теме про покупку яхи микрософтом.
                              • 0
                                К сожалению, Вы не вполне правы. Рельсы были написаны с основательным использованием метапрограммирования, поэтому при изучении и использовании выглядят, как отдельный язык cо своими операторами, инструкциями и выражениями.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • НЛО прилетело и опубликовало эту надпись здесь
                              • 0
                                Хорошая ссылка.
                                • 0
                                  Если хотите начинать программировать на Руби он рейлс, то учите руби, а не сравнивайте его с РНР.
                                  • 0
                                    Весьма дельное замечание.
                                    Однако же надо отдать должное тому что "всё познаётся в сравнении".
                                  • 0
                                    Может я не прав, но я там видел только чистый Ruby и PHP. Смысл в сравнении с чистым Ruby я не вижу.

                                    Писать заново Framework таким методом(постепенного написания конструкций) — это убийство времени. А если просто использовать такие конструкции в коде(не использовать ООП), то это будет ужас из гор кода.
                                    • 0
                                      Не правда, про рельсы там говорится
                                    • 0
                                      Предвзятый какой-то текст.

                                      Автор нам, PHP-программистам, как бы намекает уже в первом примере для сравнения, что RoR-программист должен быть внимательнее к своему, и потому это у него должно вызывать гордость за себя...

                                      А пример то и гроша ломаного не стоит.
                                      Остальные примеры в той или иной степени, но в том же духе.

                                      В целом, за статью спасибо. Иначе я еще долго собирался бы хоть глазком взглянуть на Руби
                                      • 0
                                        я как программист пхп работающий на руби рельсах в данный момент могу сказать:
                                        нех*й заморачиваться, и переходить на рельсы, пхп рулез
                                        • 0
                                          Я как программист руби он рейлс работающий на пхп (абсолютно серьезно!) могу сказать с точностью наоборот
                                          • 0
                                            голый пхп ? плейн текст ?
                                            • 0
                                              Да плейн текст. Без цмсок/фреймворков. Потихоньку на рельсы перевожу
                                              • 0
                                                ну дык :) сравнение у вас некорректное фреймворк с голым языком
                                                php 5 + MVC framework вот мой выбор :)

                                                для меня один из плюсов пхп что он изначално на веб заточен и фреймворк можно выбрать какой пожелаешь
                                                а можно если очень надо плейн текстом, но не надо тогда говорить что рельсы лучше :)
                                                • 0
                                                  У пхп одна проблема. Это он сам :) Если пхп сообщество в следующих версиях не примет кардинальных мер язык умрет. На этом предлагаю холевар считать закрытым.
                                                  • 0
                                                    спасите нас :) откройте секрет вечной жизни :)
                                                    какие меры ?
                                                    • –2
                                                      php - ассемблер для веб.

                                                      rails - визуал-бейсик
                                                      • +1
                                                        Да нет, php это скорее бейсик...
                                                        • –2
                                                          скорее
                                                          php - c++ для веб.
                                                          ror - визуал-бейсик
                                              • 0
                                                кстати мой призыв "нех*й заморачиваться" был направлен исключительно к пхпешникам :)
                                                свои соображения по рельсам я описал чуть ниже
                                            • 0
                                              Мне бы образцы "типичных задач веб-программинга" на питоне. А то пишу: "dirname(__FILE__)"... э-ээ... И вспоминается с тоской, как в перле обычно это делается...
                                              • 0
                                                попробуйте фреймворк web2py
                                                просто, понятно, элегантный api.
                                                • 0
                                                  Да я пока после CakePHP больше в Django гляжу. Плюс доводилось кодить в Zope - тоже приходилось часто ползать по зарослям Library Reference.
                                                  • 0
                                                    "кодить в Зопе..." =)
                                                    простите, настроение просто хорошее =)
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                • +2
                                                  Вот, например, что я оценил в рельсах:
                                                  1. лёгкая настройка дружественных урл,
                                                  2. возможность держать БД под контролем версий (1000+),
                                                  3. реально суперские тесты моделей, контроллеров и целых сценариев типа: выбрала Маша продукт, добавила в корзину, нажала Маша "купить" и получила счёт в 100 рублей,
                                                  4. не заморачиваешься на конфигах, что удобно на этапе прототипирования,
                                                  5. готовые механизмы хранения сессий (в файлах, в БД и т.д.),
                                                  6. простое кеширование (особенно на уровне веб-сервера, когда рейлс вообще не вызывается).

                                                  Ещё что-то важное было, но не припомню :)
                                                  Заданная структура фреймворка сразу определяет что, куда сохранять, своего рода дисциплинирует. Тут свобода часто вредна :)

                                                  У рейлс один серьёзный минус - скорость, требования к ресурсам и хостинг. Но если он даже немного медленее РНР, то этого достаточно. Тут мой девиз: "Пусть работает сервер, а не я!".

                                                  А вообще, господа, язык не спасёт от быдлокодерства
                                                  • –3
                                                    к сожалению рельс немного медленнее пхп для небольших проектов,
                                                    при 500 тысячах показах в день и при полном кешировании загружен кластер из 16 машин с 99 гиг памяти
                                                    про цену этого хостинга надо говорить шепотом

                                                    зачем нужен этот велосипед мне неясно

                                                    php 5 + MVC framework вот мой выбор :)
                                                    ну и лично мне не нравится синтаксис: привет Turbo Pascal :)
                                                    • +2
                                                      14 000 000 хитов в месяц, 5000 уникальных посетителей в день - тоже немало
                                                      сервер: 4 ГБ RAM, dual core AMD64 3.0 ГГерц
                                                  • 0
                                                    С пункта 1 по пункт 5 - реально приемущества не руби над пхп, а фреймворка над голым языком. 6 пункт вобще не понятный. что вы подразумеваете под - "особенно на уровне веб-сервера, когда рейлс вообще не вызывается"?

                                                    Насчёт структуры фреймворка - каждый для себя выбирает фреймворк по вкусу, с жесткой структурой файлов или нет.
                                                    • 0
                                                      видимо имелась отдача статики с помощью reverse proxy вроде nginx, что конечно плюс самого reverse proxy, а не rails ;-)

                                                      @gkirok, а можно ссылочку на этот сервис с полмиллионом хитов? "не корысти ради, токмо волею пославшей мя кузькиной мамы"(с) )
                                                      • 0
                                                        пожалста seekingalpha.com :)
                                                      • 0
                                                        В рейлс есть кеширование на уровне страницы и на уровне контроллера. Так вот когда вы включаете кеш страницы, т. е контент сохраняется в веб-директории и отдаётся непосредственно веб-сервером. Умение создавать и удалять такие кеши - это умение рейлс.
                                                        • 0
                                                          На счёт пунктов 1-5 читайте внимательнее -> "Вот, например, что я оценил в рельсах:"
                                                          Про РНР тут ни слова.
                                                          • 0
                                                            про PHP ни слова? А что же вы в конце высказывания резюмируете: "
                                                            У рейлс один серьёзный минус - скорость, требования к ресурсам и хостинг. Но если он даже немного медленее РНР" ?? Сравнение PHP c Rails нету? Ну да бог с ним.

                                                            Про кеширование почитал, интересно видел подобное в одной немецкой CMF, но насколько понял есть проблемки с кеширование по урлами вида "?page=profile&id=2" ? в принципе мелочь, но всё же не приятно. для сравнения посмотрите хотя бы Zend_cache который ещё и с разными адаптерами работать может - хотите в файл, хотите в memcache.
                                                            • 0
                                                              В рейлс 6 адаптеров для хранения сессий и кеша :)
                                                              • 0
                                                                6 против zend'овских 5(для кеша) :) разницы практически нет, вероятность что будет возможность использовать только один конкретный ничтожно мала
                                                              • 0
                                                                Для удобной чистки кеша предусмотрены специальные наблюдатели (observers) для моделей.
                                                                • 0
                                                                  ну и? опять таки zf :) позволяет присваивать теги записям в кеш и потом можно скажем удалить все записи в кеш с этими тегам :) тоже всё удобно.

                                                                  ладно хорош холиварить.

                                                                  Технология для реализации любого проекта должна выбиратся в зависимости от доступных ресурсов (оборудование,разработчики и т.д.) а каждый конкретный разработчик будет исходить из своих возможностей :)
                                                                  • 0
                                                                    Мир :) К тому же я сам старый РНРшник.
                                                          • 0
                                                            По поводу тестирования - вы не видели rspec )
                                                          • 0
                                                            Чем это круче, чем использование основных идей RoR в фреймворках типа CakePHP?
                                                            Т.е. зачем это нужно? =)
                                                            • 0
                                                              Не приводите Cake PHP в пример, не сравнивайте. Я с ним работал :) Он далёк от RoR, хоть и преподносит себя как рельсы для РНР. Враки! ActiveRecord там х****. А так фреймворк среднего качества.
                                                            • –3
                                                              Глупости, а не примеры, честно - не привлекают.
                                                              Да и что может быть идеальнее С++ - синтаксиса? Попытки показать, как легко перейти - переходите, php - это классика, какие нахрен рельсы, пошумят еще пару лет, и останутся в абсолютном меньшенстве как перл и питон. А php всегда будет иметь в себе каплю черного пиара как пример "быдлокода" из-за своей дружелюбности, имхо - это не причина коситься в сторону ror, django и тд., свои руки ровнять нужно и только...
                                                              • +1
                                                                Почему-то я бы не сказал, что питон "остался в абсолютном меньшинстве". Django, Pylons? Два мощных средства под различные нужды. Да и код на питоне, имхо, пишется быстрее, чем на пхп. Магия декораторов (с) (:
                                                                Сам долгое время сидел на пхп, и различные фреймворки пришлось поюзать. Сначала сопротивлялся переходу на что-то новое (а нафига? пхп-ж работает), а теперь пишу на питоне и радуюсь.
                                                                • 0
                                                                  та же история. Только я начал смотреть в сторону руби. Не оправдает надежд - посмотрим на питон :) Освоить новый инструмент всегда полезно.
                                                                  • 0
                                                                    Если мне ничто не изменяет, то Pylons'у мы обязаны одному из разработчиков RoR'а. Многие вещи (например замечательные вэб-хелперы) портированы из рельсов.
                                                                    • 0
                                                                      Когда появился RoR он задал хорошую планку для остальных близких к нему веб технологий. Вспомните, как плодились рельсоподобные фреймворки на РНР :) Джанго многое перенял из рейлс, хотя развивались они параллельно. Думаю, наоборот тоже что-то было.
                                                                      О Pylons не слышал :)
                                                                      • +1
                                                                        http://pylonshq.com/
                                                                        Особенно радуют там мануалы из серии "for people in harry".

                                                                        Что же до джанго — то там убогий ОРМ, зато админка из коробочки + generic views + множество уже готовых сторонних вещей, которые вкручиваются правкой пары строк в конфиге. Простеишие сайты поднимаются в минуты, а для высоконагруженных (а тем более — разнесенных вэб-приложений) лучше подойдёт pylons.

                                                                        Вообще, если бы меня сейчас позвали работать на рельсы, я бы пошел, хотя знаком с ними весьма бегло. А вот на пхп бы вернулся только ради значительно большей зарплаты, разве что. И не я один. Показатель?

                                                                        Большая беда пхп в том, что он вроде как и сам по себе что-то может в браузер плюнуть, и фреймворков под него много, а собрать работающее приложение из многих готовых апп (плагинов, etc.) выливается в геморрой. Вот и приходится изобретать велосипеды каждый раз, хотя кто-то это занятие и любит (:
                                                                        • 0
                                                                          Руби своей целевой аудиторией имел не пхп, а пёрл с питоном.
                                                              • –3
                                                                fruit = %w[apple banana orange]
                                                                fruit.each { |f| print "#{f}, " }

                                                                Спасибо... поблевал...
                                                                • 0
                                                                  Так понятнее будет

                                                                  fruit_array = {'apple', 'banana', 'orange'}
                                                                  for fruit in fruit_array do
                                                                      puts fruit
                                                                  end

                                                                  Верните выблеванное обратно :)
                                                                  • 0
                                                                    понятно и там, но тут значительно приятнее выглядит. это тоже отРУБИ? :)
                                                                    • 0
                                                                      вот например вывод всех строк:
                                                                      File.open("ddd",'r') do |file|
                                                                      file.each_line { |line| print line }
                                                                      end
                                                                      • 0
                                                                        глядя на этот пример,
                                                                        сишник возможно позавидует вам, в глубине души (как вам просто живется)
                                                                        но не пиэйчпишник. :)
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • 0
                                                                            а так, чтоб открыть файл и итератором по строчкам? код дайте. если что.
                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                              • 0
                                                                                Ok. Нормально.
                                                                            • 0
                                                                              типа так:
                                                                              <?php
                                                                              $lines = file('http://habrahabr.ru/');
                                                                              • 0
                                                                                Я приводил пример итераторов. Получение всех строк в руби куда логичней: File.open('...','r') {|file| lines = file.readlines } =)
                                                                      • 0
                                                                        Да это тоже руби. for in внутри себя вызывает тот же метод each, но выглядит более привычно.
                                                                      • +1
                                                                        только не {} а []
                                                                        А вообще я бы вывел так: fruit_array.join("\n")
                                                                        • 0
                                                                          fruit_array = ['apple', 'banana', 'orange']
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • 0
                                                                          Что курил автор?
                                                                          • 0
                                                                            автор курил Википедию
                                                                            • 0
                                                                              Между тем имеется Ook!-Интерпретатор на Ruby, python, perl и C#, а также конвертеры в Ook! из языков Brainfuck, Delphi, Java

                                                                              Вот уж люди х***** страдают.
                                                                        • +1
                                                                          Посмотрел ссылку, тема расскрыта не полностью.
                                                                          Сам начал актично читать/писать на ROR после многих лет PHP. Вопросы, в основном, возникают другие. То, что описано на сайте понятно из беглого чтения 5 страниц мана.
                                                                          А вот нюансы, аналогов которых в РНР нет, не упоминаются вовсе: Active Record, Migration, Scaffolding (в часности Active Scaffolding), работа с ООП и детальнее плюсы блоков.

                                                                          P.S. Люди, почему вы так категоричны? Выносить критические мнения должен человек, который _действительно_ разбирается в теме. В данном случае - написать несколько крупных проектов на каждом из языков.
                                                                          • +1
                                                                            Active Record, Migration, Scaffolding - это не возможности языка, а реализованные шаблоны и библиотеки. Я такое и на РНР писал.
                                                                            А вот теперь перехожу на руби :)
                                                                            • +2
                                                                              Люди всегда категоричны, особенно те, кто не разбирается :)
                                                                              • –2
                                                                                интересно, какие крупные проекты написали вы, если для вас в php даже Active Record не существует...
                                                                            • 0
                                                                              В компании, где я работаю, отказались от перехода на Rails.
                                                                              "Это слишком сложно для наших программистов", "Оно слишком умное и ему нельзя доверять".
                                                                              Вещи типа ORM, генераторов, отладчика :) - это для них не более чем набор назойливых звуков.
                                                                              Человека нужно посадить и дать ему самому попробовать scaffolding, только тогда его осенит.
                                                                              Но проблема в том, что **ему и так хорошо**.

                                                                              Я наивно полагал, что хотя бы выразительность Ruby смогут оценить.
                                                                              puts Dir['**/*.*'].sort_by {|f| [File.basename(f), File.mtime(f)]}
                                                                              Рекурсивный листинг текущей папки с сортировкой по имени и времени последнего изменения.
                                                                              Если человек тратит 20 минут (средний программист гораздо больше 20 минут), на написание подобной функции на PHP, то у него совсем не остаётся сил и времени задуматься о действительно важных вещах. Например, зачем вообще нужна такая функция :)

                                                                              Я не думаю что более высокий уровень абстракции это плохо.
                                                                              У Джоеля Спольски:
                                                                              Google works and thinks at a higher level of abstraction than Microsoft. Google uses Bayesian filtering the way Microsoft uses the if statement.
                                                                              Этим всё сказано.
                                                                              • 0
                                                                                а зачем она нужна?
                                                                                • 0
                                                                                  Она бесполезна, точно так же как и Hello World.
                                                                                  Но хороша чтобы показать элегантность сортировки многомерных массивов в Ruby.
                                                                                  Или вы считаете что сама идея сортировки по нескольким критериям бесполезна?
                                                                                  • 0
                                                                                    вы уверены что на php это займет 20 минут?

                                                                                    кстати, а если в итоге Dir['**/*.*'] насобирает нам например 500000 файлов.. что будет?
                                                                                    • 0
                                                                                      По первому вопросу - нет, не уверен. Но для себя я бы сделал оценку 20 минут. Лучше среднего!
                                                                                      Причём, знаете, даже не в минутах дело. Этот код кто-то будет поддерживать после. Ад начинается здесь.

                                                                                      По второму вопросу:
                                                                                      ksort($a); // will it scale?!
                                                                                      • 0
                                                                                        конечно же
                                                                                        puts Dir['**/*.*'].sort_by {|f| [File.basename(f), File.mtime(f)]}
                                                                                        will scale аж как никогда....

                                                                                        кстати, а причём там вообще ksort?
                                                                              • 0
                                                                                Symfony и RoR: кто что у кого содрал? Как-будто две вещи делались в тесной связи.
                                                                                • 0
                                                                                  Вы, видимо, никогда не делали ничего на рельсах. А если и делали, то лучше бы не делали. Ибо только в этом случае вам могла придти идея сравнивать симфони и рельсы.
                                                                                  • 0
                                                                                    Ага, а вы просто не владеете темой. Вот я и сам нашёл ответ на свой вопрос:

                                                                                    «2003 году Фабьен (Fabien Potencier - гендиректор Sensio, французкой веб-фирмы известной своими инновационными взглядами на веб-разработку) изучил возможности существующих средств разработки приложений на PHP5, с открытым кодом. Ни одно из них не удовлетворяло перечисленным выше требованиям. Когда же появился PHP5, Фабьен решил что PHP созрел для написания полнофункционального фреймворка. Позже он потратил год на разработку ядра symfony, взяв в качестве основы MVC pattern, ORM Propel, и helper-ы из Ruby on Rails.»

                                                                                    http://developer.co.ua/posts/view/glava_…
                                                                                    • 0
                                                                                      Propel, если ничего не изменилось, генерит кучу "левого" кода. Оно, конечно, так чуть быстрее работает, если все сеттеры и геттеры для каждого класса руками описывать (утилитой генерить), только вот зачем?
                                                                                      • 0
                                                                                        Много хорошего слышал о симфони
                                                                                        • 0
                                                                                          А теперь попробуйте найти PHP-фреймворк созданный за последние три года без вдохновения рельсами. Это никоим образом не делает эти фрейморки похожими.
                                                                                          Ну и да, хелперы в симфони не имеют и десятой доли фишек хелперов в рельсах. А под "helper-ы из Ruby on Rails" имелись ввиду, видимо, хелперы для работы с аякс и js-эффектами. Они да, практически полностью повторяют функционал рельсовый, но:
                                                                                          1. Бзе RJS они особо ничего не стоят
                                                                                          2. Это далеко не самая сильная сторона рельс. с jQuery опять же можно забыть про эти хелперы и основная фишка опять приходится на RJS.
                                                                                    • –2
                                                                                      вы владелец машины (php)останавливаетесь на светофоре рядом с трамваем
                                                                                      водитель трамвая (ror) говорит: "твоя машина фигня смотри какой я трамвай клёвый купил"

                                                                                      ror: смотри какой большой и красивый, скоро все на таких ездить будут.

                                                                                      php: класс повезло тебе, а нахрена такой большой ?

                                                                                      ror: смотри здесь можно картошку с дачи загрузить, мешки вот сюда на сиденья покидать

                                                                                      php: нахрена ? я лучше с прицепом фраймворком, специально под картошку заточенным поеду, зачем салон пачкать

                                                                                      ror: не ты машину с прицепом с моим трамваем не сравнивай, вон какой он у меня блестящий, чо хачу то и важу

                                                                                      php: а во сколько трамвай обходится ? ну там электричества жрет ?

                                                                                      ror: сущие пустяки ну раз в 10 дороже чем твоя машина ?

                                                                                      php: сможешь поехать куда захочешь ?

                                                                                      ror: только куда рельсы проложены, ну или самому класть придется, зато когда везде проложу сразу хорошо мне будет

                                                                                      php: ну может он быстрый ?

                                                                                      ror: да нет , еле тащится, зато какой удобный, можно сразу за руль садится, сел поехал и в аварию не попадешь

                                                                                      php: а что такой медленный ?

                                                                                      ror: ну мне ведь чтоб куда-то доехать нужно по всем остановкам людей собрать

                                                                                      php: а чем тебя машина неустраивает ?

                                                                                      ror: проблема машин в том что они сушествуют!

                                                                                      php: и после всего что ты мне рассказал зачем мне с машины на трамвай пересаживаться ?

                                                                                      ror: если вы автомобилисты не переведете их на рельсы, то умрете в страшных мучениях, потому что за трамваями будущее !

                                                                                      вы пожимаете плечами и поворачиваете на светофоре срезать угол, а гордый трамвайщик едет прямо потому что так надо
                                                                                      • +1
                                                                                        кажется, в жежешечке писали так:
                                                                                        кг/ам
                                                                                        • 0
                                                                                          скорее ЖЖОШ!
                                                                                          • 0
                                                                                            наверно идея настолько очевидна, что пришла не мне одному в голову :)

                                                                                            писал сам, нигде не подглядывал :)
                                                                                            • +2
                                                                                              Простите, но вы действительно не знаете значение "кг/ам"?
                                                                                              • 0
                                                                                                извините пожалуста, незаметил букавки за вашим авторитетом :)
                                                                                            • 0
                                                                                              КГ/АМ — сокращение, означающее «Креатифф — говно; афтар — мудак». Широко используется русскоязычными "Падонками" для выражения негативного отношения к чьему-либо творчеству или высказыванию.

                                                                                              Так же имеет место расшифровка Креатифф гламурен - аффтар молодец.
                                                                                          • 0
                                                                                            Ruby - это язык "не любителей" php. Если честно php мне нравится тем что он очень похож на С++. Если бы ruby был ближе к нему я бы "сидел" на ruby. Если есть php то "нахрена коту баян".
                                                                                            Кстати сейчас тенденции такие что "серверные" языки это "прокладка" взаимодействия БД и клиентской части, написанной на JS, флеш и т.п. Поэтому слишком заморачиваться этими языками по большому счету и не надо, для всего хватает и php с головой ( мелкий интерпритатор с++ подобия). Лучше заморачиваться клиентской частью, правда для этого надо все браузеры привести к стандарту как html, xml так и js.
                                                                                            • 0
                                                                                              1. И в плохом браке свыкаешься (это не про РНР, а вообще про привычку :)
                                                                                              2. Руби отличается от РНР не только синтаксисом операторов и выражений. Так думать - большая ошибка.
                                                                                              3. В рейлс отличная поддержка яваскриптовых хелперов + RJS - вид представления для генерации яваскрипта.
                                                                                              • 0
                                                                                                > Так думать - большая ошибка.
                                                                                                В смысле, что искать отличие только в написании выражений и зарезервированных словах.
                                                                                                • 0
                                                                                                  Да я не против Ruby :) Кто как хочет так и ... работает. Я написал суть другую. Что тенденции сейчас другие. Уклон пошел в "клиентскую" часть. Там тоже самое... короче фейк intel vs amd :)
                                                                                                  • 0
                                                                                                    Так я в 3-м пункте написал про это :) Клиент-то должен иметь связь с сервером. А у рейлс хорошая связка с прототайпом, много хелперов для работы с яваскриптом, а также есть RJS для генерации яваскриптового контента (вместо привычного хтмл).

                                                                                                    Так что тут всё тип-топ :)
                                                                                                • 0
                                                                                                  Вы насмотрелись веб два нольной фантастики. JS как был JS так им и остался. клиент как был важной составляющей парадигмы клиент-сервер так им и остался. Как и сервер.

                                                                                                  А что касается БД, вы будете удивлены, но то что вы описали – это тенденция 10-ти летней давности. Сейчас всех достали эти RDBMS, все используют MySQL, переносят всю логику на уровень приложения, и всем пофиг на всякие функции pgsql. Вы будете сильно удивлены, но будущие СУБД могут быть написаны на Руби. А могут на эрланге, это уж как пойдет.

                                                                                                  Ну и про PHP. Главная проблема PHP в том, что в нем ни осталось хороших программистов. Последний кусочек сознания в мире PHP – это Zend Framework. Больше нет хороших пакетов под PHP. У phpDocumentator самая ужасная документация, которую я видел. "И так тут все". Где статьи на деталях, где php inside, где клевые проги с php.spb.ru? нет их. всех достал PHP. Оставшиеся пхп-девелоперы (коих ужасное количество) только и делают, что рубят бабло, каждый по мере своих возможностей. Они не увлекаются PHP, они с ним работают.
                                                                                                  • 0
                                                                                                    Хорошие программеры остались на с++ :)
                                                                                                    Согласен с php просто работают... я не фанатею от него... а мне от него много и не надо... кстати достаточно и 4-ки с головой... это к вопросу о js (как был так и остался) .. у php разработчиков просто плохая команда маркетинга и PR. Кстати хорошему программеру (не путать с кодером) похер какой вообще язык... :) Самое главное логика построения архитектуры проекта... а на чем её ваять... лично и мне похер
                                                                                                    • 0
                                                                                                      Хорошие программисты есть в любом языке. Лично мне иногда страшно от того, что пишут сишники. А ещё мне не нравятся, когда они орут, что Ява очень медленный и полное Г :D

                                                                                                      Не язык определяет программиста.
                                                                                                      • 0
                                                                                                        А я этом и писал :) (см. последние предложение)
                                                                                                        По барабану какой язык. Главное у разработчика архитектура проекта... можно и на "тормознутом" языке сделать быстрое приложение всё зависит от архитектуры... а можно и на "быстром" всё загубить
                                                                                                      • 0
                                                                                                        ну да, команда php не выкладывает тупые ролики на ты-труба...
                                                                                                      • –1
                                                                                                        MySQL перестала быть RDBMS? а где раньше было логика?

                                                                                                        будущие СУБД на руби (!) будут радовать только фанатов руби и не более того, у всех остальных будет однозначная реакция "в-сад-в-сад". (как сейчас фанатов php радуют веб-сервер и фтп-сервер написанные на чистом php)

                                                                                                        зайдите на https://rubyforge.org/ и покажите мне что-нибудь достойное. beast, restolog, radiant? не смешите меня. всё это - УГ, как пишут на тематических сайтах.

                                                                                                        ps. "ни осталось" говорите? добавьте имхо. люди зарабатывают миллионы, делая при этом нужные и полезные сервисы.

                                                                                                        ps2. я не против руби, отличная штучка.
                                                                                                        • +1
                                                                                                          ps3. а близкое знакомство с рубионрейлз ничего кроме пользы не принесет. так что инжой!
                                                                                                          • 0
                                                                                                            мое имхо, что все что пишется на хабре в комментах можно воспринимать исключительно как имхо.

                                                                                                            насчет mysql. перечитал, действительно коряво выразился. я имел ввиду, что серьезные СУБД аля оракл и постгрес подразумевают реализацию определенной логики на уровне самой СУБД. сейчас же всем на это плевать и используют СУБД тупо как большой файлик откуда можно данные брать не заморачиваясь на сортировку (немножко утрируя). 99% рельсовых проектов, например, будет работать и на SQLite и на Postgresql. Поэтому все используют самую быструю mysql. Это не плохо, просто RDBMS так легче всего использовать.

                                                                                                            Теперь про СУБД на руби:
                                                                                                            1. Я не говорил, что обязательно на руби. Просто на руби есть интересная разработка в этом направлении отечественных разработчиков.
                                                                                                            2. Руби прекрасно и прозрачно работает с С. Реализовав функционал на Руби можно понемножку переписывать его на С.
                                                                                                            3. Не сравнивайте жопу с пальцем. то что смешно на php, очень серьезно на руби. например, веб-сервер. примеры? mongrel, хехе. чистый руби, если вы не знали.

                                                                                                            теперь про rubyforge.org. для начала beast — офигенный форум, лучше, практически, не придумать. ну только гугл группы. Недостаток только один — в рельсах нет хорошего механизма встраивания сторонних приложений в свое приложения (максимум, что сейчас доступно — Engines). А что касается кучи всяких CMS, то у рельс немного другая идеология. Это фреймворк. Очень хороший фреймворк. И не надо городить на него всякие CMS. Не видел ни одного хорошего сервиса, построенного на базе CMS. А для сайтов-визиток rails и не предназначался, их на PHP клепать можно. на rubyforge.org есть куча замечательных тузл для разработчика, до среднего уровня которых php уже не дотягивает со своими phpclasses.org. а больше и не нужно.

                                                                                                            Что касается программистов. Я и говорю, что куча народу тупо зарабатывает на PHP бабло. Это не плохо для этих людей, но для языка программирования, который как и любой другой язык программирования держится исключительно на коммунити, это очень плохо.

                                                                                                            p.s. я как бы уже инжой :)
                                                                                                            • 0
                                                                                                              хаха. снимите свои "рубиновые очки" :)

                                                                                                              давайте не будем трогать серьёзные СУБД. "серьёзные девелоперы" уже хохочут над нами с вами, тыкая в нас пальцами с нашими мусклами и посгресами.

                                                                                                              форум beast - мрачный, примитивнейший форум, с огромной дырой в секурити. что-то вроде phpbb версии эдак 0.5. и не более того. вообще удивительно как такой мрак не стыдно писать на достаточно мощном фреймворке.

                                                                                                              теперь про тулзы с rubyforge.org. можно привести примеры этих самых супер-тулзов? очень вдруг стало интересно...

                                                                                                              про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...
                                                                                                              поверьте, если бы не было выбора, то пхпешники тоже сидели как ненормальные на каком-нибудь nanoweb (который работает ничуть не хуже того же mongrel). Интересно было бы их даже сравнить в производительности.

                                                                                                              опять таки смешно про бабло: простите, что вы не зарабатываете "бабло"? или вы программируете ради "программирования" в чистом виде или ради "бесплатного доступа в инет"?

                                                                                                              я к тому, что все технологии хороши, тем более признанные и популярные. php годится для многого: от консольных тулзовен и сайтов визиток - до мегапопулярнейших сервисов с многомиллионым посещением. Интересно для чего тогда придуман рубионрейлз? Какой космический смысл в него заложен?

                                                                                                              рельсы точно так же держаться на коммунити, которое они пытаются расширять за счёт странного пиара: посмотрите вот есть руби, и он такой классный, а вот есть гавно (perl, php, java, что-там еще есть в их роликах?) и оно такое гавёное что просто фе…

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

                                                                                                                rutils, jrails, rspec, ruby-debug, heckle, haml, piston, capistrano — все это и еще куча всего хостится на рубифордж. многие из этих тузл не имеют внятных аналогов в пхп.

                                                                                                                у монгрела есть одно гигантское преимущество — масштабируемость. увеличилась посещаемость? запускам еще десяток монгрелов. популярность взлетела до неба? ставим сервак с nginx и два с монгрелами. получаем твиттер, который на 160 монгрелах крутится. кстати, эта система еще и очень отказоустойчивая. если сюда присоединить capistrano, то получаем сверх гибкую конфигурацию, которая может держать какую угодно нагрузку (при условии, что БД нормально организована), которая поднимается двумя командами в шеле. вы с mod_php заипетесь тоже самое повторять, а потом поддерживать. с учетом современных цен на железо, такая схема лично для меня предпочтительнее.

                                                                                                                я не говорю, что зарабатывать бабло плохо и написал про это. просто в php все упирается исключительно в это. а гуру руби общаются в форумах, пишут статьи и офигенные тузлы. сравните ror2ru с phpclub. Это касается и запада, чего только _why стоит. Покажите мне PHP программера похожего на _why?

                                                                                                                я почему так уверено говорю. просто я сейчас одновременно делаю проекты на php (кстати, с постгресом) и на рельсах, так уж получилось. поэтому разница мне очень заметна.

                                                                                                                p.s. а у джанговцев траур после падения первого джанго-сервиса яндекса :) http://softwaremaniacs.org/blog/2008/02/…
                                                                                                                • 0
                                                                                                                  оракл нужен там где нужна устойчивость, безотказность, сертификация и т.д., например банковская сфера.

                                                                                                                  кто сказал что nginx+apache+mod_php или nginx+fast_cgi+php я заипусь что-то там повторять и поддерживать? что за бред? более того куча монгрелов никак не устойчивей того же nginx+php.

                                                                                                                  неужели я должен перечислять здесь софт\тулзы написанные для php людьми, до которых товарищу _why как до неба? на pecl гляньте, у ror есть такое?

                                                                                                                  а вы мне jrails парите...

                                                                                                                  ps. я не посещаю phpclub
                                                                                                                  • 0
                                                                                                                    неужели я должен перечислять здесь софт\тулзы написанные для php людьми, до которых товарищу _why как до неба? на pecl гляньте, у ror есть такое?


                                                                                                                    Почему же когда Вы чуть выше написали

                                                                                                                    теперь про тулзы с rubyforge.org. можно привести примеры этих самых супер-тулзов? очень вдруг стало интересно...


                                                                                                                    Preprocessor-у не составило труда привести примеры. Когда же Вас попросили сделать тоже самое – Вам это оказалось неожиданно затруднительно – почему так? Может Вы все таки просветите общественность – что же такого в pecl есть уникального – чего по Вашему нет в RoR?
                                                                                                                  • 0
                                                                                                                    Похоже, вы не прочитали статью, на которую ссылаетесь :-). Там написано и почему фреймворк оказался ни при чем, и почему масштабируемость добавлением фронтендов может не работать.
                                                                                                                    • 0
                                                                                                                      Во-первых факт остается фактом. Джанго-приложение Яндекса, написанное далеко не плохой командой программистов, упало. Думаю для менеджеров Яндекса этот факт тоже многое значит.

                                                                                                                      Во-вторых, цитирую себя "при условии, что БД нормально организована". Но то что подвела организация работы с БД никак не отрицает факк приведенный в пункте один :)

                                                                                                                      p.s. я ничего не имею против питона и джанго, я даже в курсе, что eve-online написана на питоне, да.
                                                                                                                      • 0
                                                                                                                        > Во-первых факт остается фактом. Джанго-приложение Яндекса, написанное далеко не плохой командой программистов, упало

                                                                                                                        В таком виде это не факт, а подтасовка фактов. Вы выставляете Джанго как основную точку сбоя в истории, хотя он таковой не является. С тем же успехом можно заменить слово "Джанго" на "Линукс", "MySQL" или, не знаю, "юникод". Благо, менеджеры в Яндексе не делают таких скоропалительных выводов, а предпочитают дать нам время подправить систему.

                                                                                                                        > Во-вторых, цитирую себя "при условии, что БД нормально организована".

                                                                                                                        А это тавтология. Поскольку вы не конкретизируете понятие "нормально", это утверждение примерно такое: "при условии, что что-то нормально организовано, оно нормально работает". Да, правильно. Но не несет никакого смысла.
                                                                                                                        • 0
                                                                                                                          кто обвиняет в чем то Джанго? никто. но еще раз повторю факт. у Яндекса упало Джанго приложение. упало из-за неправильной организации работы с БД. этими двумя предложениями описывается вся суть произошедшей проблемы. то, что в них фигурирует слово "Джанго" положительно на карму этого фреймворка не скажется, даже если виноваты программисты. законы рынка, психологии и все такое...

                                                                                                                          "вы не конкретизируете понятие "нормально""
                                                                                                                          конкретизируя это понятие были написаны не один десяток статей, я должен был раскрыть их суть в паре предложений?

                                                                                                                          и еще раз повторю, я не имею ничего против питона и джанго. просто самая крупная интернет-компания России решила попробовать использовать Джанго и процессе запуска сервис упал. мне кажется, что это довольно значимое событие для сообщества джанговцев России. на своем мнении акцента я не делал и упомянул этот факт наполовину в шутку.
                                                                                                                  • 0
                                                                                                                    буду закругляться, а то над нами будут смеяться джависты со своей груви (например) или питонисты с диджангой (что они вообще-то и делают, держа рельсистов за "пионэров" и "братьев меньших")...


                                                                                                                    С чего бы это? Особенно с учетом того, что Django появился на 1 год позже RoR, а Grails (фреимворк - Вы видимо его имели ввиду – а не Groovy – который язык программирования на платформе Java) –вообще на 2 года позже, и расшифровывается его название как «Groovy On Rails»

                                                                                                                    Считать себя можно хоть императором вселенной – но то, что RoR - старший в новом семействе фреймворков – это факт.
                                                                                                                    • 0
                                                                                                                      какая разница кто когда появился? :) я какбе предупреждаю начало новой холи-вор... или вы считает ror круче Django? :)

                                                                                                                      да, конечно же я ошибся с груви, голова моя дырявая.... ну любой из этих например https://equinox.dev.java.net/framework-c… (выбрать по-вкусу)
                                                                                                                      • 0

                                                                                                                        какая разница кто когда появился? :) я какбе предупреждаю начало новой холи-вор... или вы считает ror круче Django? :)



                                                                                                                        Вы написали это


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



                                                                                                                        не понятно на чем основываясь. Это так Вы пытаетесь предупредить «новый холивор»?
                                                                                                                    • 0
                                                                                                                      про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...



                                                                                                                      Знаете – Вы конечно не обижайтесь – но Вам лучше не говорить о тех вещах, в которых Вы разбираетесь недостаточно хорошо.
                                                                                                                      1) Точно так же как существуют mod_php и PHP+FastCGI, существуют и mod_ruby и Ruby+FastCGI. Причем Apache+FastCGI+Ruby достаточно часть применяется для развертывания RoR приложений.
                                                                                                                      2) По фразе «приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом » сразу становиться понятно что Вы даже не догадываетесь как именно работает допустим связка Apache + mod_proxy_balancer +Mongrel +RoR, и почему вообще Mongrel-ов запускается несколько. Вам наверное стоило бы изучить этот вопрос – перед тем как делать какие то громкие заявления.
                                                                                                                      • 0
                                                                                                                        вы конечно тоже не обижайтесь, но я прекрасно знаю как работает Apache + mod_proxy_balancer +Mongrel, и даже знаю как работает nginx+ ngx_http_upstream + ngx_http_proxy_module + Mongrel. и я даже отдаю себе отчет в том, зачем этих mongrelов запускается целая куча. и мне кажется я чётко описал (правда можеть быть несколько сумбурно) это выше.

                                                                                                                        более того рекомендую всем к прочтению регулярно обновляюемую статью http://blog.kovyrin.net/2006/08/28/ruby-… . она особенно будет полезна preprocessorу, чтобы немного развеять миф о "космическом взлете производительности" при добавлении новых беков.
                                                                                                                        может быть она будет полезна и вам, как источник альтернативных "балансеров". кстати, отметьте для себя "конфигурацию связки" лидера тестирования.

                                                                                                                        еще я знаю что Apache+FastCGI+Ruby достаточно для запуска ror приложений, т.к. именно такими и были мои первые попытки "это" запустить где-то больше года назад.

                                                                                                                        и что значит "громкое заявление"? утверждение что Mongrel - тормоз, для вас большая новость?

                                                                                                                        ps. да нравится мне ror, просто непонятны наезды на php
                                                                                                                        • 0
                                                                                                                          Ой, в статье говорят, что fastcgi быстрее монгрела. ужас. а вот мне все равно плевать. Просто потому что монгрелы это УДОБНО. Это неприемлемо для shared хостингов, но с ценой 20 баксов за 256 мегабайт хорошего VPS и 200 баксов за аренду сервака, мне становится совсем неинтересно слушать про shared хостинг. вы наверное тоже знаете, что надо писать типа echo 'Hello World!', а не echo "Hello World!", потому что одинарные ковычки обрабатываются в два раза быстрее? так вот — это все хуйня.

                                                                                                                          "утверждение что Mongrel - тормоз, для вас большая новость?"

                                                                                                                          я не считаю себя гуру. поэтому привык доверять гуру. то что уже упомянутый мною твиттер прекрасно чувствует себя на монгрелах лично меня заставляет думать, что монгрелов для ЛЮБЫХ моих проектов будет выше крыше. Почему то мне кажется, что и для ваших тоже.

                                                                                                                          "непонятны наезды на php"
                                                                                                                          Цитирую с чего мой наезд начался: "Главная проблема PHP в том, что в нем ни осталось хороших программистов". Я показал вам прекрасные тузлы на руби, привел пример прекрасного разработчика _why, который в одиночку умудряется создавать гениальные программы просто в свободное время. где все это в PHP? что есть интересного в PECL?

                                                                                                                          и в защиту jrails. может вы мне покажете хоть один фреймворк на PHP, где поддержку scriptaculos можно одной строчкой полностью заменить на jquery? или что-то подобное, т.к. ничего подобного RJS в PHP я еще не видел, так что и поддержки то scriptaculos то еще нет толковой, так что нечего заменять jquery. jRails прекрасно справляется со своей задачей, невозможной в мире PHP-фрейморков. поэтому я и привел его как пример хорошей тузлы для программиста.
                                                                                                                          • 0

                                                                                                                            вы конечно тоже не обижайтесь, но я прекрасно знаю как работает Apache + mod_proxy_balancer +Mongrel, и даже знаю как работает nginx+ ngx_http_upstream + ngx_http_proxy_module + Mongrel. и я даже отдаю себе отчет в том, зачем этих mongrelов запускается целая куча. и мне кажется я чётко описал (правда можеть быть несколько сумбурно) это выше.


                                                                                                                            еще я знаю что Apache+FastCGI+Ruby достаточно для запуска ror приложений, т.к. именно такими и были мои первые попытки "это" запустить где-то больше года назад.

                                                                                                                            Не похоже что Вы это знаете – иначе Вы бы не написали

                                                                                                                            про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...
                                                                                                                            поверьте, если бы не было выбора, то пхпешники тоже сидели как ненормальные на каком-нибудь nanoweb (который работает ничуть не хуже того же mongrel). Интересно было бы их даже сравнить в производительности.

                                                                                                                            - оказывается выбора нет и FastCGI+Ruby не существует, балансировщик нагрузки Apache/nginx оказывается «ускоряет» Mongrel, а сам Mongrel требует, что бы его запускали «штук 10... а то ж оно совсем сдохнет...»
                                                                                                                            Из этих заявлений можно сделать только два вывода: либо Вы просто не знаете как работает схема балансировщик нагрузки+Mongrel+RoR, любо Вы сознательно распространяете дезинформацию.

                                                                                                                            более того рекомендую всем к прочтению регулярно обновляюемую статью http://blog.kovyrin.net/2006/08/28/ruby-… . она особенно будет полезна preprocessorу, чтобы немного развеять миф о "космическом взлете производительности" при добавлении новых беков.
                                                                                                                            может быть она будет полезна и вам, как источник альтернативных "балансеров". кстати, отметьте для себя "конфигурацию связки" лидера тестирования.

                                                                                                                            Когда статья уважаемого Алексея Ковырина вдруг стала «регулярно обновляемой»? Ей полтора года, в ней рассматривается Rails 1.1.6 – тогда как уже давно вышла версия 2.0.2

                                                                                                                            и что значит "громкое заявление"? утверждение что Mongrel - тормоз, для вас большая новость?

                                                                                                                            Да новость. На основании чего сделано данное заявление?

                                                                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.