LINUX.ORG.RU

Ruby 2.0.0 preview1

 


2

6

Анонсирован Ruby 2.0.0 preview1. Были включены новые фишки, которые делают разработку на Ruby ещё приятнее.

Анонсированные фичи:

  • Уточнения (Refinements) [1]
  • Именованные аргументы в методах (сахар над хэшем) [2]
  • Enumerator#lazy [3]
  • Module#prepend [4]
  • #to_h
  • %i, для массивов символов
  • Движок регулярных выражений изменён на Onigmo [5]
  • Поддержка DTrace [6] (не включено)

Пока что ещё не все новые фишки включены в Ruby, это откладывается на следующие анонсы.

Не забываем устанавливать и находить баги, это только сделает Ruby лучше.

Все программы, которые написаны на ruby-1.9 будут работать на ruby 2.0, если в них не будет особой магии.

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

anonymous

Проверено: tazhate ()
Последнее исправление: tazhate (всего исправлений: 2)

Забыл добавить, что следующие анонсы будут

  • В начале декабря 2.0.0-preview2
  • На Рождество будет заморожен код code freeze
  • Около Нового Года первый кандидат на релиз 2.0.0-rc1
  • В начале февраля второй кандидат на релиз 2.0.0-rc2
  • 24 Февраля релиз 2.0.0-p0

Пусть модераторы добавят, поправят.

anonymous
()

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

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 1)
Ответ на: комментарий от Vudod

Конечно не видишь ты просто не образован. Метапрограмминг, dsl, скоупы которые работают, понятное поведение, а не как в питоне, которое меняется с каждым патчем, миксины, ГЦ и джит, в питоне даже ГЦ нету, зачем так жить парни? Ну и где твой питон теперь?

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

ну ты наверное представляешь

Мне не нужно это представлять. Свой формат пакетов есть у каждого второго языка, претендующего на звание «платформы» (как минимум Perl, Python. Haskell); создание виртуальных сред с разными интерпретаторами и набором пакетов есть как минимум в Python. Про аналог bundler, правда, не знаю, но сам bundler выглядит заплатой на специфически поломанные мозги рубистов.

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

Если бы у python бы _аналог_ gem, то, тогда бы эти странички выглядили бы _аналогично_.

http://rubyonrails.org/download
https://docs.djangoproject.com/en/1.4/intro/install/

Однако в первом случае указана _одна_ команда, а во втором - ссылки на три статьи «о трех простых вариантах установки». Что-то мне не верится)

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

специфически поломанные мозги рубистов

Оу сорри, я тут тебе ответил, а ты, похоже, неадекватен..

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

Если бы у python бы _аналог_ gem, то, тогда бы эти странички выглядили бы _аналогично_.

Или не выглядел бы.

Оу сорри, я тут тебе ответил, а ты, похоже, неадекватен..

Если ты считаешь, что развертывание на продакшен-машине слепка среды разработчика - это адекватное решение, то подумай о своей собственной адекватности. Кстати, если в команде несколько человек - на чьей машине делается bundle? %)

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

Про аналог bundler, правда, не знаю
не знаю

а чего тогда говоришь?

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

про гемсеты ты наверное не слышал?

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

Кстати, если в команде несколько человек - на чьей машине делается bundle? %)

Дружище, bundler - автосборщик определеных gem'ов. Для удобства есть возможность создать списов gem'ов - gemlist, а в rvm и rbenv есть возможность сделать gemset (определенная версия ruby + определенные версии gem'ом).

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

В чем смысл фразы «слепок среды разработчика»?

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

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

Метапрограмминг, dsl, скоупы которые работают, понятное поведение, а не как в питоне, которое меняется с каждым патчем, миксины, ГЦ и джит, в питоне даже ГЦ нету, зачем так жить парни? Ну и где твой питон теперь?

Сборщик мусора в Питоне естб и очень неплохой. Питон --- чрезвычайно популярный язык с огромным набором библиотек. Вот я использую numpy, scipy, matplotlib, ffnet, networkx, стандартный multiprocessing, tkinter и ещё много чего. Где всё это для Руби в приличном качестве. Написав программу на чистом Питоне, я могу задействовать pypy и получить скорость выполнения близкую к Фортрану и Паскалю. Такое есть на Руби?

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 1)
Ответ на: комментарий от renya

Торт.

Удваиваю!

удваиваю удвоенное! и пошел читать доки

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

Сборщик мусора в Питоне естб и очень неплохой

пруфы пожалуйста.

очень неплохой.

как оценивал? бенчмарки можно? в руби несколько раз ГЦ поменяли, а в питоне какие-то спиские.

Питон --- чрезвычайно популярный язык с огромным набором библиотек

ну вики я тоже могу цитировать.

numpy, scipy, matplotlib, ffnet, networkx, стандартный multiprocessing, tkinter и ещё много чего.

ну круто, чо ещё сказать. В руби тоже есть такие, можно сделать свои обёртки вокруг сишных, что ты этим хотел сказать?

Написав программу на чистом Питоне, я могу задействовать pypy и получить скорость выполнения близкую к Фортрану и Паскалю

пруф. Также ты не упомянул, об

Метапрограмминг, dsl, скоупы которые работают, понятное поведение, а не как в питоне, которое меняется с каждым патчем, миксины,

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

Чтобы копировать, обычно используется scp, или rsync, знаешь ли.. bundler позволяет установить либы, разрешив зависимости. Заморозить и копировать можно, но кто бы этим занимался, если я абсолютно без гемороя поставлю пакеты на продакшене.

