LINUX.ORG.RU

Релиз Ruby 2.1

 


5

9

Прекрасный новогодний подарок преподнес Matz всем любителям и профессионалам программирования на языке Ruby — релиз Ruby 2.1. В целом новый выпуск языка и среды исполнения написанного на нем кода продолжает эволюционное развитие Ruby и практически не вносит кардинальных или ломающих изменений. Кроме того, что стандартный интерпретатор стал работать быстрее, заявлены следующие отличительные особенности Ruby 2.1:

  • Кэширование названий методов. Теперь когда интерпретатор встречает название какого-то метода объекта, он производит поиск этого метода, после чего сохраняет указатель на него в байткоде. Если у вас есть код, в котором для объектов одного и того же типа часто вызывается один и тот же метод, работа этого участка программы будет ускорена. Для проверки корректности сохраненного значения в кэше MRI использует внутренние счетчики потенциально опасных в плане инвалидации кэшированного метода действий.
  • Поддержка профайлинга кода на уровне MRI. Вы можете измерять производительность вашего кода и отслеживать работу сборщика мусора (благодаря подписке на события запуска/останова сборщика мусора и создания/удаления объектов).
  • Обновленный сборщик мусора RGenGC (с поколениями). Более подробно с ним можно ознакомиться в захватывающей презентации [pdf] с RubyConf.
  • Добавлены суффиксы i и r для записи комплексных чисел.
  • Определение функции (def) теперь возвращает символ ее названия вместо nil.
  • Работа над неоднозначностью объявления refinements, то есть расширения модуля или класса в пределах одного локального файла. Подробнее [pdf].
  • Наконец-то Array#to_h — создание хэша из массива.
  • Сокращение записи «замороженных» строк (str = «mystring"f).
  • Для ускорения операций над очень большими числами используется GMP (The GNU Multiple Precision Arithmetic Library).
  • Обновлены стандартные библиотеки BigDecimal, JSON, NKF, Rake, RubyGems и RDoc.
  • Удалена поддержка из коробки curses (гем curses теперь при необходимости надо установить отдельно).
  • А также многое другое! Подробный список изменений прилагается.

Релиз явно удался на славу и его обязательно стоит попробовать. Исходные коды уже доступны на официальном сайте проекта.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: ymn (всего исправлений: 1)

Ответ на: Встать... от anonymous

То, что Eve Online на серверной стороне Stackless используют - верю и знаю.

Если они запилили Python на клиенте с 3D и плюшками - они опустились в моих глазах. Я думаю, это не показатель ума, а показатель идиотизма, отдельно взятых людей. Мои слова «про апплодировать стоя» были сарказмом если что.

Также прекрасно знаю про Panda Engine, но также считаю идиотизмом, будь то хоть десять раз оберткой над C++ ядром.

В любом случае, на Ruby также можно писать с использованием 3D - только идиотов не находится делать таких монстров, ибо есть нативные инструменты.

Исключением наверное является только RubyMotion, но простите - он в нативный код собирается, и сам по себе, больше обертка вокруг Objective C, чем Ruby.

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

SciPy и собраться появились вовсе не потому что в научных центрах сидят идиоты, а из-за особенностей цикла исследования и разработки.

Пока ты сидишь мучаешь алгоритм, ты должен проверить - работает ли он вообще. И только если он работает, то пытаешься выжать что-то практичное из него по скорости. Учитывая, что научные вычисления довольно объемны, и делать на чистом питоне их самоубийство - появились SciPy, где и стали затычкой к бочке.

В том же месте, где используют SciPy прекрасно используется Lisp, или J, или еще что - у всех как говорится, свои вкусы.

Как бы, говорю не от балды, а из наблюдений за вполне живыми людьми. Три человека, которые готовили диссеры: один пожизненный дельфист, второй Emacs Lisp + J (когда что-то большое и матричное), третий Python -> C++. И нормально жили.

anonymous
()
Ответ на: комментарий от special-k

а тебе зачем

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

Если скорость руби вырастет еще в пару-тройку раз - ява будет ненужна совсем.

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

Никогда не понимал зачем нужны навороченные IDE для скриптовых языков. Че там дебажить?

Как только скриптовый язык начинают использовать для проектов сложнее чем «HelloWorld», то дебажить есть что. Например, когда язык делают встроенной скриптовой основой какого-нибудь приложения(игры, игровые движки, кастомизируемые сервисные автоматы). Как только в язык добавляют модули нативного доступа к средствам платформы. Дебажить надо всё, даже HelloWorld-ы!

FeyFre ★★★★
()
Ответ на: комментарий от special-k

не имени.. ничего.. - ок

уж всяко нормальней, чем кукарекать о всемогуществе рубей, не имея на гитхабе ни одного репозитория >= 1kLOC

anonymous
()
Ответ на: комментарий от special-k

Это js

Не совсем, часть багов таки пофиксили. Например:

livescript> 2 == '2'
WARNING: strict comparison of two different types will always be false: 2 == '2'
false
true_admin ★★★★★
()
Ответ на: комментарий от anonymous

С версии 2.0.0 можно просто писать --no-document.

ins3y3d ★★★★★
() автор топика
Ответ на: комментарий от Debasher

Косяк потому что приводит к тупым ошибкам. Какой смысл в сравнении числа со строкой? Сравнили палец с ... .

true_admin ★★★★★
()
Ответ на: комментарий от special-k

он не развивается, а топчется на месте. Постоянное переписывание методов от версии к версии, и релиз «потому что рождество/новый год и надо выпустить» - за развитие не считается. Развитие - python.

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

Чувак, у большинства гораздо более популярных языков нет страницы success stories, но от этого, они менее популярными не становятся. На руби софт пишут, а не письками на сайте меряются.

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

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

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

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

На руби софт пишут, а не письками на сайте меряются

два с половиной хипстера, которые переписывают с каждой новой минорной версией заново.

2013 год, 1.9.3, а «привет».upcase не работает :D

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

Не отдавай ничему годы кроме самого себя, и жалеть не будешь. Теперь значит отдаёшь годы руби? И как? Рад этому? :D

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

есть fay?

Я о нём не знал. Но хаскель для меня слишком хардкорно.

true_admin ★★★★★
()
Ответ на: комментарий от special-k

Поверьте, в западных странах большинство праздников имеют вполне светский характер. Да и население там(в отличии от СНГ) не очень религиозное. ВЫ наверно запад с СНГ местами путаете:)

