The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск языка программирования Ruby 2.6.0

25.12.2018 23:38

После года разработки опубликован релиз Ruby 2.6.0, динамического объектно-ориентированного языка программирования, отличающегося высокой эффективностью разработки программ и вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Код проекта распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3. Ruby 2.6 является шестым значительным выпуском, подготовленным в рамках планового процесса разработки, подразумевающего отведение года на подготовку функциональных улучшений и формирование каждые 2-3 месяца корректирующих выпусков.

Основные улучшения:

  • Добавлена экспериментальная реализация JIT-компилятора, который позволяет ощутимо поднять производительность приложений на языке Ruby. В отличие от традиционных JIT, генерирующих на лету машинные инструкции, предложенный в Ruby JIT-компилятор вначале записывает на диск код на языке Си, после чего вызывает внешний Си-компилятор для генерации машинных инструкций (поддерживается вызов GCC, Clang и Microsoft VC++). Для активации JIT необходимо указать при запуске ruby опцию "--jit" или установить данную опцию в переменной окружения RUBYOPT. По сравнению с Ruby 2.5 включение JIT в среднем в 1.7 раза увеличивает производительность приложений, интенсивно использующих CPU. При этом разработка пока экспериментальная и плохо адаптирована для нагрузок, связанных с интенсивной работой с памятью;
  • Добавлен экспериментальный модуль RubyVM::AbstractSyntaxTree, предоставляющий метод парсинга, обрабатывающий передаваемые строки как код на языке Ruby и возвращающий абстрактное синтаксическое дерево (AST, Abstract Syntax Tree) для этого кода;
  • Для обращения к методу "Kernel#yield_self" теперь можно использовать псевдоним "#then". Для методов "Array#|" и "Array#-" предложены более читаемые псевдонимы "Array#union" и "Array#difference";
  • Имена констант теперь могут начинаться с заглавных букв не из набора ASCII (например, сейчас можно писать "class Σ♥²; end ");
  • Добавлена поддержка не заканчивающихся диапазонов, например, "ary[1..]" или "(1..).each {...}";
  • Добавлен класс Enumerator::Chain и реализованные в нём методы "Enumerable#chain" и "Enumerator#+" для создания цепочек перечисляемых значений;
  • В модули Proc и Method добавлена поддержка операторов "<<" и ">>", например, конструкция "(f << g).call(3)" идентична "f(g(3))";
  • Добавлен метод "Binding#source_location", который возвращает местоположение файла с кодом и номер строки привязанного объекта;
  • В метод "Kernel#system" добавлена опция "exception:" для генерации исключения при сбое вместо возвращения "false";
  • В модуль Coverage добавлен режим "oneshot", который проверяет, запущенна ли каждая строка как минимум один раз;
  • В методе "Hash#merge" обеспечена возможность слияния более двух хэшей;
  • Добавлен метод "FileUtils#cp_lr", который работает по аналогии с "FileUtils#cp_r", но вместо копирования создаёт ссылку;
  • Ускорена работа метода "Proc#call", благодаря исключению временного сохранения содержимого $SAFE. При выполнении теста lc_fizzbuzz наблюдается увеличение производительности в 1.4 раза;
  • Ускорена работа block.call в случае передачи "block" как параметра блока. Судя по проведённым тестам данное изменение позволило в 2.6 раз увеличить скорость расчёта блоков;
  • Представлена поддержка временной кучи (Transient Heap, theap), предназначенной для объектов с коротким временем жизни, использующих специфичные классы (Array, Hash, Object, Struct). Например, благодаря theap создание мелких и недолго существующих хэшей теперь выполняется в два раза быстрее. Тест rdoc показал увеличение производительности на 6-7%;
  • Для увеличения производительности переключений контекста предложены нативные реализации сопрограмм для архитектур arm32, arm64, ppc64le, win32, win64, x86 и amd64. "Fiber.yield" и "Fiber#resume" на 64-разрядных системах Linux теперь выполняются почти в 5 раз быстрее. В целом интенсивно использующие Fiber программы показывают прирост производительности на уровне 5%;
  • Обновлена версия RubyGems 3.0.1, в которой прекращена поддержка опций "--ri" и "--rdoc", вместо которых следует использовать "--document" и "--no-document".
  • Bundler теперь устанавливается по умолчанию для управления зависимостями gem.


  1. Главная ссылка к новости (https://www.ruby-lang.org/en/n...)
  2. OpenNews: Доступен интерпретатор mruby 2.0
  3. OpenNews: Обновление Ruby 2.5.1 с устранением уязвимостей
  4. OpenNews: Выпуск сервера приложений NGINX Unit 0.7 с поддержкой Ruby
  5. OpenNews: В RubyGems устранено 7 уязвимостей
  6. OpenNews: Выпуск языка программирования Ruby 2.5.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49854-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (88) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:52, 25/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    > Имена констант теперь могут начинаться с заглавных букв не из набора ASCII (например, сейчас можно писать "class Σ♥²; end ");

    А что, нескучно.

     
     
  • 2.3, Аноним (3), 00:22, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так их же теперь и по-русски обзывить можно! Красота...
     
     
  • 3.19, merifri (ok), 09:46, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Фича поэтому и появилась...

    Feature #13770 Can't create valid Cyrillic-named class/module

    class Мир

      def приветствовать
        "Привет, Мир!"
      end

    end

     
     
  • 4.38, йййй (?), 14:02, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Наркоманы какие-то
     
     
  • 5.40, Урри (?), 15:02, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    1Cники, не к ночи будь помянута..
     
     
  • 6.71, тот_же_анон_уже_без_мабилы (?), 22:23, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    1С перепишут на Руби?
     
  • 4.73, SubGun (ok), 00:10, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Фича поэтому и появилась...

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

     
     
  • 5.81, OramahMaalhur (ok), 12:55, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А если там неразрывный пробел окажется в имени функции, или точка какая-то хитрая...
     
     
  • 6.84, Аноним (84), 13:35, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь зато можно Emoji использовать в названиях 😊😂🤣👌
     
  • 6.86, Аноним (86), 16:07, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Имелось в виду, что применение даже в разумных рамках приведет к проблемам. Про всякую дичь я вообще молчу.
     
  • 4.79, Аноним (79), 09:54, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хватит ломать кнопки shift и alt!
     
  • 2.7, Аноним (7), 01:57, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, у этого есть юзкейсы, или сделано просто для "смотри, пап, как я могу"?
     
     
  • 3.10, Аноним (10), 03:10, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У плюсистов спроси
     
  • 3.14, . (?), 07:11, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +16 +/
    конечно есть - можно использовать похожие символы юникода и пробелы-которые-не-пробелы для размещения в коде невидимых закладок.

    история с dns ничему людей не учит.

     
     
  • 4.41, Урри (?), 15:07, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вы еще автоформатирование правильными табами потребуйте.

    Используйте правильные шрифты - и будет вам счастье. А то, небось, "#define O 3 / if (x == O)" вас с ума сведет навсегда. Хотя стоп, можно ведь запретить нули, наверное?

    С каждым годом аноним все тупее и тупее становится...

     
     
  • 5.57, Аноним (57), 19:16, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Автоформатирование в руби-мире есть. 'rubocop -a filename' называется
     
  • 5.58, Аноним (58), 19:43, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Используйте правильные шрифты

    Вы вообще в курсе, что такое юникод? Это бинарный формат для хранения текстовой информации. Наподобие OpenXML, OpenDocument и подобных. НЕ кодировка, как вы могли бы подумать. Стоит понять эту простую мысль, и становится ясно, почему туда добавляют цветные смайлики и прочий бред.

    Даже с ПРАВИЛЬНЫМ шрифтом никуда не уйдут проблемы типа https://stackoverflow.com/questions/3115204/unicode-mirror-character . Грамотный способ работы с юникодом - запретить его там, где нужно чёткое, ясное и гарантированное взаимодействие с автоматикой, а не выражение в форме эмоджий мыслей средней прямоходящей обезьяны.

     
     
  • 6.63, КГБ СССР (ok), 20:04, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсую много.
     
  • 6.92, qwerty123 (??), 01:47, 28/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вы вообще в курсе, что такое ASCII Это бинарный формат для хранения текстовой и... большой текст свёрнут, показать
     
     
  • 7.95, Аноним (95), 10:18, 28/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Всего один вопрос: вы по приведённой в том сообщении ссылке переходили?
     
  • 3.46, Anon3 (?), 15:53, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну для меня, как инженера, это очень неплохо.
     
     
  • 4.56, Аноним (58), 18:40, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ну для меня, как инженера, это очень неплохо.

    Вопрос стоит не "хорошо/плохо", а "зачем конкретно". И вы хреновый инженер, если на конкретный вопрос ответить не можете.

     
  • 3.74, Ordu (ok), 00:16, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, у этого есть юзкейсы, или сделано просто для "смотри, пап, как я могу"?

    Конечно. Это особенно полезно будет когда пишешь код с кучей математики, там вечно не хватает коротких идентификаторов, начинаются все эти alpha, beta, squaressum, и так далее. Вероятно это будет полезно и для каких-то других ситуаций, но это будет ясно тогда, когда те, кто "смотри, пап, как я могу" побесятся и исследуют пространство возможных применений, радостно ходя по граблям, и применяя utf8 там где надо и где не надо.

     
  • 2.13, Аноним (13), 05:58, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    и наверняка не совместимо с опцией --jit, но проверять мы этого, конечно же, не будем
     
     
  • 3.16, Аноним (16), 08:34, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    $ ruby --version
    ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux]

    $ cat 1.rb
    Σ♥² = 100
    r = 2*Σ♥² +1
    puts r

    $ ruby 1.rb
    1.rb:2: syntax error, unexpected tINTEGER, expecting do or '{' or '('
    r = 2*Σ♥² +1

    $ cat 2.rb
    Σ♥² = 100
    r = 2*Σ♥² + 1
    puts r

    $ ruby 2.rb
    201

     
  • 2.62, Аноним (62), 19:58, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Им далеко до Common Lisp, где имя символа может состоять только из пробелов.
     

  • 1.2, Рафаэл (?), 23:58, 25/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    smth = if smth then smth.then(&:smthsmth) end
    Уря! Давай ruby дольше then в коде больше ясности.
    P.S. Than в ruby это неимеет отношение к  promise. Смотри не перепутай
     
  • 1.6, Аноним (6), 01:33, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >Выпуск мёртвого языка программирования Ненужнo 2.6.0, вобравшего в себя худшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

    Ясно.

     
     
  • 2.44, Аноним (44), 15:24, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нормальные люди пишут на PHP, а не этом угне.
     

  • 1.11, Аноним (11), 03:53, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Эмодзи переменные! Джвадцать лет ждал.
     
     
  • 2.85, Аноним (84), 13:39, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    class Fish;
    def 🔪
      puts "🍣"
    end
    end

    🐟 = Fish.new
    🐟.🔪 => 🍣

     

  • 1.12, КГБ СССР (ok), 04:10, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    «Высокая эффективность разработки программ» это эвфемизм для «ляп-ляп и продакшн».

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

     
     
  • 2.17, Аноним (3), 09:04, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так это ж грустно, что юзера от такого страдают со 100500 запущенными процессами хромого на различных сайтах и "программах".
     
  • 2.22, Аноним (22), 10:58, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > мои квазиинтеллектаульные трагичные опусы это эвфемизм для «мир г.».

    "If you look at [I]GitLab[/I], it has an enormous amount of functionality. Software development is very complex and to help with that, we need a lot of functionality and [I]Ruby[/I] on Rails is a way to do it. Because there's all these best practices that are on your happy path, it’s also a way to keep the code consistent when you ship something like GitLab. You're kind of guided into doing the right thing."

    Да, Ruby приносит пользу.

     
     
  • 3.36, КГБ СССР (ok), 13:56, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Да, Ruby приносит пользу.

    Лично мне пригодилось только из-за Homebrew на Маке. Если бы не это, я бы даже не узнал, наверное, что существует какое-то Ruby. Это к вопросу о популярности и пользе в реальном мире, где живые люди, а не на гитхлябе.

     
     
  • 4.49, анонимусфигус (?), 16:41, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    но внутри линуха много относительно на руби скриптов. на питоне больше конечно, а на шелл еще больше, но еще оч долго никто не перегонит простой си.)) да и что делать с первичной загрузкой системы - еще на этапе ядра интерпретатор запускать?))
     
     
  • 5.51, КГБ СССР (ok), 17:28, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  но внутри линуха много относительно на руби скриптов. на питоне больше
    > конечно, а на шелл еще больше, но еще оч долго никто
    > не перегонит простой си.)) да и что делать с первичной загрузкой
    > системы - еще на этапе ядра интерпретатор запускать?))

    Блин, я даже не могу такого припомнить. В каком линухе? У меня нету. Devuan, Slackware, Шапка 6 и старше.

     
     
  • 6.53, Аноним (53), 18:00, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > В каком линухе?

    SuSE, OpenSUSE

     
     
  • 7.66, Анонимчжан (?), 21:09, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    поверь мне не только в них. я в убунте находил, в росе( ну относительно мало), еще дистр был на основе бубунты не помню уж. короче есть спецы в родных селеньях)) нет ну правда намешали в языке и от ява и от питона и от си++. в итоге какойто кошмар. я так глянул на синтаксис..... лучше промолчу. я не ярый поклонник питон, но я уж явно лучше его выбрал. да хотел глянуть на D, что там, но пока руки не дошли))
     
     
  • 8.67, Аноним (53), 21:14, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В указанных дистрибутивах Ruby является основным скриптовым языком Вопрос не в ... текст свёрнут, показать
     

  • 1.18, Qwerty (??), 09:40, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Добавлен метод "FileUtils#cp_lr", который работает по аналогии с "FileUtils#cp_r", но вместо копирования создаёт ссылку;

    "Найди 10 отличий", я только с пятого раза понял, в чём разница в написании.

    >конструкция "(f << g).call(3)" идентична "f(g(3))";
    >Для методов "Array#|" и "Array#-

    Какой же кривой синтаксис.

     
     
  • 2.28, КГБ СССР (ok), 12:39, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Какой же кривой синтаксис.

    Просто японцы не выговаривают l. ;-)

     

  • 1.20, Онаним (?), 10:33, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В отличие от традиционных JIT, генерирующих на лету машинные инструкции, преложенный в Ruby JIT-компилятор вначале записывает на диск код на языке Си, после чего вызывает внешний Си-компилятор
    > По сравнению с Ruby 2.5 включение JIT в среднем в 1.7 раза увеличивает производительность

    Чем бы хипстеры не баловались, а у слона всё равно больше. То есть на выходе всё равно C получается, и он же производительнее.

     
     
  • 2.21, Онаним (?), 10:34, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    s/ не / ни /
     
  • 2.29, КГБ СССР (ok), 12:41, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чем бы хипстеры не баловались, а у слона всё равно больше. То
    > есть на выходе всё равно C получается, и он же производительнее.

    Вот, да. Из всех попыток написать правильный язык, всё равно получается либо Си, либо Лисп, либо Кобол, либо Фортран. Деды не даром на перфокартах тренировались (да и работали).

     
     
  • 3.43, Урри (?), 15:10, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Чуток расширенное десятое правильно Гринспена же. (с) 1993 год
     
  • 2.37, Аноним84701 (ok), 14:02, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем бы хипстеры не баловались, а у слона всё равно больше. То есть на выходе всё равно C получается, и он же производительнее.

    Как раз попытка сваять свой собственный, нескучный (и быстрый) генератор машинных инструкций силами 3.5 человек и игнорирование десятков лет (и мегатон человекочасов) разработки gcc  была бы баловством …

     

  • 1.23, Аноним (23), 11:06, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Бородатые хипстеры, порхавшие тонкими длинными пальчиками над клавиатурой заляпанного наклейками макбука, доказывая что за сабжем будущее, сейчас наверно грустят. Полный печали подарок к новому году.
     
     
  • 2.45, eganru (?), 15:47, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ножка от табуретки. В обсыпке блестками.
     

  • 1.24, Юзер (??), 12:34, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > вначале записывает на диск код на языке Си, после чего вызывает внешний Си-компилятор

    Нельзя что ли было зашить компилятор в руби?..

    ЛАВРОВ.jpg

     
  • 1.25, Аноним (25), 12:37, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сколько злопыхателей здесь собралось.
    Ну не используешься языком, пройди мимо,
    нет нужно обгадить, очернить, по-ть желчью.
    А вы не задавались мыслю сколько замечательного
    софта написано на Ruby, а вы не думали
    что конечный результат зависит не от
    инструмента, а от того кто пользуются
    инструментарием. Где интеллигентность,
    культура, толерантность программистов???
     
     
  • 2.35, Матцумото (?), 13:46, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    добро пожаловать на opennet
     
  • 2.50, Аноним (50), 17:27, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Где интеллигентность,
    > культура, толерантность программистов???

    Ищи ее на Stackoverflow, а не здесь.

     
     
  • 3.52, КГБ СССР (ok), 17:34, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Где интеллигентность,
    >> культура, толерантность программистов???
    > Ищи ее на Stackoverflow, а не здесь.

    Там точно есть?

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

     
  • 2.64, Аноним (64), 20:16, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ошибки делаете и не используете абзацы. Где таких неучей берут?
     
  • 2.97, InuYasha (?), 11:40, 31/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    толерантность - у паразитов в организме. а у нас здесь здравый смысл.
     

  • 1.27, Вадик (??), 12:39, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот так вот. Ruby еще пытается трепыхаться. В СНГ работы с ним не сыщешь, а забугром он в принципе используется. Непонятно зачем он в целом нужен сейчас, когда есть Python. По сути он свою нишу профукал когда начал стагнировать.
     
     
  • 2.31, funny.falcon (?), 12:52, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Странно. Мне раз в два месяца стучатся с предложениями на руби.
    К сожалению, у меня уже нет такого опыта в Ruby, т.к. пишу в основном на C и Go.
     
     
  • 3.34, Аноним (34), 13:21, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Может потому и стучатся, что когда-то написавший проект на рубях хипстер давно сбежал на новую хайповую хрень, а оставшиеся теперь бегают и ищут, кто за это деpьмо теперь возьмётся?
     
     
  • 4.61, Аноним (58), 19:56, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вопрос был "В СНГ работы с ним не сыщешь". Оказалось, что сыщешь. Опровергнуто.
     
  • 3.68, Вадик (??), 22:04, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Странно. Мне раз в два месяца стучатся с предложениями на руби.
    > К сожалению, у меня уже нет такого опыта в Ruby, т.к. пишу
    > в основном на C и Go.

    Да, рубисты востребованы, проекты вы свое время начинали писать разные люди, по том как и я на C и Go ушли :) А поддерживать надо. Раньше было модно его использовать.

     
     
  • 4.82, Роботрон (?), 12:55, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Ушли на C и GO" -- это бред :)
    Ruby в своей нише практически незаменим. А ниша его -- БЫСТРО пилить апишечки всякие с крудиками.
    В этой сфере он лучше питона и go. А теперь ещё и работать будет быстрее.
     
  • 2.32, Юзер (??), 13:05, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > профукал когда начал стагнировать

    Ничего он не начал.
    Руби - это давно уже зрелый состоявшийся язык. Ему не нужно никуда "развиваться" - он by design на голову выше всех остальных динамических ООП-интерпретаторов.

    Хипстерский хайп с рельсами ничего не дал Ruby, кроме ненужных свистоперделок (типа бундлера, к-й на какой-то хрен теперь впихнули по умолчанию). Рельсы смылись - туда им и дорога. Без них для Ruby будет даже лучше, меньше будут поганить язык.

    Относительно низкая популярность связана не с тем, что Ruby, в отличие от Python, Java и C#, не педалировали никакие корпорации - ни Google, ни Sun-Oracle, ни Microsoft, соответственно.

     
     
  • 3.39, Онаним (?), 14:10, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Относительно низкая популярность связана не с тем, что Ruby, в отличие от Python, Java и C#, не педалировали никакие корпорации - ни Google, ни Sun-Oracle, ни Microsoft, соответственно.

    А почему не педалировали, не думали? Видимо, прогнозируемый профит от него в лучшем случае 0, если не <0, вот и не педалируют.

     
  • 3.48, Гит рулит (?), 16:25, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Поддерживать легаси на Руби судьба твоя.
     
  • 3.76, SubGun (ok), 00:23, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А чем рельсы-то не угодили? Просто фреймворк же.
    А бандлер? Половина интернета онанирует на nodejs, а так как бы свой "бандлер" есть.
     
  • 3.77, Vitaliy Blats (?), 03:14, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Руби - это давно уже зрелый состоявшийся язык

    А че ж он такой кривой ?
    У меня синдром утенка на Паскаль, я его еще в 90х учил, в 90х писал ВСЕ включая некоторые драйверы, но суть не в этом.

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

     
     
  • 4.78, Аноним (53), 08:13, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Руби - какой-то трешак.

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

     
  • 2.54, Аноним (53), 18:03, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Непонятно зачем он в целом нужен сейчас, когда есть Python.

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

     
     
  • 3.59, Аноним (58), 19:49, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В то время, когда все компании, перманентно переносящие свои творения на всё новые и новые возникающие языки, переносят код с питона на Go и не стесняются писать об этом, непонятно, зачем вообще упоминать их в контексте приложений, основная задача которых не "быть написанными на самом современном языке", а "корректно и эффективно работать".
     
     
  • 4.65, Аноним (53), 20:18, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > основная задача которых не "быть написанными на самом современном языке", а "корректно и эффективно работать".

    Тогда зачем вообще нужно что-то кроме Ruby?

     
  • 3.69, Вадик (??), 22:10, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Непонятно зачем он в целом нужен сейчас, когда есть Python.
    > В то время, когда все компании, использовавшие питон когда-либо, переносят веб-приложения
    > с питона на Go и не стесняются писать об этом, непонятно,
    > зачем нужен питон...

    Ну вот смотри, я сейчас как раз отошел немного от Python в сторону Go и могу сказать как выглядит с моей колокольни:
    Писать на Python, когда ты не упарываешься сильно в скорость - очень круто, одно удовольствие. Т.е. на Python очень быстро можно что-то запрототипировать и посветить больше времени БЛ (что в принципе чаще бизнесу и надо). На Go стоит начинать если ты уверен что скорость просто наиважнейшая часть проекта. И то я начинаю в 90% свои проекты на Python, потом части выношу в Go-микросервисы которые женятся с основным приложением по GRPC. Итого симбиоз скорости написания и производительности заключается не в выборе чего-то одного, а в комбинации различных продуктов и технологий.

     
     
  • 4.72, Аноним (57), 23:29, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вот что интересно, питонисты, которые перешли на Руби и более чем довольны этим, встречаются периодически. А вот довольных питоном бывших рубистов, встречать не доводилось.... К чему бы это?....
     
     
  • 5.80, Вадик (??), 11:23, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот что интересно, питонисты, которые перешли на Руби и более чем довольны
    > этим, встречаются периодически. А вот довольных питоном бывших рубистов, встречать не
    > доводилось.... К чему бы это?....

    Я не встречал таки рубистов, всех что видел очень стагнирующие ребята сами по себе. Мне лично вообще пофигу на чем писать, но по факту нужность Ruby непонятна когда есть Python, хотя бы из-за набора библиотек + сейчас его сильно забустил ML.

     
     
  • 6.83, Аноним (57), 13:23, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Через год-два использование питона в ML закончится, потому что и в этой части ему есть куда лучшие альтерантивы. Например Julia. А вот в вебе питон так и не прижился.
     
     
  • 7.90, аноним3 (?), 19:47, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    в науке оч хорошо поживает))) работа с матрицами оч удобна именно в питон. а там таких расчетов много.)) очень много проектов связанных с геолокацией и позиционированием именно на питон. насчет веб не скажу так как если посмотреть под капот часто оказывается , что многие проекты обвязаны скриптами питон. и если честно сказать по синтаксису довольно простой язык. яву глянул такие определения функций и классов... помолчу. руби как видим тоже синтаксис ... странноват. я бы для себя выделил c/c++ и python. про D ничего не скажу. руки не дотянулись.
     
     
  • 8.94, Аноним (53), 08:21, 28/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Как только научным работникам надоест тратить существенно больше времени на св... текст свёрнут, показать
     
  • 4.87, Аноним (87), 18:04, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Писать на Python, когда ты не упарываешься сильно в скорость - очень круто, одно удовольствие.

    Если только ты извращенец. Синтаксис у него отвратительный. Пишешь - вроде норм. А попробуешь прочитать написанное - тьфу ты, какое-то косноязычие просто.

     
     
  • 5.88, КГБ СССР (ok), 18:22, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Если только ты извращенец. Синтаксис у него отвратительный. Пишешь - вроде норм.
    > А попробуешь прочитать написанное - тьфу ты, какое-то косноязычие просто.

    Верно подмечено: читать пихтонокод — сущее мучение.

     

  • 1.47, Гит рулит (?), 16:23, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Кому ещё нужен этот руби все кого знал с него уже давно переползли.
     
  • 1.60, Аноним (60), 19:49, 26/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Читаю этих вайнеров и недоумеваю, неужели никто про chef не слышал?
     
     
  • 2.70, Вадик (??), 22:15, 26/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Читаю этих вайнеров и недоумеваю, неужели никто про chef не слышал?

    Из всех проектов с которыми я работал (а их уже порядком накопилось) только 2 раза видел шефа и оба раза у рубистов. Многие юзают ansible, некоторые salt stack.

     
     
  • 3.75, SubGun (ok), 00:18, 27/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зависит от величины компании. Чем больше компания, тем меньше ansible и больше рубических chief и puppet. Пихать в крон костыль для pull редко кто соглашается, а push для 500+ узлов  - дичь.
    Ну и нельзя не сказать, что огромное влияние на распространение ansible оказывает документация для devops, где почти всегда k8s+ansible.
     
     
  • 4.93, Аноним (93), 03:44, 28/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А как же CFEngine? Вроде ж самый навороченный инструмент такого типа?
     
     
  • 5.99, InuYasha (?), 11:43, 31/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю! Наконец-то что-то сишное!
     

  • 1.89, Jkeks (?), 19:30, 27/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    КонецЕсли

     
     
  • 2.98, InuYasha (?), 11:42, 31/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    КонЕсли
    ИнаЕсли ИначеЕсли
    :D

    Ну нафиг так жить... (

     

  • 1.96, PukkuTukkuTaBu (?), 00:34, 30/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    так есть же Crystal???
    crystal-lang.org
    его бы развивали и бросили это
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру