The OpenNET Project / Index page

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

Интервью с Юкихиро Мацумото, создателем языка Ruby

19.03.2021 11:34

Опубликовано интервью с Юкихиро Мацумото, создателем языка Ruby. Юкихиро рассказал о том, что вдохновляет его на изменения, поделился мыслями об измерении скорости языков программирования, экспериментах в языке и новых возможностях Ruby 3.0.

Вступление

Наш друг Юкихиро Мацумото, создатель языка программирования Ruby, смог присоединиться к нам для участия в интервью. Григорий Петров, DevRel компании Evrone, побеседовал с Юкихиро, чтобы получить из первых рук информацию о новых возможностях последнего крупного релиза Ruby. Юкихиро также поделился подробностями своего подхода к улучшению Ruby и дал нам представление о будущем языка.

Интервью

Григорий: Меня зовут Григорий Петров. Я нахожусь в офисе Evrone, чтобы взять интервью у Юкихиро Мацумото, автора языка программирования Ruby. Прошло всего несколько месяцев после выхода релиза Ruby 3.0 с его новыми крутыми возможностями.

Спасибо, что присоединился к нам и что выпустил Ruby 3.0. Это огромный релиз со множеством экспериментов, сложностей и новых возможностей, с обратной связью. Какое нововведение в Ruby 3.0 тебе больше всего нравится?

Юкихиро: Мне нравится сопоставление с образцом, включая правостороннее присваивание. В то же время я в восторге от Ruby-акторов (ractors) и статической типизации — думаю, что это изменит культуру программирования на Ruby к лучшему.

Григорий: Да, статическая типизация — это замечательно. Мне не терпится увидеть, как сработает идея добавления типов в стандартную библиотеку и фреймворки. Сопоставление с образцом — тоже здорово! Мне его не хватает в Python, и хорошо, что можно использовать это в Ruby.

Ruby 3.0 обратно совместим. Это очень кстати, потому что разработчики ненавидят что-то ломать, и им нравится сохранение обратной совместимости. Можешь ли ты порекомендовать этот подход для других языков? Поддерживать обратную совместимость — это ведь удачная идея?

Юкихиро: Да. Когда я начинал создавать Ruby, сообщество языка было небольшим. Так что в то время можно было отказаться от старой версии и сломать синтаксис языка. Но сообщество Ruby выросло, оно насчитывает миллионы программистов по всему миру, и даже малейшее изменение может что-то испортить.

В прошлый раз, когда мы сломали совместимость в Ruby 1.9, мы поняли, что это может надолго расколоть сообщество. После Ruby 1.9 я принял решение, что мы будем стараться ничего не ломать даже при выпуске мажорных версий. У других языков, таких как Python 3 или PHP 6, была аналогичная проблема, которая показала важность обратной совместимости.

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

Однако, с другой стороны разработчики любят новое, поэтому мы должны добавлять новые фичи, и возникает своего рода противоречие. Но я думаю, что мы сумели его разрешить, по крайней мере, для Ruby 3.0.

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

Я помню, какие трагедии разыгрывались 10 или 15 лет назад при переходе Python с версии 2 на 3. Это длилось несколько лет, и основные разработчики даже не были уверены, следует ли им продолжать разработку Python 3 или просто вернуться к версии 2 и успокоиться. Что-то подобное происходило и с PHP. Я рад, что сейчас мы находимся на такой стадии разработки, когда можно предложить потрясающие фичи, не огорчая миллионы разработчиков.

Давай поговорим об фичах. Языки программирования заимствуют удачные решения друг у друга. В Ruby теперь есть сопоставление с образцом; деструктуризация хэшей уже была в Python и JavaScript, а теперь появилась и в Ruby. Возможно, в будущем Python или JavaScript позаимствуют у Ruby правостороннее присваивание. Какие у тебя планы на следующие версии? У тебя уже есть смелые идеи, что-то хочешь позаимствовать или обкатать?

Юкихиро: Хороший вопрос! Но мы долго были сосредоточены на Ruby 3, а с момента релиза прошел всего месяц, так что у меня пока не сформировались безумные идеи на будущее. Это могло бы быть улучшение ractor’ов и системы модулей для Ruby. Java и Python имеют модульную систему. Кроме того, может было бы полезно предоставить структурированную систему пакетов. У меня возникают некоторые мысли, но пока недостаточно конкретные, чтобы их обсуждать. Может, тебе придется подождать год или около того.

Григорий: Не проблема. Я пишу код 20 лет и с удовольствием буду писать еще лет 20.

Кстати, система управления пакетами Ruby может быть не такая полнофункциональная, как, например, в Java, но Ruby позволяет пользователям устанавливать и использовать несколько версий одной и той же зависимости. И это действительно здорово, потому что в Python, например, придётся довольствоваться только одной версией зависимости, что создает множество проблем. А Javascript, Node.js просто помещают версии в определенный каталог. Итак, Ruby отлично себя чувствует с текущей системой, но мы всегда будем ждать новых улучшений.

Юкихиро: Да, мы могли бы подготовить какие-то контейнеры, чтобы разные версии gem’ов могли находиться в разных контейнерах, или что-то в этом роде.

Григорий: У вас еще много времени, чтобы это протестировать. Появляется очень много новых языков программирования. Как ты это отслеживаешь? У тебя есть подписки на RSS или разработчики приходят и рассказывают о новых фичах?

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

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

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

