The OpenNET Project / Index page

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



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

Оглавление

Опубликован язык программирования Ruby 3.3, opennews (??), 25-Дек-23, (0) [смотреть все]

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


155. "Опубликован язык программирования Ruby 3.3"  +1 +/
Сообщение от Аноним (156), 26-Дек-23, 19:25 
Когда-то вокруг Ruby был такой же хайп, как сейчас вокруг Rust. А сейчас Ruby сохранился только на легаси и в своей небольшой нише.
Делайте выводы.
Ответить | Правка | Наверх | Cообщить модератору

157. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 26-Дек-23, 20:39 
Ruby не дал ничего нового и полезного и даже напротив - вобрал из других языков много неудобного хлама. Rust же даёт новые уникальные фичи, потому rust находится в более выгодных условиях. И его уже потихоньку в ядро загоняют. Т.е. вполне может взлететь.
Ответить | Правка | Наверх | Cообщить модератору

163. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Вы забыли заполнить поле Name (?), 26-Дек-23, 23:40 
> И его уже потихоньку в ядро загоняют. Т.е. вполне может взлететь.

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


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

189. "Опубликован язык программирования Ruby 3.3"  +6 +/
Сообщение от Аноним (189), 27-Дек-23, 15:09 
Руст на хайпе только потому, что его пиарят корпорации и потому, что он продвигает античеловеческую лгбт\сжв повесточку, выгодную глобалистам (сатанистам).
Ответить | Правка | К родителю #157 | Наверх | Cообщить модератору

192. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Аноним (192), 27-Дек-23, 17:57 
> его пиарят корпорации и потому, что он продвигает античеловеческую лгбт\сжв повесточку

Питон же именно так и вытащили. И ничего, все довольны

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

194. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Пряник (?), 27-Дек-23, 18:34 
Не, питон чисто народный язык. Арасаки бы не одобрили бардака с пакетированием и перехода с 2 на 3.
Ответить | Правка | Наверх | Cообщить модератору

199. "Опубликован язык программирования Ruby 3.3"  +1 +/
Сообщение от Аноним (-), 27-Дек-23, 22:26 
Если бы его Гугл, а потом и Микрософт не тащили, то никуда бы он не взлетел. Он и сейчас при парном сравнении технологий, нигде лучшим/удобным/производительным/надёжным не является.
Ответить | Правка | Наверх | Cообщить модератору

206. "Опубликован язык программирования Ruby 3.3"  –1 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 28-Дек-23, 01:58 
Корпорации это не ССЗБ чтобы назло тебе пользоваться для себя неудобными инструментами. Так только совки поступают. Бизнесу нужно повышать эффективность труда, потому постоянно в поисках лучшего. Не все, разумеется, одинаково хорошо занимаются оптимизациями. Если что-то взлетает надолго благодаря корпорациям, то это только из-за изначально удачного решения и корпорации всего лишь выступают успорителем популяризации.

Питон, кстати, к тому моменту уже обошёл всех конкурентов и был взлетевшим. На начальных этапах подскачил благодаря Zope (~2000), далее приглянулся учёным и инженерам в виде scipy (2001) и потом numpy. Его тащили мелкая вебня, системщики и админы, потом уже учёные, DS-ы и ML-щики.

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

221. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Аноним (176), 29-Дек-23, 14:57 
> Корпорации это не ССЗБ чтобы назло тебе пользоваться для себя неудобными инструментами. Так только совки поступают. Бизнесу нужно повышать эффективность труда, потому постоянно в поисках лучшего.

Ага–ага. Корпорацыи это такие сверхсущества никогда не ошыбающиеся а барыги святые люди.

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

237. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Дек-23, 20:14 
Специально для особенно умных написал 'не все'. Слышал когда-нибудь о естественном отборе? В условиях конкуренции в долгосрочной перспективе выживают только эффективные.
Ответить | Правка | Наверх | Cообщить модератору

198. "Опубликован язык программирования Ruby 3.3"  +1 +/
Сообщение от Аноним (189), 27-Дек-23, 20:36 
Нынешний пайтон далеко отошел от изначальной идеи, которую закладывал Гвидо ван Россум.
Ответить | Правка | К родителю #192 | Наверх | Cообщить модератору

204. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 28-Дек-23, 01:40 
Питон взлетел примерно по трём причинам: консистентная фичастая стандартная либа из коробки (против php, perl, js), уход от неявных переменных (perl, ruby) в сторну явных конструкций и типы (против perl, js). Взлетел по объективным причинам и потому многие им довольны по сравнению с альтернативамм.

Взлетал в дистрибутивах как замена perl и в наколеночной вебне, в 'корпоративных' задачах взлетал плохо. Ему долго пытались прикручивать всякие корутины и JIT-ы, но всё было бесполезно. Собственно питон и сейчас в основном остаётся как инфраструктурный скриптовый ЯП для разработки вспомогательных приложений и обвязок.

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

215. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Аноним (189), 28-Дек-23, 19:16 
> Взлетал в дистрибутивах как замена perl

Но Perl почему-то до сих пор идёт к большинству пакетов как неотъемлемая зависимость. Подучить бы вам матчасть, товарисч.

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

236. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Дек-23, 20:11 
Аноним, ну нужно же иногда включать мозг. Во-первых, к большинству пакетов не идёт как прямая зависимость:

{ find /usr/portage/  -name "*.ebuild" | wc -l) } -> 30121
{ equery d -a perl  | grep -Ev '^(virtual/perl|dev-perl/)' | wc -l } -> 1603
{ equery d -a python  | grep -Ev '^(dev-python/)' | wc -l } -> 2939

Грубая оценка по зависимостям по пакет-версия на примере Gentoo репозитория. Итого, python и perl суммарно нужны менее 15-20 % пакетам. И питон всё равно уже вышел вперёд.

Во-вторых, 'в дистрибутивах' это означает инструментарий для дистрибутивов, а не пакеты. Пакеты разрабатываются не разработчиками дистрибутивов. Здесь речь прежде всего о штуках вроде yum и portage. Новые инструменты сейчас пишут на perl разве что потерявшиеся во времени бедолаги. Так-то perl ещё долдго будет отсвечивать потому что некому переписывать всё легаси и практичнгее просто его не трогать и подохдать когда сгинет само.

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

216. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Вы забыли заполнить поле Name (?), 28-Дек-23, 20:04 
> продвигает античеловеческую лгбт\сжв повесточку, выгодную глобалистам (сатанистам).

Зачем она им? Это же приведет к уменьшению населения.

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

196. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от подрывник (?), 27-Дек-23, 19:33 
>Ruby не дал ничего нового и полезного

Стиль кодирования у него на хорошем уровне. Кое-кому (мне в том числе) дали крепкого пинка под зад, показали, как писать лучше.

А с технической точки зрения — выглядит, как будто ничего нового...

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

205. "Опубликован язык программирования Ruby 3.3"  –2 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 28-Дек-23, 01:51 
В ruby унесли много плохого из perl, например, неявные переменные. В начальных версиях у функций не было именнованных аргументов, нужно было доставать как в perl через shift. Также в ЯП встречаются логические косяки прямо в базовой функциональности. Склеивание строк выглядит как [ 'a', 'b' ].join(''), а должно быть ''.join([ 'a', 'b' ]). Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость. Ruby проигал как раз из-за плохого 'стиля кодирования' и из-за менее фичастой стандартной библиотеки.
Ответить | Правка | Наверх | Cообщить модератору

214. "Опубликован язык программирования Ruby 3.3"  +3 +/
Сообщение от Аноним (189), 28-Дек-23, 19:14 
Ох уж эти эксперты. Они и в JS и в Perl и в Ruby шарят... 👏🤣
Ответить | Правка | Наверх | Cообщить модератору

220. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Вы забыли заполнить поле Name (?), 29-Дек-23, 02:23 
> Склеивание строк выглядит как [ 'a', 'b' ].join(''), а должно быть ''.join([ 'a', 'b' ])

Почему?

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

225. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Пряник (?), 29-Дек-23, 15:42 
p.s. в расте также
Ответить | Правка | Наверх | Cообщить модератору

234. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Дек-23, 19:24 
Потому что в ЯП вроде Python и Ruby списки не типизированы, т.е. самого общего назначения. А метод join() строго заточен под строки. Во-первых, зачем код работы с форматированием вклеен в контейнер о бщего назначения? Он должен быть в соответствующей библиотеке форматирования. Во-вторых, что делать если нужно сделать join для нестандартных строк или других объектов? Конкретно в ruby метод join() особо омерзителен...

['1', '2', '3'].join(' ')   -> "1 2 3"    # норм
[1, 2, 3].join(5) -> ошибка               # хочет String вместо 5
[1, '2', '3'].join(' ')     -> "1 2 3"    # какого хрена?
[1, [ '2', '3' ]].join(' ') -> "1 2 3"    # это уже просто пц

Также сюда забралась мерзость из перла в виде скрытых неявных переменных

$,='~'; ['1', '2', '3'].join(' ') -> "1~ ~2~ ~3"

В 'правильной' библиотеки мухи и котлеты должны быть отдельно, например, на некотором условном языке

Join_Fn(array, sep)           # Отдельная функция
Join(sep)(array)              # Функтор Join(...) с явными настройками далее форматирует
join = Join(sep); join(array) # .. массив через оператор вызова ()
Str_Ops(sep).Join(array)      # Аналогично, только уже модуль Str_Ops с набором функий

Здесь под array могут прятаться массивы, итераторы, генераторы и слайсы, а не только списки. Т.е. такой подход ещё и обладает большей универсальностью .. потому что мухи отдельно и котлеты отдельно. Теперь посмотрим как сделано в Python

