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)

Ответ на: комментарий от DILIN

повторяю для особо понятливых, зачем «46к пакетов» когда есть gem?

Я писал о том, что при 46к пакетов Ruby интерпретатора нет в дистрибутивах изкоробки. При чем тут gem? :)

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

там вообще непонятное применение этого fabric. для запуска комманд я из туториала мне проще ssh server uname -a набрать. для разворачивания в fabric уж сильно много телеодфижений. так что до capistrano он чуток не дотягивает.

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

это где такие дистрибутивы? по крайней мере, в centos, ubuntu и opensuse он точно есть.

рубисты используют rvm не потому, что в дистрибутиве нет руби. а потому, что как правило, хотят новую версию (которая вообще-то devel, если честно, но от этого есть определённый прок).

anonymous
()

едрен батон вот это срач развели

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

там вообще непонятное применение этого fabric. для запуска комманд я из туториала мне проще ssh server uname -a набрать. для разворачивания в fabric уж сильно много телеодфижений. так что до capistrano он чуток не дотягивает.

А на 20 серверах сразу?

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

twitter (изначально, но политическим соображениям перешел на другую платформу)

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

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

Ушел но не на пайтон, покажите мне большой проект который перешел с руби на пайтон?

менять руби на пайтон и наоборот - шило на мыло. Большие проекты вообще просто так не переходят куда-то.

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

Ну хоть вы молодец понимаете это, а то тут срач но много страниц не очем

anonymous
()
Ответ на: Сказочник от special-k

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

Ты старательно поскипал мое замечание про секундный лаг бандлера при bundle exec. Это свидетельство продуманной архитектуры?

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

parallel-ssh -P -H «ser1 server2 server3» uname -a

А когда нужно сделать что-то сложное и от разных пользователей?

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

Это хорошо. А где можно получить живую помощь по рельсам на русском? Какой-нибудь мейллист или конференция в джаббере. Не подскажете?

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

где можно получить живую помощь по рельсам на русском?

ror2ru google group

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

Эхех

Нет смысла критиковать python за то что в нём нету бандл, по историческим причинам он не особо нужен. Python стал достаточно популярным ещё до расцвета веба, его использовала NASA, учёные и прочее и везде он был так или иначе связан с C библиотеками или приложения на нём почти не имели зависимостей. В такой ситуации Python мир полностью полагался на систему пакетов в *nix дистрибутивах и это было вполне удобно и приятно (у ruby тогда совсем было плохо). К слову во многих местах (к примеру gui программирование или научное) программисты и пользователи так и продолжают пользоваться apt-get,rpm,emerge и т.д. и это реально удобно. Сложности начались после бума использования python для веба и попыткой протолкнуть парадигму «библиотеки как плагины». При таком раскладе, когда у конкретного небольшого проекта больше 20 зависимостей (как к примеру у любого на Pylons, Django это просто монстр по сему ему мало что нужно) возникают сложности. Python в этом плане развивался очень эволюционно, по этому pythonenv и easy_instal да pip именно такие с точки зрения Ruby программистов - примитивные. Для веба этих инструментов более или менее хватает для других областей - не нужно. Тут просто спрос рождает предложение. Руби же по сути выстрелил только своими Рельсами по этому и инфраструктура была сразу же подогнано под такое применение. И к слову да - я для своих проектов использую emerge для управления библиотеками (там где gentoo, для debian/ubuntu virtualenv), и да мне ни разу не нужно было для 2 приложений разные версии одной и тойже библиотеки.

Я в целом считаю, что это наверное не правильно на некие небольшие примитивы наклеивать термин «библиотека».

PS на ruby тоже писал в том числе и на Rails... как ни странно я умучался с зависимостями, видимо что то не так делал (это было 3 года назад).

stalkerg ★★★★★
()
Ответ на: Эхех от stalkerg

как ни странно я умучался с зависимостями, видимо что то не так делал (это было 3 года назад).

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

st4l1k ★★
()

Автор руби религиозный фанатик!

anonymous
()

Прочитав весь срач пришёл к выводу, что перевод обучения с Паскаля на Питон был правильным решениям для старших курсов. Руби в качестве варианта тоже рассматривал, но быстро отбрасил.

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

Прочитав весь срач пришёл к выводу, что перевод обучения с Паскаля на Питон был правильным решениям для старших курсов. Руби в качестве варианта тоже рассматривал, но быстро отбрасил.

У себя на кафедре тоже это инициировал, правда до меня там с паскаля на С смогли перейти.

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

Может и причину расскажите почему отбросили, и почему пайтон?

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

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

Паскаль действительно неплохой язык для обучения, но питон в 2012 году всё-таки получше по двум причинам:
1. Проще синтаксис, следовательно ниже порог вхождения.
2. Сразу можно применять в самых разных областях: хоть веб-сайт набросать, хоть простенькую игрушку, хоть что-то в операционке автоматизировать. А это для обучающегося программированию имеет чуть ли не первостепенное значение в плане поддержания энтузиазма: возможность тут же сделать что-то ценное, в отличие от чисто академического применения паскаля.

Что касается Python vs Ruby тут смысла срач устраивать нет. Это языки-братья, очень похожие. Главное отличие в том, что Python исповедует концепцию «всё должно достигаться интуитивным, и желательно единственным путём» кроме того имеет максимально простой и понятный синтаксис, в то время как Ruby позволяет достигать цели многими способами и синтаксис его более эзотеричен.

