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)

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

Ну хватит уже хвастаться этим числом, всем известно, что там один и тот же гем (одного и того же назначния) может встречаться в 3-5 разных вариациях разной степени говняности. Кстати да, меня это больше всего раздражает - нет рейтинга гемов. Только количество скачиваний. Я как-то искал библиотеку для взаимодействия с АПИ вольфрам альфы (развлекался - пилил консольный калькулятор с произвольным вводом), так там было штук 5 гемов - устаревший, заброшенный, кривой, косой и неполноценный. Пришлось самому писать свое говно, самому логиниться, самому парсить выхлоп и т. д. Благо с няшкой руби это несложно. В общем, 50к можно смело делить на 2, если не больше.

Но, в любом случае, трудно найти прецедент, для которого не будет гема.

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

Ну хватит уже хвастаться этим числом

Ну я просто зашел на сайт, чтобы узнать количество и доказать человеку, что в репозиторий не нужно вносить все gem-файлы. :)

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

Про скорость они уже и не мечтают, ведь так весело почитать баш пока рельсы наконец-то стартонут...

anonymous
()
Ответ на: Разнообразие хуже безобразия. от Camel

Вы предлагаете вместо поддержки одного gem. Поддерживать deb,rpm,ebuild, и остальные. А что делать с виндой, и mac. Думаете это комуто нужно.

Иногда я начинаю сомневаться в неадекватности людей утверждающих, что все «рубисты» brain damaged.

<trololo-mode>Конечто не сомнивайтесь, и рубисты и питонисты и те кто пишет на ноде, и даже на пхп все юзают свой менеджер пакетов они все brain damaged.</trololo-mode>

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

Про скорость они уже и не мечтают, ведь так весело почитать баш пока рельсы наконец-то стартонут...

Ты видимо это на том же баше и прочел, ага.

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

А, ну да. Пользователи абанту уже вкрай обленились думать. Не различать пакетную базу дистра и пакетную базу языка - это слишком. Давайте еще пакеты октавы в репозитории подобавляем. И cpan, cran, ctan, hackage и т. д. еще.

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

Кстати да, меня это больше всего раздражает - нет рейтинга гемов.

На ruby-toolbox есть popularity rating.

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

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

cdshines ★★★★★
()
Ответ на: Я не работаю на Mac/Win. от Camel

диагноз - "хомячок"

Вышеуказанная «экосистема» - лишь набор предрассудков да ограниченности мозга конечного пользователя. Хочешь быть разработчиком сотрудником компании - будь готов принять некоторые стандарты. Здесь точно такой же подход.

ps: конкретно тебя больше кормить не буду.

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

Кроме запуска дев сервера и тестов постоянно приходится делать rails generate, rails console, rake db:migrate/rollback, rake routes. Так что да довольно часто.

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

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

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

Рельсы стартовали 16-18 секунд. После falcon патча стартуют 5-6 секунд. Зевс нестабильный и часто отпадает.

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

Это очень гипотетический вопрос. Ну нафига мне стараться ехать на одной либе в разных проектах.. Пакеты обычно содержат множество зависимостей, соответственно где-то что-то может конфликтовать. У раилз там одни зависимости, у голиафа другие (разработчики поставили и друг с другом не советовались), ну вот к чему мне париться.. Сейчас уже практически невозможно не пользоваться bundler, а главное незачем. Тут нет сложного, тут все очень просто, как при написании, так и при установке.

По‐моему это как раз говорит о крайней непродуманности системы. Если возможные конфликты имён ещё понятны (хотя я их фактически не видел), то необходимость иметь разные версии одного пакета одновременно для разных проектов может говорить либо о том, что разработчики gem’ов плевать хотели на их пользователей и ломают обратную совместимость чуть ли не в каждой версии, либо что разработчики других gem’ов (зависимых) не способны отслеживать нечастые (иначе см. первый вариант) сломы API.

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

Portage имеет систему слотов для тех редких случаев когда действительно надо иметь две версии одного пакета. Кстати, все минорные версии и ruby, и python (а также php, gcc:c/fortran/java/…, java (все jre)) имеют свои слоты, но не perl, не lua, не bash, не haskell (ghc).

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

Потому что в новых версиях добавляют новые фичи и иногда ломают старые. Соответственно старый код, полагающийся на них, тоже сломается. А переписывать проект под каждую новую версию библиотеки невозможно, если проект чуть сложнее, чем hello world. Золотое правило: работает - не трогай!

Замечательный аргумент за то, чтобы никогда не пользоваться ruby. Зачем мне геморрой с тем, что неадекватные авторы добавляют возможности так, что они ломают старые (или где пишут код так, что добавление возможностей ведёт к неправильному поведению), или просто на ровном месте ломают последние, если можно использовать Python, где разработчики более адекватны?

Золотое правило: написал документацию — делай как в ней до следующей основной версии. Правило 2: нет в документации — нет в проекте.

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

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

Не пользуйся. Кто-то заставляет, что ли?

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

Замечательный аргумент за то, чтобы не программировать.
Золотое правило: написал тесты — делай как в них до следующей основной версии. Правило 2: нет в тестах — нет в проекте.(fixed)

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

cd /usr/ports && find . -type d -depth 2 -print | grep 'rubygem-' | wc -l 538

Я таки думал что их там больше...

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

Замечательный аргумент за то, чтобы не программировать.

… на ruby. С C’шными и Python’овскими библиотеками таких идей просто не возникает.

Золотое правило: написал тесты — делай как в них до следующей основной версии. Правило 2: нет в тестах — нет в проекте.(fixed)

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

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

Не пользуйся. Кто-то заставляет, что ли?

Я и не пользуюсь. Здесь ведь которую страницу идёт обсуждение того, стоит ли это делать, разве нет?

ZyX
()
Ответ на: Я не работаю на Mac/Win. от Camel

Экосистема gem'ов вторгается в мою экосистему deb'ов и разрушает её. Одна ОС — один пакетный менеджер, иначе бардак и хана.

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

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

Здесь ведь которую страницу идёт обсуждение того, стоит ли это делать, разве нет?

Нет)) Было обсуждение: хуже ли пип у питона)

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

Экранирование «&» в ссылках link@rel=«next» и ко. лучше поправь, берсерк ты наш :)

1. Можно было сказать и раньше.

2. Я не берсерк, но некоторые личности тут начинают напрягать.

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

Можно было сказать и раньше.

Я всё время забываю, что ты тут обитаешь %)

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

perl - потырим все лучшее из руби и пистона

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