Но это ладно, мне вот интересно, чем плохо иметь на продакшене инструменты разработчика? Прогнать тесты разок дурной тон что ли?

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

numpy, scipy, matplotlib, ffnet, networkx, стандартный multiprocessing, tkinter и ещё много чего.

ну круто, чо ещё сказать. В руби тоже есть такие
numpy, scipy

Смешная шутка.

tailgunner ★★★★★
()

Замечательно.

Все программы, которые написаны на ruby-1.9 будут работать на ruby 2.0, если в них не будет особой магии.

Вот так и надо. Учись, Python

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

Чтобы копировать, обычно используется scp, или rsync, знаешь ли..

Обычно для этого используется просто cp, знаешь ли.

чем плохо иметь на продакшене инструменты разработчика?

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

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

какой же ты глупый.

это говорит об отсуствии дисциплины,

не говорит.

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

их заморозили, они не могут быть разных версий. секёшь?

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

Смешная шутка.

отнюдь

Ты просто не в теме, поэтому тебе не смешно.

http://sciruby.com/

SciRuby itself is currently pre-alpha status, as of v0.1.3, последний коммит кода - 1 декабря 2011.

http://narray.rubyforge.org/

Source code: version 0.6.0.1 (.tar.gz|.zip) (2011-08-29)

не забудь про пруфы и остальное что я писал.

Ты выдал рекламный текст о Руби, а я должен давать пруфы на это? O_o Сначал дай пруф «в Питоне даже ГЦ нету».

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

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

fixed

geekless ★★
()

Знатный баттхерт питонщиков в треде. Эк их корёжит-то от глубинного осознания неполноценности своего язычка.

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

троли такие троли.

SciRuby itself is currently pre-alpha status, as of v0.1.3, последний коммит кода - 1 декабря 2011.

и что? это говорит о том что он не работает?

Source code: version 0.6.0.1 (.tar.gz|.zip) (2011-08-29)

ну и что? тоже чтоли не работает? я последним как раз пользовался, весьма успешно.

Ты выдал рекламный текст о Руби

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

Сначал дай пруф «в Питоне даже ГЦ нету».

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

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

Еще раз тебе говорю, суть бандлера - устанавливать либы, разруливая зависимости.

Но, кстати, есть и другие прикольные фичи, например эта:

If you are actively developing a gem, perhaps checked out from Github, you can use the gem directly from its directory on your filesystem.

gem "nokogiri", :path => "~/sw/gems/nokogiri"

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

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

SciRuby itself is currently pre-alpha status, as of v0.1.3, последний коммит кода - 1 декабря 2011.

и что? это говорит о том что он не работает?

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

я последним как раз пользовался, весьма успешно.

Тебе назвали чертову уйму питоновских пакетов, ты использовал один аналог из Руби. У тебя веские аргументы, ага.

Сначал дай пруф «в Питоне даже ГЦ нету».

так там его и нету, в том-то и дело.

Ты лжешь.

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

Тебе я в основном цитировал сайты Руби-проектов %)

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

Еще раз тебе говорю, суть бандлера - устанавливать либы, разруливая зависимости.

Если так, то чем же он отличается от любого менеджера пакетов?

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

Знатный баттхерт питонщиков в треде. Эк их корёжит-то

Отставить рефлексию.

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

и за год ничего не сделали.

есть вероятность что сделали.

Тебе назвали чертову уйму питоновских пакетов, ты использовал один аналог из Руби. У тебя веские аргументы, ага.

я что на каждый пакет должен давать аналог в руби?

Ты лжешь.

нет, ты лжёшь в питоне нету как раз-таки ГЦ, там даже марк энд свип простейший не осилили. В сравнении с руби, в котором http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS

Ruby codes are compiled into opcodes before executed.

И новых в руби 2. http://furious-waterfall-55.heroku.com/ruby-guide/internals/gc.html#ruby-gc-s... http://patshaughnessy.net/2012/3/23/why-you-should-be-excited-about-garbage-c...

Тебе я в основном цитировал сайты Руби-проектов %)

ох какой ты молодец.

Итого выяснили, что в питоне отсутсвут ГЦ, метапрограмминг, миксины, dsl, поведение от версии к версии меняется, при том достаточно глобально даже на простейших вещах (http://ideone.com/a5neEX VS http://ideone.com/1jO9be), непофикшены баги со скоупами. Но зато в питоне есть scipy, matplotlib, ffnet, networkx, стандартный multiprocessing, tkinter. Как выяснили scipy в руби в альфе (поэтому не годится), далее

ffnet

аналог http://ruby-fann.rubyforge.org/

matplotlib

я не нашёл аналога, не уверен что его нет. это специфичная либа.

networkx

http://projects.skewed.de/graph-tool/ аналог

multiprocessing

ну с этим дружок перебощил.

tkinter

http://www.tkdocs.com/tutorial/ это же? также тут стоит упомянуть shoes, которых вроде как в питоне нету.

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

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

сказочник

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

Если говорить именно о библиотеках, то, например здесь http://pypi.python.org/pypi сказано, что у питона их 25228, а у руби 46,389 (http://rubygems.org/), что, практически, в два раза больше. Это странно, т.к. у питона длительное время не было аналогов, так что если это все-таки не все библиотеки, то я не знаю где они :)
Если сравнивать http://rubygems.org и http://pypi.python.org, то разница, думаю, очевидна: взять хотя бы кнопку документации, которая есть (это потому что у руби инструменты для документации есть). Может они конечно и для питона есть, но пипи об этом не знает.

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