Григорий: Итак, если кто-то из наших читателей хочет предложить Юкихиро интересные идеи, он может сделать это с помощью Ruby Redmine. Что касается проблемы пандемии… как с твоей точки зрения повлиял на разработку и внедрение Ruby, а также на сообщество тот факт, что всё делается из дому, и все конференции проходят в онлайн?

Юкихиро: Повседневная разработка не очень изменилась. Я ведь живу далеко от Токио, встречи и общение наших разработчиков в основном проводились через интернет и до пандемии. Но то, что сейчас нет «настоящих» конференций — это плохо.

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

Григорий: Кстати, в 2020 мы организовали и участвовали во множестве онлайн-конференций, и ты тоже. Что ты думаешь об онлайн-конференциях? Полезны ли они? Можешь ли ты получать с их помощью обратную связь и общаться с другими разработчиками Ruby?

Юкихиро: Онлайн-конференции в форме презентаций по-прежнему полезны. Но в то же время на онлайн-конференции невозможно пообщаться с глазу на глаз, вместе поужинать и просто поболтать, и я очень скучаю по таким вещам. Ценность конференции в неформальном общении.

Григорий: Кстати, хочешь присоединиться к нашей онлайн-конференции RubyRussia, не выходя из дома?

Юкихиро: Конечно!

Григорий: Отлично, через несколько месяцев пришлю тебе приглашение.

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

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

Юкихиро: Когда сообщество Ruby было маленьким, и его не волновали изменения, был широкий простор для экспериментов. Если что-то не срабатывало, то это «что-то» просто удаляли, совместимость никого не волновала. Но те старые добрые времена миновали, теперь у нас огромное сообщество.

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

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

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

Поэтому при проведении экспериментов с фичами Ruby приходится идти на компромисс, учитывая текущий размер сообщества разработчиков Ruby. Большое сообщество рубистов не простит сделанных ошибок, но размер сообщества разработчиков языка не даёт нам провести все эксперименты внутри. Нам приходится просить всё сообщество опробовать новые изменения.

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

Так бывает с другими языками. В отличие от Ruby, сообщества Python и PHP достаточно велики, чтобы экспериментировать в среде разработчиков языков.

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

Юкихиро: Проектирование языка — это увлекательно. Одно очень большое преимущество языкового эксперимента — возможность пригласить сообщество пользователей помочь в разработке. Даже когда разработчиков самого языка станет достаточно много, мы сможем приглашать широкое сообщество Ruby для участия в некоторых языковых экспериментах.

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

Юкихиро: Большинство пользователей Ruby даже не рассматривают возможность присоединиться к процессу проектирования, хотя это было бы полезно.

Григорий: У меня каверзный вопрос по поводу все ractor’ов и асинхронных fibers. Мне нравится асинхронность: как параллелизм, так и многозадачность. И сейчас в Ruby 3 у разработчиков есть широкий выбор. Для параллелизма можно использовать процессы или ractor’ы, а для многозадачности — потоки или асинхронные fiber’ы. Как обычному Ruby-разработчику правильно сделать выбор?

Юкихиро: Разработчикам веб-приложений не нужно заботиться об асинхронности, потому что серверы приложений, такие как Unicorn, Puma и Falcon, сами о ней позаботятся. Unicorn использует процессы, Puma — потоки, а Falcon — fiber’ы. Выбор сервера приложений напрямую влияет на выбор модели асинхронности. Может быть, в будущем у нас появится сервер приложений на основе ractor’ов.

Обычный разработчик экспериментирует с асинхронностью, исследуя узкие места производительности приложения. Если узким местом является ввод/вывод, разумно выбрать асинхронные fiber’ы. Они оптимизированы для мультиплексирования ввода-вывода. Так что выбирайте их, если ваша программа использует много операций ввода-вывода. А если вы хотите поэкспериментировать с многоядерностью и задачами с высокой нагрузкой на процессор, то лучше подойдут ractor’ы.

Это базовый выбор, потому что текущая реализация ractor’ов сопоставляет один ractor с одним потоком операционной системы. Вы пока что не сможете создать миллионы ractor’ов, потому что каждый из них потребляет несколько мегабайт памяти стека. Это очень много. А fiber’ы потребляют всего несколько килобайт памяти или даже меньше. Таким образом, с fiber’ами вам не нужно беспокоиться о расходе памяти, вы можете создать столько fiber’ов, сколько захотите. Это второй критерий выбора. Коичи Сасада (Sasada Koichi), который отвечает за ractor’ы, работает над их улучшением. Вероятно, в будущем ractor’ы не будут потреблять столько памяти.

Возможно, позже мы сможем использовать их так же, как горутины в Go. Но это дело будущего.

Григорий: Да, и это, похоже, светлое будущее.

Мне нравится, что авторы фреймворков придерживаются известной концепции «convention over configuration» и разработчики могут использовать модель асинхронности, уже выбранную и правильно организованную автором фреймворка. А после этого, если что-то работает медленно, разработчики могут копнуть глубже и переключиться на другую модель работы с асинхронностью. Хорошо, когда есть выбор.

Еще один вопрос по скорости.

Недавно я наткнулся на короткую статью Давида Хайнемейера Хансона (David Heinemeier Hansson), где встретилось интересное наблюдение: для всего парка его серверов, обеспечивающих работу Basecamp и почтового сервиса Hey.com, только 15% бюджета тратится на выполнение кода Ruby. Если даже ускорить Ruby в 10 раз, это ничего существенно не поменяет. Насколько важна чистая скорость для Ruby?

