Спустя год после анонса экспериментальной версии Ruby 1.9.0, разработчики выпустили (http://www.ruby-lang.org/en/news/2009/01/30/ruby-1-9-1-relea... первый стабильный релиз - Ruby 1.9.1 (http://www.ruby-lang.org/).
Основные новшества (http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS):
- Значительно увеличена производительность и уменьшено потребление памяти. В некоторых тестах Ruby 1.9.1, использующий для интерпретации опкода новую виртуальную машину YARV (http://en.wikipedia.org/wiki/YARV) (Yet another Ruby VM), оказался почти в 5 раз быстрее Ruby 1.8.- Полноценная реализация многопоточности, использующая средства операционной системы (ранее присутствовала реализация "green threads (http://en.wikipedia.org/wiki/Green_threads)", через эмуляцию нитей (threads) интерпретатором);
- Полная поддержка многобайтовых кодировок (Unicode);
- Значительные изменения в синтаксисе языка. Ветка Ruby 1.9 не является 100% совместимой с более ранними версиями, в языке появ...URL: http://www.ruby-lang.org/en/news/2009/01/30/ruby-1-9-1-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=20047
Наконец-то! Посмотрим.
Ну это просто праздник какой то, сейчас буду запускать на нем Rails 2.2.2
А результаты сюда потом можно будет? :)
>А результаты сюда потом можно будет? :)Да, хорошо бы. Особенно относительно вопросов совместимости версий.
Значительные изменения в синтаксисе языка. Ветка Ruby 1.9 не является 100% совместимой с более ранними версиями, в языке появилось много новых конструкций и изменений логики работы существующих элементов.Читаем внимательно новость. Да и по ссылке сходить не мешало бы. Там всё написано про совместимость.
>Значительные изменения в синтаксисе языка. Ветка Ruby 1.9 не является 100% совместимой с более ранними версиями, в языке появилось много новых конструкций и изменений логики работы существующих элементов.
>
>Читаем внимательно новость. Да и по ссылке сходить не мешало бы. Там всё написано про совместимость.Это всем, кто в курсе, давно известно и без этой новости.
Вопрос был относительно результатов перехода, а не вообще, что нового в Ruby.
Новость бесспорно хорошая. Я уже некоторое время обкатываю для себя 1.9.1.
Рельсы броде бы давно уже запускаються.Правда в продакшн пока не спешу - там место пока 1.8.6
А кто-нить рекомендации делал поводу приемов программирования для обеспечения перевода кодовой базы с 1.8 на 1.9?
>Ветка Ruby 1.9 не является 100% совместимой с более ранними версиямиОх сколько было вони про Python 3 (aka Python 3000), когда было объявлено о том, что у него не будет 100% совместимости с веткой 2.x. А тут при переходе 1.8 -> 1.9 все ломают и народ не парится...
>Ох сколько было вони про Python 3 (aka Python 3000), когда было объявлено о том, что у него не будет 100% совместимости с веткой 2.x. А тут при переходе 1.8 -> 1.9 все ломают и народ не парится...Потому что народ уже понял. Если есть возможность улучшить язык ценой потери обратной совместимости - лучше улучшить язык. Иначе наложение заплат сильно коверкает ядро и API.
История Python 2.x - как раз тому печальное подтверждение.
Вообще, вытягивать обратную совместимость любой ценой - это подход достойный проприетарного ПО.
>>Ветка Ruby 1.9 не является 100% совместимой с более ранними версиями
>
>Ох сколько было вони про Python 3 (aka Python 3000), когда было объявлено о том, что у него не будет 100% совместимости с веткой 2.x. А тут при переходе 1.8 -> 1.9 все ломают и народ не парится...Дык... Кодовую базу можно перевести на 1.9 без особых напрягов. Сообщество Ruby достаточно активно. Ключевые продукты быстро переведут на новую платформу. Например, тот же RoR уже без проблем работает на 1.9.
А с Python так просто не получится. В том же Debian'е Pyth 2.x находится в зависимостях чуть ли не каждого пятого пакета в репозитории. Core Team не может зарелизить lenny из-за того, что некоторые майнтейнеры перестали нормально поддерживать ряд важных пакетов. А что говорить о переходе на 3-ий Python? На него будут переползать лет 5 наверное, не меньше. А такое вряд ли кому понравится.
Хочешь - не хочешь, а разработчикам Python'а придется долго поддерживать обе ветки. Редкое удовольствие...
>Хочешь - не хочешь, а разработчикам Python'а придется долго поддерживать обе ветки.
>Редкое удовольствие...Поддерживать несколько веток как раз несложно.
Каждая ветка как раз обычно и поддерживается в основном силами тех, кому она нужна.
А пот попытка угодить всем и сливать все в одну ветку - вот это гораздо хуже. В этом случае проект нужно разбивать на независимы части. В любом случае при разрастании - либо несколько веток, либо независимые части.Разработчики Python это видимо наконец поняли.
До этого, помнится, обратная совместимость Python рекламировалась как одно из главных его достоинств.
>А с Python так просто не получится.Почему же не получится? Есть отличный автоматический конвертер.
Из ответов на мой пост я сделал вывод, что разница в реакции на схожие события в двух языках вызвана лишь уровнем применения этих языков. Если для Ruby достаточно портировать важнейший фреймворк (RoR) и паника на этом закончится(-лась), то для Python паника и критика будет продолжаться еще долго.