The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Интервью с Юкихиро Мацумото, создателем языка Ruby, opennews (ok), 19-Мрт-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


44. "Интервью с Юкихиро Мацумото, создателем языка Ruby"  +/
Сообщение от Аноним (4), 19-Мрт-21, 21:41 
> Так никуда ходить не надо, всё интервью здесь же

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

Ответить | Правка | Наверх | Cообщить модератору

50. "Интервью с Юкихиро Мацумото, создателем языка Ruby"  +8 +/
Сообщение от Аноним (39), 20-Мрт-21, 00:04 
В Руби было много приятных фишек с самого создания. Например, удобное (а не как в Хаскеле) базовое ФП с 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.
Ответить | Правка | Наверх | Cообщить модератору

51. "Интервью с Юкихиро Мацумото, создателем языка Ruby"  +/
Сообщение от Аноним (4), 20-Мрт-21, 00:17 
Нет, это понятно, мне это всё в руби тоже очень нравится. Я про статическую типизацию и всё остальное. Правда, в том же питоне у меня тайпхинты уже в 500 символов выходят, это что-то не совсем здоровая тема (с новым union оператором убавится минимум на треть наверно). Но зато сразу видно содержимое и в 3.10 оно вроде даже проверяется интерпретатором, но это не точно. Лямбды в питоне это то чего стоит избегать, они всегда медленнее идеоматических конструкций из генераторов и включений (которые постоянно оптимизируют ещё сильнее) и фп (которое обычно где-то на 2 месте, но зависит от того сколько копирований происходит в процессе).
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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