lucentcode ★★★★★
()
Ответ на: комментарий от annulen

Я в курсе. На Японию сильно повлияло наличие в стране 1 миллиона католиков, и оккупация американскими военными(которые до сих пор держать свою колонию под прицелом). Хотя, может новый релиз на 25-е - всего лишь случайность. Это один Matz знает.

lucentcode ★★★★★
()
Ответ на: комментарий от unborn

А разве перечисленные Вами страны относятся к цивилизованным? Россия и Китай, возможно, можно к таковым причислить. Но муслимы и африканцы - это вы хорошо пошутили:)

lucentcode ★★★★★
()
Ответ на: комментарий от anonymous

Ну да, а то что народу навязали ещё худшее мракобесие(коммунизм) со своими кумирами(Ленин, Сталин, Маркс) - это нормально? Мне кажется, что получилось только хуже.

lucentcode ★★★★★
()
Ответ на: комментарий от anonymous

Не знаю, как оно было, так как в православии и его традициях не силён(вообще не сталкивался с данной религией, и ничего о ней не знаю).

lucentcode ★★★★★
()
Ответ на: комментарий от anonymous

Попробовал 1.8, 1.9 и 2.0 - наверное какой-то gem нужно доставлять. И выглядит немного неожиданно.

AlexKiriukha ★★★★
()
Ответ на: комментарий от anonymous

SciPy и собраться появились вовсе не потому что в научных центрах сидят идиоты, а из-за особенностей цикла исследования и разработки.

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

Учитывая, что научные вычисления довольно объемны, и делать на чистом питоне их самоубийство - появились SciPy

Кажется, ты запутался в паутине своей лжи. Вопрос не в том, почему SciPy появился именно в таком виде в каком он появился, а почему появился для py и не появился для ruby или даже для перла.

В том же месте, где используют SciPy прекрасно используется Lisp, или J, или еще что - у всех как говорится, свои вкусы.

Речь не о вкусах, а о «подсчёте» вкусов. Это всё минорщина, в числах. Рабочие лошадки простые языки и часто даже совсем убогие, вроде octave.

Как бы, говорю не от балды, а из наблюдений за вполне живыми людьми.

Даже не знаю можно ли верить твоим запискам наблюдателя. Например, про полулярность ruby пишешь (не промахнулся анонимусом?) совершенно не соотвествующие действительности факты. Оценки востребованности и практичности ЯП тоже какие-то «странные», через плоскость восприятия социальной составляющей. И в добавок не любишь числа. Нельзя так «наблюдать».

mashina ★★★★★
()
Ответ на: комментарий от anonymous

... не так немного.

на серверной стороне Stackless используют

Не знаю, знаю только что СУБД там MS SQL. По крайней мере, официальные дампы в нём. Есть ещё конвертации в MySQL/SQLite. На чём основной код «сервера» без понятия.

они запилили Python на клиенте с 3D и плюшками - они опустились в моих глазах. Я думаю, это не показатель ума, а показатель идиотизма, отдельно взятых людей. Мои слова «про апплодировать стоя» были сарказмом если что.

Ну, тогда они и не поднимались в Ваших глазах. =))) И судя по утечке кода (году, этак, в 2008) и по «декомпилированным» *.pyc, там в клиенте пистон на всю голову. Ну и вот -> http://www.slideshare.net/Arbow/stackless-python-in-eve

Сарказм не сарказм, а ССР удалось создать весьма скромными средствами очень... «атмосферный» sandbox. Другое дело что его сейчас оказуаливают (теми же скромными средствами). Но это уже другое дело.

только идиотов не находится делать таких монстров, ибо есть нативные инструменты.

Тссс... Здесь где-то special-k бродит. Он сейчас будет долго и нудно рассказывать про «цену труда программистов по отношению к стоимости железа». Не говорите про нативные инструменты громко... =)))

Хотя, клиент, по идее, и не должен быть особо монструозным. Здесь, скорее, вопрос в скорости (обмена по сети и отрисовки). Но тут С... дааа... тут С. =)))

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

Про клиент сомнения - как раз по поводу графики. А про Stackless, неоднократно обмусоливали, когда в EVE было глобальное столкновение, и была шумиха, мол как круто все это вот они выдержали.

special-k может и пишет на Ruby, но я не хочу иметь ничего общего с такими фанатиками.

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

Ну ясен пень, что SciPy появился для Python, так как тогда была волна популярности именно Python (несмотря на то, что Ruby с Python почти ровесники, все таки за пределы Японии он вышел сильно позже).

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

На тот момент, кроме питона тупо не было, ниша была пуста. Для Ruby тоже создавался SciPy, но зачем два инструмента подобного рода для весьма узкой ниши?

С другой стороны, даже несмотря на популярность Python, Apple выбрала Ruby, для реализации скриптового языка вокруг рантайма Objective C.

Я пишу про популярность действительные и существующие факты. Оба языка имеют приблизительно сопоставимую востребованность, которая размазана по разным нишам. И оба языка, занимают далеко не большие доли рынка.

А мы просто сейчас пытаемся друг друга переспорить, на чьем суку сидеть лучше. Занятие довольно глупое, и выставляет нас обоих, как людей не далеких. Так что пора это сворачивать.

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

И что с того, что ты не осилил прочитать лучший ответ.

  • Performance
  • Threads/Fibers
  • Encoding/Unicode
  • gems is (mostly) built-in now
  • if statements do not introduce scope in Ruby.

Постоянное переписывание методов от версии к версии

Еще раз, каких еще методов, ты вообще о чем..

Развитие - python.

Питон многого не умеет из того, что умеет руби, обладает более слабыми инструментами и сервисами, им можно пользоваться, но я не понимаю зачем.

special-k ★★★
()
Ответ на: комментарий от anonymous

уж всяко нормальней

Да нормальный ты, нормальный:)

special-k ★★★
()
Ответ на: комментарий от anonymous

ССР удалось создать весьма скромными средствами очень...

Но ведь они все сделали неправильно не так ли, почему же все вышло.. если они смогли потянуть такой проект на динамическом языке, о боже! неужели.. неужели иногда «производительные» нативные языки больше не нужны, неужели код на них сплошное нечитаемо говно полное утечек и костылей, неужели не нужно заново переписывать архитектуру каждый раз «чтобы потом уже не переписывать».. неужели!)

special-k ★★★
()
Ответ на: комментарий от special-k

Вы были когда-либо в США? Или хотя-бы с американцами общаетесь? Это расхожее выражение, которое используется часто не по делу.

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

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

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от umren

США - исключение, но это светское государство, где каждый имеет возможность свободно верить(или не верить) во что угодно. Это великая страна, где свобода совести была(и остаётся) краеугольным камнем их независимости и конституции. Когда атеистов и представителей религиозных меньшинств притесняли по всей «просвещённой Европе» - только в США они могли получить возможность жить по совести. Так что не надо говорить про США. У США немало косяков, но свободу совести там почитают.

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