Юкихиро: Непростой вопрос. Для большинства веб-приложений Ruby и бизнес-логика не являются узким местом. Львиная доля времени приходится на работу с базами данных, сетевыми соединениями и работой с операционными системами. Shopify и GitHub используют Ruby, видимо, скорость не имеет большого значения. Количество их пользователей очень велико, а они работают без проблем. Если речь идёт о производительности труда программиста, то производительность языка — не самая большая проблема.

Я долго так считал, пока несколько лет назад не понял, что многие судят по микро-бенчмаркам.

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

Компилятор JIT — одно из таких улучшений. Он пока что не повышает производительность приложений, использующих Rails, поскольку те тратят время на доступ к базе данных и к сети. Но JIT-компилятор повышает производительность микро-бенчмарков.

Мы улучшаем производительность Ruby во всех аспектах.

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

Григорий: Точно, JIT помогает. В прошлый раз, когда я проверял искусственный микро-бенчмарк, простое включение JIT для Ruby ускорило его в десять раз. Это действительно работает.

Юкихиро: Да, мы не боремся с инстинктами.

Григорий: Последний технический вопрос касается функций, включенных в стандартную библиотеку. Есть два подхода. Первый — это то, чем знаменит Python. Огромная стандартная библиотека, включающая всё, например FTP-клиент, почтовый клиент и zip-архиватор. Начинающим разработчикам это нравится, потому что они могут посмотреть в руководства и получить всё без установки зависимостей. И это «всё» работает «из коробки».

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

Другой подход — базовая низкоуровневая стандартная библиотека и экосистема сторонних библиотек, которая процветает и предлагает конкурентоспособные решения для всего. Это прекрасно для конкуренции авторов и стимулирует инновации. Но новые разработчики не знают, что использовать. Так что тут своего рода противоречие. Что ты об этом думаешь?

Юкихиро: Для Ruby 1.8 использовался подход «толстой» стандартной библиотеки, но со временем некоторые библиотеки остались без поддержки. Мы изменили подход, разделив библиотеку на gem’ы.

Очень немногие использовали RubyGems с Ruby 1.9, но во времена Ruby 2.0 RubyGems был настроен для общего доступа. С появлением Ruby 2.0 сообщество RubyGems становилось все больше и больше, каждый использовал RubyGems. Если все используют gem’ы, нам не нужно добавлять все в поставку языка программирования. Так что мы постепенно разделили стандартную библиотеку на gem’ы, сделав дистрибутив легким и удобным для поддержки.

Ты помнишь, что наше сообщество разработчиков языка недостаточно велико, чтобы в нём были эксперты по всем вопросам. В основном, наши разработчики Ruby не являются веб-разработчиками. Мы не очень умеем поддерживать такие веб-технологии, как webrick, http-клиенты или даже обработку xml.

Было удачной идеей убрать эти неподдерживаемые части из стандартных дистрибутивов языка в gem’ы. Теперь другие разработчики могут создавать конкурентоспособные, лучше поддерживаемые gems. Естественная конкуренция — хорошая штука!

Григорий: Понятно. Из-за пандемии обучение и образование также были переведены в онлайн. За последние два года я просмотрел множество курсов, блогов и мест, где разработчики могут изучать Ruby. Появились новые сервисы, и мне особенно нравится Real Python для языка Python, и я надеюсь, что для Ruby будет создано что-то столь же крутое.

Что ты порекомендуешь начинающим разработчикам, изучающим Ruby, или опытным разработчикам, которые хотят освежить свои знания для Ruby 3? Какие книги, блоги или учебные платформы ты порекомендовал бы в 2021 году?

Юкихиро: Лучшие учебные материалы 2021 г. для начинающих программистов находятся на railstutorial.org и guides.rubyonrails.org. Создание веб-приложения — хороший урок программирования, это близко к реальному продукту. В наше время достаточно запустить Scaffolding и написать несколько строк кода на Ruby, чтобы получить простое веб-приложение. За считанные секунды вы можете это веб-приложение обновить и улучшить.

Короткий цикл разработки побуждает разработчиков узнавать больше. После того, как разработчик разберется в Rails и Ruby, он может изучать всё, что захочет: машинное обучение, встроенные системы. Для новичков веб-приложение является хорошей отправной точкой.

Григорий: Да, мы тоже пытаемся обучать веб-разработке, потому что её результатами люди пользуются каждый день. Так что они создают хорошо знакомые вещи. И мой последний вопрос. Недавно я видел, что Ruby получил в Японии множество наград, правительственные чиновники благодарили разработчиков и тому подобное. О таком отношении к другим языкам в других странах я не знаю.

Является ли эта признательность правительства и все мероприятия, проводимые правительством для Ruby, чем-то специфическим для Японии и японской культуры? Или в Ruby есть что-то особенное, или причина и в том и в другом?

Юкихиро: Сообщества разработчиков очень похожи как в Японии, так и за ее пределами, например, в России, США и Европе. Но считается, что Ruby родился в Японии, и некоторым людям в Японии, особенно в секторах местного самоуправления, хочется поощрить его.

Лично у меня хорошие отношения с губернаторами префектур и мэрами некоторых городов. Они поддерживают сообщество Ruby, организовывая конференции и вручая призы. Так они поощряют сообщество рожденной в Японии технологии. Такие программы местного самоуправления — уникальное японское явление, но местное сообщество разработчиков очень похоже на сообщества других стран.

