За последние 24 часа нас посетили 22240 программистов и 1062 робота. Сейчас ищут 626 программистов ...

Руби. Уходить или остаться?

Тема в разделе "Прочие вопросы по PHP", создана пользователем alexey_baranov, 21 авг 2009.

  1. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Ну асп сразу отпадает. я с него ушел на пых не так давно. Мне не нравится, потому что нацелена исключительно на продукты мелкософта, на спецификации мелкософта, на интересы мелкософта. То есть интеграция опять страдает. Мне такое не нравится. Это сейчас не в духе времени. Ну и спектр ее резвертывания уже, потому что ось только виндовая и все за бабки.

    Они гугл не поддерживают и не будут поддерживать, потому что гугл - это основной конкурент Yahoo и в поиске и в сервисах. Теперь еще и в браузерах. Они не дружат с оракл за субд и яву. Ява вообще ненавидят. Ни с кем не дружат. Я боюсь, что все будут двигаться вперед, а нетовцы только материться, потому что у них ничего кроме ВинСервер+МССервер+АД+Иксчендж не работает.

    При всем при этом им будут 24 часа в сутки промывать мозги, что им всем крупно везет, они избранные, они используют самые современные технологии, и за это должны быть благодарны мелкософту и прощать его. Я пока на шарпе сидел, так и думал. И про язык и про веб-сервер и про ИДЕ. К примеру, они говорят, мы делаем амайзиг вещь- с дот.ком можно писать приложения, которые будет одинаково выполняться на любой платформе одинаково. Вы не поверете, вплоть до мобильника! Да! Подождите всего 100 лет. Это того стоит. Скоро наступит рай на земле. Наш язык такой класный, что компилется в промежуточный код, который будет исполняется в привязанной к оси и железу среде. Для винды она уже готова. Подождите еще всего 100лет. Это того стоит! Мы делаем амайзинг! Будьте с нами! В этот момент, как вы понимаете, явы как бы не существует вообще. Я в тот момент слышал название, но не знал, что это такое. Тоже самое и про делегаты, и про объектность, и про мета-теги для документирования, и про неймспейсы, и про рефлекшн, и про деплоймент, и про СВН и про все остальное. И никогда ни слова, что это уже сто лет, как используется в др. языках и средах. Что то, что у них еще в бетах, другие уже давно юзают. Все аспешники так прозомбированы. А потом, когда ушел на пхп, выпал из под этого пресса и чуть не акуел, в какой жопе оказывается сидел.

    По привычке на студии для пхп еще какое то время сидел. Потом ушел на нетбинс и еще больше акуел. Потом узнал про яву, про питон, про руби и тогда уже вообще акуел. Что то обратно не тянет.
     
  2. kostyl

    kostyl Guest

    alexey_baranov
    Дааа, ты теперь почти полностью акуевший!!! ))
    (ps: и отбиваешь у меня желание познавать c#)
     
  3. phpbidlo

    phpbidlo Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    49
    Симпатии:
    0
    Если уж говорить об альтернативах - мне как пэхэпэ-программисту больше импонирует JavaScript - как язык наиболее популярный и близкий к PHP, есть реализации и под .NET/Mono и под Java (Rhino), отcюда и плюшки с интеграцией этих платформ.
    Еще для пхп есть реализация под Java (Quercus), так что несобираюсь переходить ни на какой руби, cлишком уж он японский и ортодоксальный.
     
  4. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    у пхп тоже есть минусы. Ща разбираюсь с phpbb, ниибацо, третьим и мне хочется блевать. мудаки! так просто нельзя писать!
    *плачу
     
  5. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    сначала добейся))
     
  6. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Frozen
    Вот нашли на чём пример блин привести :D Вы бы ещё PHPNuke взяли :D

    Хотите хороший код на PHP? CodeIgniter, Kohana, Yii, Zend Framework
     
  7. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    У кого-нибудь здесь есть нетбинс с руби?

    напишите код в руби. вот просто без всяких установок и доп. настроек создайте консольное приложение и напишите в файлике вот это.

    Код (Text):
    1. require 'java'
    2.  
    3. # With the 'require' above, we can now refer to things that are part of the
    4. # standard Java platform via their full paths.
    5. frame = javax.swing.JFrame.new("Window") # Creating a Java JFrame
    6. label = javax.swing.JLabel.new("Hello")
    7.  
    8. # We can transparently call Java methods on Java objects, just as if they were defined in Ruby.
    9. frame.getContentPane.add(label)  # Invoking the Java method 'getContentPane'.
    10. frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
    11. frame.pack
    12. frame.setVisible(true)
    У кого руби нет, стоит его доставить, хотя бы просто чтобы увидеть, как это выполнится.
    Насколько прозрачно использование даже графических явовских библиотек. Просто паразительно. и главное ничего не надо донастраивать. Просто пиши на ява-классах прям где-нибудь в середине рубивского кода и все.
     
  8. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Вот тебе и веб-сервисы. вот тебе и опен док. вот тебе и лдап. вот тебе и все что только захочешь.
     
  9. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Рэйлс кстати тоже для JRuby пишут. Так что можно будет писать сайт и использовать эти фокусы внутри сайта.
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    alexey_baranov
    Всё это конечно можно, но требования к серверу получаются выше, если это хостинг - то намного выше. А php очень легкий. Поэтому он будет еще долго использоваться для сайтов на sahred хостинге, а таких сайтов - большинство. Да, постепенно развиваются 2.0, но все больше человек хотят под свой блог отдельный сайт, все больеш становистя сайтов-визиток малых фирм и т.д. и т.п. которым надо недорого и просто. Да и крупных проектов на PHP хватает.
     
  11. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    [vs]
    да, наверное, так и будет. а я кстати уже с руби передумал.

    моя интуиция мне говорит, что руби устарел, не успев толком родиться. его похоронит groovy. Это тот же рубипитон, только для работы с ява классами ИЗНАЧАЛЬНО. это всем манда пришла! потенциал у него колоссальный.

    кстати уже есть groovy rails сами понимаете для чего, который был написан под впечатлением от обычного рэйлс. Груви тоже поддерживается нетбинсом. И уже поддерживается некоторым софтом и тулсами. Конечно, ява- это вам не руби какой-то!

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

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

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

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Если говорить уж о Java, то у PHP тоже есть Java bridge и можно напрямую работать с Java библиотеками. Причём в Zend Studio даже auto-complete сделан для этого дела.
     
  14. phpbidlo

    phpbidlo Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    49
    Симпатии:
    0
    это проблема не php, а проблема авторов phpbb
     
  15. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Psih
    PHP:
    1. <?php
    2. use java\lang\String as JString;
    3. use java\lang\ArrayList as JList;
    4.  
    5. class String extends JString {
    6.   function toString () {
    7.     return "hello " . parent::toString();
    8.   }
    9. }
    10. $str = new String("Java");
    11.  
    12. $list = new JList();
    13. $list->add (java_closure($str));
    14. $list->add ("from PHP");
    15. $ar = java_values ($list->toArray());
    16.  
    17. var_dump($ar);
    18. ?>
    19.  
    20. =>array ["hello Java", "from PHP"]
    Не знал такого про пхп. Раньше бы впечатлило. Это очень большой плюс. Жаль только, что это не официальная линия. И еще жаль, что не попробовал ни разу зенд студию. похоже она все-таки не зря стоит денег.
     
  16. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Кстати сходу, как в руби, примерчик не заработал. Наверное нужны всякие установки и настройки. Ну и опять же, зная пых, можно предположить, что будет изучение чужих багов и способов их обойти.
     
  17. Официальней некуда, в Zend Server по умолчанию ставится.
     
  18. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    презентация про некоторые фишки Груви. флопик, сравни ее пожалуйста с рубивскими. кто сильнее?
    http://onestepback.org/articles/groovy/

    некоторые штучки оттуда, которые меня больше всего поразили:
    это например код бэнчмарка
    Код (Text):
    1.  
    2. benchmark = { closure |
    3.   start = System.currentTimeMillis()
    4.   closure.call()
    5.   now = System.currentTimeMillis()
    6.   now - start
    7. }
    8.  
    9. delta = benchmark { Thread.sleep(10000) }
    10. println "The command executed in ${delta} milliseconds"
    а это итераторы. очень удобно
    Код (Text):
    1.     * list.each { println it}
    2.           o Iterate over each element of a collection.
    3.     * list.collect { it * it }
    4.           o Collect a set of values for a new list
    5.     * list.findAll { it > 50000 }
    6.           o Select a subset of a list that passes a certain criteria.
    7.     * list.find { it == 50000 }
    8.           o Return the first element that passes a certain criteria.
    9.     * list.every { (it % 2) == 0 }
    10.           o Return true if every member of a list passes a criteria
    11.     * list.any { (it % 2) == 0 }
    12.           o Return true if any member of a list passes a criteria
    а это стандартный класс xml-генератора, в этом примере он по названию метода создает элемент xml
    Код (Text):
    1. import groovy.xml.*
    2.  
    3. builder = new MarkupBuilder()
    4.  
    5. names = ["Dave", "Rob"]
    6. emails = [
    7.     "jim@weirichhouse.org",
    8.     "jweirich@one.net",
    9.     "jimweirich@yahoo.com"
    10. ]
    11. builder.person() {
    12.     name() {
    13.         first("Jim")
    14.     middle("Nolan")
    15.     last("Weirich")
    16.     }
    17.     for (e in emails) { email(e) }
    18.     siblings() {
    19.         for (x in names) { name(x) }
    20.     }
    21. }
    получается вот что
    Код (Text):
    1. <person>
    2.   <name>
    3.     <first>Jim&lt;/first>
    4.     <middle>Nolan&lt;/middle>
    5.     <last>Weirich&lt;/last>
    6.   </name>
    7.   <email>jim@weirichhouse.org&lt;/email>
    8.   <email>jweirich@one.net&lt;/email>
    9.   <email>jimweirich@yahoo.com&lt;/email>
    10.   <siblings>
    11.     <name>Dave&lt;/name>
    12.     <name>Rob&lt;/name>
    13.   </siblings>
    14. </person>
    ну и конечно про скорость тест одного и того же кода:
    Код (Text):
    1. Java:   0.39000002 MicroSeconds per call
    2. Ruby:   99.5389 MicroSeconds per call
    3. Groovy: 919.0 MicroSeconds per call
     
  19. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут