LINUX.ORG.RU

Релиз ruby 2.0.0 preview2

 


1

3

Команда разработчиков замечательного простого и изящного языка программирования ruby объявила о втором обзорном выпуске грядущей версии 2.0 (финальный релиз запланирован на 24 февраля 2013). Основными отличиями от первого обзорного выпуска являются:

  • Ускорена работа require [#7158].
  • Обновлены пакеты: Rake (до 0.9.5, [#7256]), RDoc (до 4.0, [#7426]), RubyGems (до 2.0 [#7427]), minitest (до 4.3.2).
  • Встроена библиотека libyaml [#7375].
  • Реализована поддержка DTrace [ruby-core:27448].
  • Объектам Enumerator добавлен метод #size [#6636].
  • Ускорены операции #shift/#unshift для объектов Array [#6638].
  • Алгоритм хэширования заменен на siphash.
  • Изменения, нарушающие совместимость с предыдущей версией:
    • UTF-8 стала кодировкой скриптов по умолчанию [#6679].
    • Методы #lines, #chars (и подобные) для объектов String возвращают объекты Array [#6670].
    • Изменение ABI: использование любых расширений, собранных для 1.9.x, в версии 2.0 невозможно (требуется пересборка).
    • Удален iconv.

До «заморозки» функциональности (то есть до 23 декабря) будут внесены также многие другие изменения.

Разработчики выражают огромную благодарность тем, кто принял участие в тестировании ruby 2.0.0 preview1 и надеются на вашу поддержку с тестированием ruby 2.0.0 preview2.

Скачать

>>> Подробности

★★★★★

Проверено: true_admin ()
Последнее исправление: JB (всего исправлений: 6)
Ответ на: комментарий от dplut

В общем случае, Ruby медленнее Python 3.

В частном, небольшой демон на EventMachine + EM-Synchrony, запущенный в семь процессов на Core-i7, достающий данные из tarantool, спокойно держит 2500 запросов в секунду и даже не потеет.

Если рассматривать WWW, то Rails будут медленнее, чем Django.

Меня более интересует почему Google и Yandex поддерживают Python/Django а не Ruby on Rails?

Python выглядит mature. И как язык, и как реализация (C-код). Процесс его развития понятен (пусть и не определён). Плюс, он раньше получил известность.

Ruby хипстерский и снаружи, и внутри: что с ним происходит, любопытно, но не понятно, японцы много гутарят на своём, не особо считаясь с остальным миром (по-крайней мере, до не давнего времени; сейчас всё больше обсуждений происходит на английском); исходники на С выглядят как наброски идей: функционал набросали, довели до состояния «работает и не падает», а над тем, как быстро, если и думают, то в самую последнюю очередь.

Самый широко известный пример - require: в 1.9.2 «напилили» новую идею, и рельсы стали запускаться по 20-30 секунд, после тривиального фикса в 7 строчек это время сократилось до 12-17 секунд, когда же нормально алгоритмически были реализована идея, время сократилось до 5-8 секунд. Т.е. изначальная реализация 15-22 секунды делала вообще ничего полезного.

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

Но, кстати, уже есть реальная альтернатива - JRuby. Последняя версия уже значительно опережает MRI по производительности, и становится очень привлекательной. И она гораздо продвинутее полузаброшенного Jython.

Видел на youtube видео где Yandex рассказывает как они используют Python/Django, очень хвалят, говорят тяжелые нагрузки выдерживает и некоторые сервисы у них на этой связке крутятся. Как с этим у Rails?

Twitter достаточно долго рисовал себя посредством Rails, прежде чем свалить на Java/Scala. Поверь, y Yandex нет настолько нагруженных сервисов на Python, насколько был нагружен Twitter, когда он был ещё на Ruby/Rails. Другое дело, что, наверное, серверов под Rails потребуется на 20-50% больше.

По поводу GUI: если брать MRI, то у меня есть сильное подозрение, что конкретные решения реализации сильно мешают сделать качественные привязки к GUI библиотекам. Но это только подозрения. К тому же, часто в интернете проскакивают положительные отзывы о написании GUI приложений на JRuby.

funny_falcon
()
Ответ на: комментарий от funny_falcon

Спасибо за расширенное разъяснение. Решил что нужно сначала попробовать и Python и Ruby. Затем выбрать. Хотелось бы еще конечно посмотреть как с производительностью в грядущем Ruby 2.0

dplut
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.