Каждый сам выбирает, какой из этих подходов ему ближе.

D_Lans
()

ЧЯДНТ?

+100500 гемов? куча оверхеда? и т.д.

gem 'rails', '~> 3.2.8' gem 'pg' gem 'haml' gem 'haml-rails' gem 'decent_exposure' gem 'friendly_id' gem 'kaminari' gem 'devise'

все! ЧЯДНТК?

anonymous
()

....

Работал и с ruby и с python. Что я могу сказать - терпуть не могу двоеточия. Это факт. Руби более привлекателен за счет синтаксиса. Проблемы со скоростью решаемы за счет кеширования байт-кода.

З.Ы. А джангу так и не осилил (хоть и начинал параллельно, зная питон, но не зная руби)

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

Кто же тебе скажет наверняка, но многое делается по политическим соображениям, например использование windows. Они решили продвигать платформу scala (и в этом суть, я считаю).

stalkerg
по историческим причинам он не особо нужен

Так не бывает. По историческим причинам _сложилось_, а нужен или не нужен - диктует настоящие. И есть прецеденты, что нужен, а мне-то как раз всеравно. Питон уже не единственный нормальный язык для прикладных задач.

Felagund
Результат.

И как бы ты это сделал на другом яп? Надо цепляться к dbus и по шорткату посылать сообщение, я думаю.

special-k ★★★
()

какой ажиотаж вокруг шкуры неубитого медведя!

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

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

питонист с 10-летним стажем

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

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

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

Мы тоже выбирали между руби и пайтоном в итоге подкупила простота синтаксиса питона

По сравнению с Руби? Лол.

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

Мы тоже выбирали между руби и пайтоном в итоге подкупила простота синтаксиса питона

По сравнению с Руби? Лол.

я забросил perl 12 лет назад именно из-за нежелания помнить все 100 закорючек, которые контролируют все и вся в перле. я устал держать в голове иезуитский синтаксис (ссылки на списки на ссылки ушатают любой мозг). для справки, я был одним из разработчиков первлового postgresql dbi, так что перл я, когда-то, знал от и до. руби ушел далеко вперед в деле расширения синтаксиса за счет закорючек.

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

Каких еще закорючек? В руби даже свойств нет.. любое обращение к объекту - вызов метода..

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

Может и причину расскажите почему отбросили, и почему пайтон?

Обучение проводится со студентами таких сильно непрограммистских специальностей, как «материаловедение и технология материалов», «электроника и наноэлектроника», «медицинская физика» (теперь после реформы просто «физика»), «управление качеством» и родные «биотехнические системы и технологии» (которые раньше были «биомедицинская инженерия»). Поэтому идея научить их программировать профессионально не ставится в принципе. За 1--4 семестра стребовалось дать основы математической статистики, анализа данных и обработки сигналов (статистическая радиофизика и немного проверка гипотез), математическому моделированию биологических систем (решение всяких дифуров типа Ходжкина-Хаксли). Изначально рассматривались также варианты статистических пакетов типа Scilab, R. Мне советовали не париться и перейти на Матлаб, потому то там как в Греции всё есть, но я против завязки на проприетарщину без особой на то необходимости.

Были три основных требования:

  • Простота. В принципе, этому удовлетворяют оба языка в базовом варианте. Но Питон содержит более простые примитивы типа функций.
  • Библиотеки численных методов и построения графиков. Здесь Питон со своими SciPy, NumPy, Matplotlib, FFnet и прочими networkx вне конкуреции. Важно также, что эти модули есть под все основные системы и работают достаточно стабильно.
  • Наличие учебной литературы в интернете и в виде книжек. Этому требованию Питон соответствует лучше.

У Питона также лучше с построением ГУИ, хотя мне это было не принципиально.

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

руби ушел далеко вперед в деле расширения синтаксиса за счет закорючек.

Вы не знакомы с синтаксисом Руби. Вообще.

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

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

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

За питон вместо matlab - молодец, это круто. Но вот это

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

тебе не стоило говорить.

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

Т.е. ты используешь питон для решения маленьких прикладных задач, а несешь какую-то ахинею про синтаксис.

Синтаксис может испортить решение любых задач, маленьких или больших. Не понимать этого довольно сложно. Я не утверждаю при этом, что синтаксис Руби совсем плох, но Питоновский явно понятнее.

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

Ты советуешь писать на питоне, потому что вы решаете на нем уравнения)) Браво.

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

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

За питон вместо matlab - молодец, это круто.

Я использую средство, адекватное поставленной задаче.

тебе не стоило говорить.

Py3k делает Питон немного лучше. Например, студенты часто делают ошибку при делении целых чисел, забывая, что результат будет зависеть от типа аргументов. В третьем Питоне это исправлено. И да, numpy, scipy полностью поодерживают 3 Питон, matplotlib уже скоро будет, в 1.2 заявлена поддержка. Поэтому я так и не понял, что ты хотел сказать.

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

Исключительно для настроения :)

студенты часто делают ошибку при делении целых чисел
В третьем Питоне это исправлено
преимуществ по сравнению с Питоном не вижу

так и не понял, что ты хотел сказать

Все норм:)

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