The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.34"
Отправлено Ordu, 14-Апр-19 17:19 
>> Что ты называешь "нормальным" ООП? Как в java? Как в C++? Как
>> в Haskell? Как в gtk? Какой из ООП нормален?
> ООП с наследованием, где методы и свойства наследуются автоматически.

Deref/DerefMut тебе в помощь.

> ООП в низкоуровневых языках - это всего лишь синтаксический сахар.

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

>> То есть единственная претензия к пакетному менагеру, что он не умеет бинарные
>> пакеты таскать? По-моему, это недостаточная причина для того, чтобы характеризовать пакетный
>> менагер как "крайне отвратительный".
> А по-моему - достаточная. Потому что я не гентушник, свой комп на
> помойке нашёл, и тратить своё время на сборку всякого мусора, которое
> понатаскали авторы зависимостей в свои библиотеки мне совершенно нет никакого желания,
> а некоторые вещи у меня на компе вообще не соберутся, выжрав
> всю оперативу.

Если ты нашёл свой комп на помойке, то что ты вообще делаешь в разработке ПО? Не, ну реально. Тут вполне нормально и регулярно приходится пересобирать половину системы только для того, чтобы иметь отладочную информацию к ней, и иметь возможность протрейсить выполнение программы внутрь библиотеки, чтобы понять почему оттуда вылетает сегфолт. Я пользуюсь генту, потому что тут без проблем можно отладочную информацию складывать рядышком с библиотеками и бинарями и подгружать её по мере необходимости, если я нечаянно закопался в какую-то библиотеку, про которую впервые слышу. Если бы этого не было, я бы давно забил на всё и вернулся бы в слакварь устанавливать программы при помощи make install.

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

А, ты о том, чтобы _пользоваться_ компьютером, быть пользователем и ставить программы себе в систему? Не о том чтобы разрабатывать? В задачи cargo не входит быть системным пакетным менагером. Чтобы устанавливать программы тебе следует пользоваться apt или что у тебя там стоит. То есть cargo -- это просто другой инструмент, если он попадает в класс пакетных менагеров, это не значит, что он задуман как замена для apt или emerge.

> * сделать пакеты не так уж и трудно. У дебиана конечно просто
> отвратительный инструментарий для пакетирования, но есть на ГХ один репозиторий с
> лучшим инструментарием, который дёргается из питона, а не из баша.

Может быть и не трудно. Я не готов вступать в дискуссию о смысле слова "трудно".

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

В случае rust'а -- это не так. Nightly, beta и stable сосуществуют. Фиксы идут во все три ветки. Stable лучше чем nightly в плане стабильности и надёжности. Более того, ты можешь столкнуться с проектом, который под nightly не работает. Последнее время таких breaking changes немного, и как правило работает, но всё же есть вполне неиллюзорные шансы. И поэтому rustup/cargo должны позволять работать как минимум с этими тремя ветками. Позапрошлогодние версии они могут и не поддерживать, но nightly/beta/stable должны.

> Почему они вообще держат тучу тулчейнов, вместо того чтобы держать llvm-фронтэнд, я
> не понимаю.

Потому что есть много чего зависимого от тулчейна. Все библиотеки, например, должны быть перекомпилированы под каждый тулчейн: windows сборка пакета для x86 бесполезна для unix'а на arm64. Затем, разные версии rustc имеют разные возможности. У них есть общности, типа llvm (в смысле той прослойки llvm которая между фронтендом и бекендом), но это маленькая прослойка, на фоне всего остального.

Но тут, я скажу, я вроде где-то читал недавно, что у них есть планы дать возможность использовать системный llvm для сборки rust'а. Хотя... что-то попуталось у меня в голове: это, по-моему, и так можно сделать и очень давно, если собирать rust вручную, без rustup'а. Точно можно было, пока я пользовался гентушным оверлеем в rust'е, я засылал туда патчи на ебилд, фиксящие сборку с системным llvm. То есть, наверное, я читал о том, что они планируют rustup научить использовать системный llvm. И если это так, то тебя это не должно касаться, поскольку тебе нужно чтобы всё ставилось через apt, а если через apt, значит мимо rustup'а.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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