' '.join(['1', '2', '3']) -> '1 2 3'   # норм
' '.join([1, '2', '3']) -> ошибка типа # норм

Здесь используется вариация метода Str_Ops(sep).Join(array) выше (тут ' ' = str(' ')). И в данном случае это только склейка строк, а не форматирование. И должно быть только так. Также здесь в качестве аргумента array может быть что угодно похожее на итератор.

В rust метод join() это прокся к трейту std::slice::Join, т.е. фактически сахар для вызова форматирования по типу отдельной функции Join_Fn(array, sep). И в rust массивы типизированные из-за чего отсутствует неявное форматирование и метод можно расширять для других типов. Но с логической и практичкской точек зрения такой подход всё равно плохой. С практической, например, сложнее кастомизировать join т.к. придётся придумывать как прокидывать дополнительные настройки через скахар в конечную функцию. Потому в rust есть другие методы сделать join

Итого, Ruby с точки зрения логичности, прозрачности и безопасности кода просто хлам.

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

238. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Вы забыли заполнить поле Name (?), 30-Дек-23, 23:07 
> Здесь под array могут прятаться массивы, итераторы, генераторы и слайсы, а не только списки.

Ну по идее можно сделать этот метод у каждого из этих сущностей (ну или у базовой, от которой они наследуют)?

Тут просто это очень похоже на вопрос почему в питоне len() - это функция, а не метод, хотя у коллекций есть метод __len__(), который будет вызван len(). Ответ, насколько я понял, что Гвидо считает, что так математичнее https://stackoverflow.com/a/237312

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

222. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Аноним (176), 29-Дек-23, 15:02 
> Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость.

А скобочки типа лучше? И почему именно в 21 веке? От тебя пахнет смузипрограммированнием и JavaScript.

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

230. "Опубликован язык программирования Ruby 3.3"  –1 +/
Сообщение от Вы забыли заполнить поле Name (?), 29-Дек-23, 21:35 
>> Оформление блоков по типу begin...end в 21-ом веке у ЯП общего назначения тоже дикость.
> А скобочки типа лучше?

Кхм. Отступы, конечно.

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

235. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Дек-23, 19:43 
к 21 веку инженеры успели наплодить много разных ЯП с разными подходами и синтаксисами, и успели вдоволь с ними насношаться. Cейчас уже хорошо видно какие подходы удачные и какие нет. Неудобство BEGIN...END было уже понятно давно, это один из самых древних методов структурирования кода.

Отступы тоже плохи. Нет возможности писать однострочники, из-за этого в ЯП вроде питона приходится придумывать отдельные конструкции для однострочников, которых всё равно мало. Также есть вечная проблема SPACE vs TABS и чему равен TAB. В коде не всегда видно что стоит - SPACE или TAB, из-за чего текст может оказаться невалидным и непонятно где для глаза.

И таки да, из самых удобных остаются только односимвольные парные скобки типа () <> {}, какие плюсы: нужно меньше набирать текста, оформление блоков не отвлекает на себя много внимания в текстах программ, симметричные из-за чего графически понятно где находится содержимое.

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

239. "Опубликован язык программирования Ruby 3.3"  +/
Сообщение от Вы забыли заполнить поле Name (?), 31-Дек-23, 00:19 
> к 21 веку инженеры успели наплодить много разных ЯП с разными подходами
> и синтаксисами, и успели вдоволь с ними насношаться. Cейчас уже хорошо
> видно какие подходы удачные и какие нет. Неудобство BEGIN...END было уже
> понятно давно, это один из самых древних методов структурирования кода.

Ну просто end для конца блока норма читается.

> Отступы тоже плохи. Нет возможности писать однострочники, из-за этого в ЯП вроде
> питона приходится придумывать отдельные конструкции для однострочников, которых всё равно
> мало. Также есть вечная проблема SPACE vs TABS и чему равен
> TAB. В коде не всегда видно что стоит - SPACE или
> TAB, из-за чего текст может оказаться невалидным и непонятно где для
> глаза.

Решается форматерами кода. Сейчас все новые языки поставляются с форматерами.  

> И таки да, из самых удобных остаются только односимвольные парные скобки типа
> () <> {}, какие плюсы: нужно меньше набирать текста, оформление блоков
> не отвлекает на себя много внимания в текстах программ, симметричные из-за
> чего графически понятно где находится содержимое.

Отступы, все равно будут для читаемости. К тому же опять могут возникуть вопросы где ставить { скобку: есть K&R, всегда на той же строке и GNU стили.


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

242. "Опубликован язык программирования Ruby 3.3"  –1 +/
Сообщение от Аноним (176), 31-Дек-23, 21:32 
Function FFOff()
  For i = 0 To 10
   If i = 2 Then
    …
   End If
  Next
End Function
Ответить | Правка | К родителю #235 | Наверх | Cообщить модератору

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

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




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

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