Григорий: Потрясающе. Я надеюсь когда-нибудь побывать в Японии! Увидимся осенью 2021 года на Ruby Russia. Большое тебе спасибо. Я надеюсь, что наши вопросы и твои ответы помогут разработчикам стать лучше, писать хороший код и получать от этого удовольствие. Аригато.

  1. Главная ссылка к новости (https://evrone.ru/yukihiro-mat...)
  2. OpenNews: Доступен интерпретатор mruby 3.0
  3. OpenNews: Выпуск языка программирования Ruby 3.0
  4. OpenNews: Релиз 19.3.0 виртуальной машины GraalVM и реализаций Python, JavaScript, Ruby и R на её основе
  5. OpenNews: Зафиксирована подстановка вредоносного кода в Ruby-пакет Strong_password
Автор новости: Evrone Development
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54790-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (100) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Леголас (ok), 17:18, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Японцы (как и все азиаты) такие таинственные... Но вот только не Юкихиро, всё как на духу выложил (: Спасибо, приятно было почитать.
     
     
  • 2.8, Аноним (-), 18:09, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  оно насчитывает миллионы программистов по всему миру, и даже малейшее изменение может что-то испортить.

    Золотые слова! Дайте их в на японских иероглифах, пусть девочки татуировки делают !

     
     
  • 3.78, Michael Shigorin (ok), 13:54, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Слова-то золотые, но девочки наши -- брильянтовые: хотите уродоваться татуировками -- вот с собой так и поступайте.  Ишь, мамкин советчик выискался.
     
     
  • 4.106, Аноним (106), 06:21, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >хотите уродоваться татуировками -- вот с собой так и поступайте.

    Вот только не надо следом аргументы про уголовный мир ещё, а?


    А, вообще, это очень красиво если тело красивое. Зацени девушку, например: https://instagram.com/fishball_sg

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

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

     
     
  • 5.107, q (??), 06:40, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Все правильно ты и твои друзья делают. Вот покроешь все тело татухрой, так хоть потомкам будет что оставить после себя. Шкура твоя будет в музее висеть, все будут ходить и восхищаться.
     
  • 5.113, n00by (ok), 11:01, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>хотите уродоваться татуировками -- вот с собой так и поступайте.
    > Вот только не надо следом аргументы про уголовный мир ещё, а?

    Ага.

    Самоповреждающее поведение – это комплекс действий аутоагрессивного характера, нацеленных на причинение физического вреда собственному телу. Суицидальные намерения отсутствуют, нанесение физического ущерба помогает справиться с негативными переживаниями. Возможные действия – порезы, расцарапывание, обжигание кожи, удары головой или кулаком о стену. Менее очевидные симптомы – голодание, обжорство, злоупотребление алкоголем, нанесение шрамов, татуировок. Диагностика проводится методом клинической беседы, осмотра, с помощью опросников. Лечение включает когнитивно-поведенческую, диалектическую, семейную психотерапию.

     

  • 1.2, Albertio (ok), 17:18, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Есть такая японская пословица: "Краткость - сестра новостей на опеннете".
     
     
  • 2.25, Дигиниротар (?), 20:08, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дошутился?
     

  • 1.3, Аноним (3), 17:21, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Опять реклама какого-то левого сайта с "интервью".
     
     
  • 2.5, Леголас (ok), 17:33, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    этот сайт «зарегался» и публикует новости, кои не банятся
     
  • 2.49, Аноним (49), 00:02, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    UPD: Интервью скопипастили прямо сюда. А то новость в три строчки выглядит палевной
     

  • 1.4, Аноним (4), 17:22, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Раньше в китайских игрушках активно использовался, потом в рельсах и скриптах редхата, сегодня в раке, без которого mkvtoolnix не собрать. Эволюция, как ни крути. Какие планы на будущее, если вкратце? А то по ссылкам на сомнительные сайты. Страшно ходить, вдруг там скрипты?
     
     
  • 2.6, Аноним (6), 17:37, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не бойся, там скрипты
     
     
  • 3.9, Аноним (9), 18:10, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    NoScript || uMatrix
     
     
  • 4.13, Аноним (13), 18:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    wget
     
     
  • 5.14, Аноним (13), 18:30, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ... + notepad
     
     
  • 6.46, Аноним (46), 22:54, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    - windows
     
  • 2.11, anonymous (??), 18:13, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Он активно пилит mruby, встраиваемый и компилируемый эквивалент. Кое-где уже находит применение.
     
     
  • 3.58, Аноним (58), 08:57, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а зачем он нужон ежели есть Crystal?
     
  • 2.17, Аноним (17), 18:36, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Про YaST2 в OpenSUSE забыл, ну.
     
  • 2.39, Аноним (39), 21:20, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так никуда ходить не надо, всё интервью здесь же
     
     
  • 3.44, Аноним (4), 21:41, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Так никуда ходить не надо, всё интервью здесь же

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

     
     
  • 4.50, Аноним (39), 00:04, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    В Руби было много приятных фишек с самого создания. Например, удобное (а не как в Хаскеле) базовое ФП с filter, map и прочим. Удобные лямбды (а не ограниченные одним выраженим как в Питоне). И это в сочетании с удобным ООП, и с 90-х годов! Методы контейнеров настолько удобны, что использовать циклы особо и не нужно. Регулярные выражения, встроенные в синтаксис языка, а не в стандартную библиотеку, можно матчить как в Перле и Awk просто через оператор и описывать регексы в /слэшах/ вместо строк с мучительным эскейпингом. Встроенный тип диапазона и синтаксис вида start..end прямо в языке. Фишки из классических Unix-инструментов Bash, Perl и Awk, типа функций sub, gsub, tr. Awk-режим с автоциклом, автосплитом, BEGIN и END. Упорядоченные методы на объектах, типа "str".upcase() и "str".length(), а не в разнобой "str".upper(), но len("str"). В функциях не обязательно писать return, как и в других ФП-языках. Очень удобно для крохотных функций, где return занимает пол-функции. А в Ruby 3 с синтаксисом "def method() = statement" стало ещё удобнее. Функция может возвращать несколько значений, просто через запятую, и принимать в виде "a, b = func()" без всяких скобочек и специальных операторов. if и case-when возвращают значения. Удобно, не надо повторять присваивание одной и той же переменной в череде if-elsif-elsif или case-when-when. Удобный матчинг в case-when, хоть со значением, хоть с типом. А в Ruby 3 уже и полноценный pattern matching with deconstruction подъехал, как в Scala и Haskell.
     
     
  • 5.51, Аноним (4), 00:17, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это понятно, мне это всё в руби тоже очень нравится. Я про статическую типизацию и всё остальное. Правда, в том же питоне у меня тайпхинты уже в 500 символов выходят, это что-то не совсем здоровая тема (с новым union оператором убавится минимум на треть наверно). Но зато сразу видно содержимое и в 3.10 оно вроде даже проверяется интерпретатором, но это не точно. Лямбды в питоне это то чего стоит избегать, они всегда медленнее идеоматических конструкций из генераторов и включений (которые постоянно оптимизируют ещё сильнее) и фп (которое обычно где-то на 2 месте, но зависит от того сколько копирований происходит в процессе).
     

  • 1.7, Аноним (7), 17:59, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Мацумото гений
     
  • 1.19, Урри (ok), 19:13, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мацумото - очень умный и талантливый программист, я его безмерно уважаю.
    Руби - красивый и элегантный язык.
    Интервью по ссылке - водянистое гobнo.
     
     
  • 2.23, Аноним (13), 19:37, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    В небеса Мацумото смотрел,
    Он о руби думал,
    Редкий самурай поймёт.
     
  • 2.60, Аноним (60), 09:59, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Качество интервью зависит в большой (нет, в большей) степени от журналиста.
     
  • 2.75, Michael Shigorin (ok), 13:48, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Мацумото - очень умный и талантливый программист, я его безмерно уважаю.
    > Руби - красивый и элегантный язык.

    +1

    > Интервью по ссылке - водянистое [...]

    -1.

    Оно просто не на тех, кто "изучал Ruby по первой книжке с киркой", а на молодняк явно заточено, кмк.

    Впрочем, Вы же можете сообразить письмишко вида "здравствуй, дорогой Мац -- я хочу сообразить настоящее интервью с тобой, как в старые добрые времена"? ;-)

    Я бы с удовольствием почитал.  Здесь же.

     
     
  • 3.110, grigoryvp (ok), 10:54, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вопросы для всех интервью я собираю по одному и тому же принципу что можно тако... большой текст свёрнут, показать
     
  • 2.30, Lex (??), 20:21, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Япония - страна всевозможных экзекуций. Ну будет еще одна, аккурат для органов местного самоуправления.
    Будут заставлять министров, их замов и даже бухгалтершу Юку выполнять задания на руби за ограниченное время и хлестать кнутом по голой заднице если не успеют или прога провалит тесты.. следующий уровень - кодинг носом по клавиатуре ведь руки-ноги плотно связаны в лучших японских традиция..
    Чем-то тянет на одно из бесчисленных японских телешоу для тех_еще любителей.. будет еще одно.

    В этой_стране, к счастью, никому не хочется поощрять руби, особенно в секторах местного самоуправления.

     
     
  • 3.34, Аноним (13), 20:51, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Япония - страна всевозможных экзекуций.

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

     
     
  • 4.59, Аноним (58), 08:59, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и прально делают. Хотя бы в школе девочки должны оставаться девочками, а то в Канаде вон их уже тайно от родителей превращают в мальчиков
     
     
  • 5.63, Аноним (13), 10:18, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не понял. Если у девочки натуральный цвет - каштановый, её заставляют краситься в чёрный. Постоянно.
     
  • 2.64, n00by (ok), 10:29, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    «Тридцать лет назад инициатива академика А. П. Ершова по обучению школьников информатике несколько обидела профессионалов, полагавших, что программирование — это занятие для людей с высшим образованием.»

    Ныне в ЭтойСтране™ каждый может написать на диалекте баш Russian OS und Application®, или привлечь к её тестированию конструктивное сообщество.

     

  • 1.26, Аноним (26), 20:16, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Кто такой Григорий?
     
     
  • 2.33, Аноним (13), 20:50, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    один из японофилов.
     
     
  • 3.57, Аноним (57), 08:57, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может он и японофил, но он искренне считает, что Ruby - это как питон, просто в другой оболочке.
     
  • 2.111, grigoryvp (ok), 10:56, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Один из разработчиков Radmin, организатор Moscow Python и Ruby Russia, большой любитель допрашивать нейрофизиологов и потом рассказывать разработчикам на конференциях как когнитом Анохина и AST Грациано мешают нам писать читаемый код)
     

  • 1.35, Аноним (35), 21:02, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    жуткое тормозилово девизом которого является "понятность и простота важнее, чем скорость работы". плюс тупой местами не логичный синтаксис. я видел чела который два года писал на этом говне - функционал был примерно равен месяцу разработки одним человеком на php. при этом этот программист даже не знал что такое http. в мусорку этот мусор. странно что этот фрико язык еще жив.
     
     
  • 2.36, Аноним (35), 21:03, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    одним человеком на php без фреймворков вообще - на голом php
     
  • 2.41, Аноним (39), 21:27, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Два года? А почему сразу не двадцать? Брехня какая-то. На самом деле на Ruby очень быстро писать. В том числе быстрее, чем на PHP и Python.
     
     
  • 3.42, Аноним (35), 21:31, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    не верь мне вообще без разницы. я просто привел пример программиста из ruby сообщества. про два года мне его начальник рассказал, а про полное не понимание http и вариантов хранения данных - уже я собеседуя этого уникума
     
     
  • 4.65, n00by (ok), 10:38, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну я видел Мистера dd, он баш-программист операционных систем и предлагал одноимённой командой скопировать раздел в каталог. Но это же не значит, что bash непригоден для своих задач и админы должны его выкинуть, пересев на ассемблер.
     
     
  • 5.81, Аноним (81), 17:18, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    К чему этот поток слов? Командой dd действительно можно скопировать раздел в каталог, что не так?
     
     
  • 6.82, n00by (ok), 17:23, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Командой dd действительно можно скопировать раздел в
    > каталог

    Ещё раз. Помедленнее.

    Вы утверждаете, что следующая команда имеет смысл в GNU/Linux:

    dd if=/dev/sda1 of=/home

    или Вы говорите о гипотетической возможности написать некую bash-портянку из команд dd, которая это сделает?

     
     
  • 7.89, Аноним (89), 20:52, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    dd if=/dev/sda1 of=/tmp/sda1.img bs=4096

    этой командой я "скопировал раздел в каталог". в каталог tmp. в файл sda1.img.
    рассказать как теперь его примонтировать?

     
     
  • 8.95, n00by (ok), 08:06, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Этой командой вы применили примитивный приём демагогии подмена предмета обсужде... текст свёрнут, показать
     
  • 3.68, Аноним (58), 12:52, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а почему на Рубях быстрее, чем на Питоне? ;) Либ что ли больше? :)) Или меньше на клаве набирать? :P
     
     
  • 4.90, Аноним (39), 22:16, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Трудно однозначно сказать Просто подтверждено экспериментально Либ больше Да ... большой текст свёрнут, показать
     
     
  • 5.119, Наноним (?), 13:15, 24/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорость работы в сравнимых языках как Ruby и Python будет прежде всего определяться программистом: на сколько он владеет языком и IDE/редактором. Различия в синтаксисе не такие значительные, чтобы утверждать что однозначно написание на одном языке абсолютно всего быстрее чем на другом.
    При этом не будем забывать что Ruby - ещё более тормозное говно чем Python, именно в исполнении кода. Удобство и красота языка в данном случае - скорее минус, потому что на этом тормозном говне программисты хотят писать.
     
     
  • 6.120, Аноним (39), 16:04, 24/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Кто как обзывается - тот сам так называется
     
  • 2.76, Michael Shigorin (ok), 13:51, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > я видел чела

    А я вот смотрю на Вас и вспоминаю поговорочку про мух и пчёл.
    Может, ещё не поздно?..

     
  • 2.112, grigoryvp (ok), 10:57, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    О жутком тормозилове я буквально несколько недель назад рассказывал вот тут: https://www.youtube.com/watch?v=m73VjmjAnuw
     
     
  • 3.121, Аноним (121), 08:49, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А можно поподробнее про Ваше заявление в данном докладе о том что ядра в совр... большой текст свёрнут, показать
     
     
  • 4.122, grigoryvp (ok), 08:56, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно понимаю Ваши рассуждения про последовательную работу ядер "строго друг за другом, много миллиард раз в секунду"?

    Вообще неправильно :(

     
     
  • 5.123, Аноним (121), 09:43, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так "растолкуйте" что "конкретно" Вы имели в виду. И главное - откуда первоисточник этой Вашей информации? "Много миллиардов раз в секунду" - это ведь на уровне частоты "тактирования" ядер. Откуда у Вас информация о работе ядер "последовательно", по принципу "первый тактовый импульс работает первое ядро, второй тактовый импульс работает второе ядро и так далее"? Вас не затруднит дать ссылку на документ-первоисточник, на английском естественно, с описанием работы конкретного многоядерного процессора (конкретной реализации "в кремнии") на которое Вы ссылаетесь?  
     
     
  • 6.125, grigoryvp (ok), 10:37, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот здесь в пересказе ошибка Это один и тот же импульс Который последовательно... большой текст свёрнут, показать
     
  • 5.124, Аноним (121), 09:58, 25/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А как работают многоядерники с разными ядрами? Big-Little. Их ядра тоже работают "последовательно"? На разных тактовых частотах, отличающихся в разы? Работают "cтрого по очереди", одно ядро за другим? Или Вы все-таки "допускаете" существование многоядерников с одновременно работающими ядрами? Тогда Вас не затруднит указать конкретный класс/семейство процессоров про которое было Ваше "заявление" о "строго последовательной" работе ядер? И опять-таки привести ссылку на первоисточник, из которого Вы почерпнули данные знания.
     

  • 1.38, artb1sh (ok), 21:18, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сколько аниме нарисовал этот ваш Мацумото спросили?
     
  • 1.40, artb1sh (ok), 21:27, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Гил уже выпилили?
     
     
  • 2.69, Аноним (58), 12:52, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    GIL и в Ocamle есть
     
     
  • 3.80, n00by (ok), 14:04, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > GIL и в Ocamle есть

    Подскажите, пожалуйста, где там его найти.

     

  • 1.43, Аноним (35), 21:35, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    не давно обсуждали с коллегами те инструменты что есть на рынке. сошлись что питон тупой и тормозной но хоть прототипы можно писать. а про этот мусор то мы и забыли, а оно оказывается еще живо, два с половиной инвалида что-то пишут. сам Григорий. это солидно. какой бред. но автор молодец как выясняется подсел на какие то гранты, генерирует мусор при поддержке правительства
     
     
  • 2.47, Аноним (39), 23:00, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Интервью не читай, сразу комментарий пиши В интервью написано, что Ruby использ... большой текст свёрнут, показать
     
     
  • 3.48, Аноним (81), 23:52, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я очень вниматнльно прочитал эту воду прежде чем написал первый коммент тут. Это всё не серьезно. Какой то Девид который вообще умеет ли адекватно оценивать нагрузки? Тяжелое наследие github? Как раз два проекта и получается))) сидите в своем мирке, ruby самый быстрый!)))
     
     
  • 4.52, Аноним (39), 00:23, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Руби ясен пень не самый быстрый в смысле выполнения кода Но очень быстр в смысл... большой текст свёрнут, показать
     
     
  • 5.55, СеменСеменыч777 (?), 07:53, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Компы сейчас быстрые пошли.

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

     
     
  • 6.72, Аноним (58), 12:58, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ты еще Хаскель не видел. По сравнению с ним, Жаба прагматичный и экономный, весьма прагматичный язык.
     
     
  • 7.77, Michael Shigorin (ok), 13:53, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Это был тот же поклонник (в плохом смысле) php, что и выше про два года глубокомысленно вещал?

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

     
     
  • 8.93, Аноним (-), 03:56, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    поклонников php не бывает в иных смыслах, только в плохих... текст свёрнут, показать
     
  • 6.86, Аноним (39), 19:42, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не стоит так сгущать краски. Не все же ресурсы разом израсходуют и ничего не останется. Надо учитывать, насколько больше этих ресурсов израсходуется. Если какие-то вычисления займут неделю, а не час - это проблема. А если чтение из БД займёт не 1,000001, а 1,000002 секунды - пользователь и не заметит, а программист сэкономит время на разработке.
     
     
  • 7.102, СеменСеменыч777 (?), 11:15, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не все же ресурсы разом израсходуют и ничего не останется

    именно все.
    современные фаерфокс и хром на современных сайтах готовы сожрать для себя
    1) все ядра всех CPU
    2) всю RAM

    > Если какие-то вычисления займут неделю, а не час

    какие еще "вычисления" - числа Фибоначчи вычислять ?
    кажется, автор Руби в своем интервью ясно предостерег от этого.

    прокачка данных (из которых 50-70% не нужны и даже вредны) через 17+ уровней абстракций туда-сюда-обратно вычислениями не является.

    > если чтение из БД займёт не 1,000001, а 1,000002 секунды

    если время отклика на юзерский ввод составит не 0.1, а 2,1 сек.
    если потребление памяти при этом возрастет на 950%.
    если ... много всяких если.

     
     
  • 8.104, Аноним (39), 22:29, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, прискорбно Но фаерфокс и хром написаны вовсе не на Руби А значит, вы... большой текст свёрнут, показать
     
     
  • 9.115, Аноним (115), 14:28, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Там не нытье, там просто тонны срача Или ты думал бидон , петон , пихтонист... текст свёрнут, показать
     
  • 5.83, Аноним (81), 17:27, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это все понятно. 80/20. Вот только есть большое количество языков конкурентов на которых написание кода не менее быстрое и при этом скорость полученного кода не идет в сравнение с этим поделием. Принимая во внимание скорость разработки, скорость полученного кода, логичность языка, распространненость на рынке - понимаем что это поделие идет в мусорку, да оно там и есть просто признайте это. Можете не признавать - все одно писать на этом больше не стпнут.
     
     
  • 6.87, Аноним (39), 20:08, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да что-то не похоже Большого количества нет Есть несколько сравнимых языков, м... большой текст свёрнут, показать
     
     
  • 7.96, n00by (ok), 08:44, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > И я не понимаю вашего хейта.

    Руби создал японец, который живёт в Японии. Правильные языки создают только крутые американские guys, или приехавшие за Американской Мечтой. Это касается всех подобных священных войн.

     
  • 5.84, Аноним (81), 18:33, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что же вы уважаемый на bash не пишите раз все одно от стораджа ответ долгий? Каждой задаче свой инструмент это вы верно говорите, вот только ruby ваш это как чемодан без ручки а не инструмент четко заточенный под свою область применения
     
     
  • 6.88, Аноним (39), 20:41, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я прямо офигел от количества нелогичных неявных предположений таком коротком воп... большой текст свёрнут, показать
     
  • 2.70, Аноним (58), 12:54, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    мдее... Питон не может быть тупым, как и Руби, например, - у них нет нейронов в мозге, которого тоже нет. А вот программисты - это могут быть
     

  • 1.45, Аноним (45), 22:26, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Long live Ruby!
     
  • 1.56, Аноним (56), 08:54, 20/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > В прошлый раз, когда мы сломали совместимость в Ruby 1.9, мы поняли, что это может надолго расколоть сообщество.

    Прекрасно помню этот момент. Для меня это поставило крест на Руби тогда. Мы начинали проект, и столкнулись с этой ахинеей. Бросили, перешли на питон, т.к. многие были питонщиками. Вероятно, это было ошибкой. Проект то успешно завершился, но питон мне не понравился, я перестал заниматься бекендами, ушел обратно в embedded, где и остаюсь.

     
  • 1.62, myhand (ok), 10:13, 20/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Сопоставление с образцом — тоже здорово! Мне его не хватает в Python

    WAT?  PEP 634.  Добавили же, нет?

    > Возможно, в будущем Python или JavaScript позаимствуют у Ruby правостороннее присваивание.

    Горшочек - не вари!

    > но Ruby позволяет пользователям устанавливать и использовать несколько версий одной и той же зависимости. И это действительно здорово, потому что в Python, например, придётся довольствоваться только одной версией зависимости

    ЛПП.  Хоть стотыщ.  Просто это делается не так как в Ruby, т.е. разные venv и т.п.

    Не факт что лучше.

    > После Ruby 1.9 я принял решение, что мы будем стараться ничего не ломать даже при выпуске мажорных версий.

    Ну, тогда таки можно закапывать.  Либо язык усложняется до нецензурного уровня при своем развитии - либо он ломает совместимость.  Либо, соответственно, не развивается.

    > Для Ruby 1.8 использовался подход «толстой» стандартной библиотеки, но со временем некоторые библиотеки остались без поддержки. Мы изменили подход, разделив библиотеку на gem’ы.

    А вот это - правильно.

     
     
  • 2.74, Аноним (58), 13:02, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да. В след релизе выходит.
     
  • 2.114, grigoryvp (ok), 11:10, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > WAT?  PEP 634.  Добавили же, нет?

    3.10, на момент интервью не было еще даже в дев версии. Выйдет осенью)

    > ЛПП.  Хоть стотыщ.  Просто это делается не так как в Ruby, т.е. разные venv и т.п.

    Именно этому я и удивился в интервью, сказав что в Python развесистая система управления зависимости во многом потому, что одновременно в одном окружении может быть только одна версия установлена. Надеялся, что Матц поподробнее расскажет, какие пути улучшения он видит для Ruby. Но не зашло)

     
     
  • 3.116, myhand (ok), 16:56, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> WAT?  PEP 634.  Добавили же, нет?
    > 3.10, на момент интервью не было еще даже в дев версии.

    Время интервью - непонятно.  Сейчас (на момент публикации оного) - уже 6-я альфа как-бе.

    > Выйдет осенью)

    Да может даже летом, судя по темпам.

     
     
  • 4.117, grigoryvp (ok), 17:05, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Да может даже летом, судя по темпам.

    Все запланировано, фиксированный цикл релизов: https://www.python.org/dev/peps/pep-0619/

     

  • 1.79, Michael Shigorin (ok), 13:58, 20/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Коллеги, спасибо за интересный материал.

    Насчёт участия -- до сих пор жалею, что в 2003 году постеснялся высказаться о том, что некоторые обсуждавшиеся для gem'ов штуки напоминают мне хорошо известные грабли...

     
     
  • 2.91, Аноним (-), 02:35, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    кому ты нужен со своим "авторитетным" мнением?
     
     
  • 3.97, n00by (ok), 09:24, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > авторитетным

    авто (αὐτός) == сам
    рито (ῥητός) == речь

    Само[стоятельно]рекущий.

    Но откуда жителям Холопии это знать?

     
     
  • 4.98, Аноним (-), 09:55, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    тю, защитник гуру баш-портянок порвался
     
     
  • 5.100, n00by (ok), 10:11, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прое́кция (лат. projectio — «бросание вперед») — механизм психологической защиты, в результате которого внутреннее ошибочно воспринимается как приходящее извне[1]. Человек приписывает кому-то или чему-то собственные мысли, чувства, мотивы, черты характера и пр., полагая, что он воспринял что-то приходящее извне, а не изнутри самого себя.
     
     
  • 6.101, Аноним (-), 10:17, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    звук треска твоего ректального разрыва явно усилился, держи скорей скотч!
     
     
  • 7.103, n00by (ok), 11:23, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Давай, спасибо. Опубликуй заодно и расстояние от тебя до меня. Ты ведь не балабол, значит я в пределе твоей слышимости и нет проблем измерить.
     

  • 1.94, Аноним (94), 05:11, 21/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    передайте ему что "не нужно".
     
     
  • 2.99, Аноним (-), 09:55, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    передаю, тебе - не нужен
     
  • 2.105, Аноним (105), 00:11, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    да-ме!
     

  • 1.108, Некто с Марса и Сникерса (?), 09:33, 22/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интервью отличное. ruby  жив и развивается.
    Между прочим, про производительность приложений он очень правильно сказал. Тема очень флеймообразующая, но на самом деле простая. Если речь идёт о сложном приложении, например о сайте, написанном на фреймворке, который в свою очередь написан на интерпретируемом языке программирования, всё это крутится под управлением веб сервера с сетью, то какова доля интерпретатора в потреблении ресурсов. Т.н. "быстрые" языки программирования(с, например) дают маленький и код для простых учебных задач, но это совсем не означает что на нём можно сделать то же самое, что на python или ruby при тех же трудозатратах и с  такой же производительностью приложения одновременно. Во всяком случае это пока никому не удалось.
     
  • 1.109, Че_ (?), 10:51, 22/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Перед тем, как начинать знакомство с этим божественным творением, обязательно следует прочитать рассказ Роберта Шекли, "Необходимая вещь".
    Это всё, что нужно знать о языке программирования Ruby!
     

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



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

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