LINUX.ORG.RU

Rust 1.34

 ,


3

8

Вышел релиз 1.34 языка системного программирования Rust, развиваемого проектом Mozilla.

Ключевое-долгожданное:

  • Начиная с этого выпуска, Cargo может поддерживать альтернативные реестры. (Эти реестры сосуществуют с crates.io, так что вы можете писать программы, которые зависят и от crates.io и от вашего реестра.)
  • Трейты TryFrom и TryInto были стабилизированы для поддержки ошибок при преобразовании типов.

>>> Полный анонс



Проверено: Shaman007 ()

Ответ на: комментарий от vasily_pupkin

Зачем тебе ABI, если ты стабильно не можешь ничего собрать без nightly?

Чавой-то не могу, очень даже могу. Почти все нужные мне фичи уже в -stable.

kirk_johnson ★★ ()
Последнее исправление: kirk_johnson (всего исправлений: 1)

Новости такие же тормозные как и компиляция самого rust на основе исходников :)

Apr. 25 Announcing Rust 1.34.1

Apr. 11 Announcing Rust 1.34.0

Источник для актуальных новостей https://blog.rust-lang.org/

perestoronin ★★★ ()
Последнее исправление: perestoronin (всего исправлений: 2)

Я вот хочу задать такой простой вопрос: а в чем особые фичи rust, как языка «системного программирования», если вся libc в линукс работает через указатели в смысле С?

Например:


/* Obtain address(es) matching host/port */

memset(&hints, 0, sizeof(struct addrinfo));
    hints.ai_family = AF_UNSPEC;    /* Allow IPv4 or IPv6 */
    hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */
    hints.ai_flags = 0;
    hints.ai_protocol = 0;

Miha ()
Ответ на: комментарий от RazrFalcon

Просто хочу понять смысл выражения «язык системного программирования»? В смысле на нем удобно писать драйверы (вместо С) или компиляторы (вместо хаски или скалы)? На stm32 на нем можно целиком написать прошивку контроллера например, без линукса и libc?

Miha ()

Ключевое-долгожданное

Долгожданное для кого? Для тебя лично? Что за стиль написания новостей? Вряд-ли на этом ресурсе наберётся десяток человек пишущие на этом на постоянной основе.

anonymous ()

Пользуясь случаем хочется спросить у специалистов по Rust. Чем валидировать JSON и прочие конфиг-файлы? Правильно я понимаю, что serde идет без валидатора

spoonbob ()
Ответ на: комментарий от Miha

Просто хочу посмотреть хоть один юзкейс, где растик превзошел

Сделай статистику по сообщениям о текущей памяти из мозиловского багтрекера.

С/С++

А я хочу развидеть эту долбонутую мешанину.

в смысле «язык системного программирования».

За определением — к аффтару.

anonymous ()
Ответ на: комментарий от Miha

Просто хочу понять смысл выражения «язык системного программирования»? В смысле на нем удобно писать драйверы (вместо С) или компиляторы (вместо хаски или скалы)? На stm32 на нем можно целиком написать прошивку контроллера например, без линукса и libc?

Системное программирование и низкоуровневое программирование — это типа про разное. Мне так сказали. Go дл систмного программирования, по мнению Google.

anonymous ()
Ответ на: комментарий от Miha

В sendmail например, память не течет, написан на С.

Пока ты не напишешь инструкцию, как заходить на лор через sendmail, на твой пример всем насрать.

anonymous ()
Ответ на: комментарий от anonymous

Go дл систмного программирования, по мнению Google.

А я думал, go сделали для пацанов в кедах из гугла, которые всю жизнь писали на питоне, и через 15 лет поняли, что питон говно и тормозит и уже были готовы выйти в окно.

Miha ()
Ответ на: комментарий от Miha

Да Си вообще не нужен. Максросы, хренакросы. Всё что можно сделать без Си лучше делать без Си. Обёртка над ассемблером, как и было задумано. Не понятно только почему эти обезумевшие начали писать какие-то стандарты после ANSI C. Какк будто что-то из этого имеет значение. И почему тогда не выкинут небезопасные функции. Беспонт.

anonymous ()
Ответ на: комментарий от Miha

А я думал, go сделали для пацанов в кедах из гугла, которые всю жизнь писали на питоне, и через 15 лет поняли, что питон говно и тормозит и уже были готовы выйти в окно.

Весьма распространённое заблуждение, что в Гугл вообще хоть кто-то работает.

anonymous ()
Ответ на: комментарий от anonymous

И почему тогда не выкинут небезопасные функции. Беспонт

Код glibc в линукс - похоже краденный, никто не знает, как оно работает на самом деле, вот и не переписали на безопасный вариант.

Miha ()
Ответ на: комментарий от Miha

Код glibc в линукс - похоже краденный, никто не знает, как оно работает на самом деле, вот и не переписали на безопасный вариант.

Да, Вилли Воротов говорил, что некто Слонман украл у него дискету, когда приходил к ним в отдел кадров устраиваться.

А вообще, если бы не тупизм типа: «новая версия языка должна быть полностью совместима с доисторическим хламом», то не было бы никаких проблем. А так выходит, что всё, следуя этой концепции, может только обрастать, как жемчужина, вот только не перламутром.

Кто мешает из Си выкинуть нунжных хлам. ANSI C так и остался востребованным. Но какого рожна скрещивать его с С11 — от таких инцестов и рождаются уроды.

Собствено, все современные т.н. языки для системного программирования, всего лишь следствие застойных процессов и критенизма. Вот и всё. Точнее реакция на всё это нехорошее.

anonymous ()
Ответ на: комментарий от anonymous

если бы не тупизм типа: «новая версия языка должна быть полностью совместима с доисторическим хламом»

А как жить? У тебя в проекте 100 млн. строк легасу кода вдруг перестанут работать? Вот люди до сих пор на коболе код юзают с приветом от покойничков из 60 годов.

Miha ()
Ответ на: комментарий от Miha

А как жить?

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

Вывод: делаешь новый язык — меняй название. Например на rust.

anonymous ()
Ответ на: комментарий от anonymous

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

Miha ()
Ответ на: комментарий от Miha

Да мне непонятно как он собирается заехать в тему «системного программирования»?

И тут мы возвращаемся к вопросу «что такое системное программирование?»

С++ понятно, это полная совместимость с легаси С кодом, плюс производительность не хуже, а местами даже и намного лучше

Поржал.

Сейчас плюсы даже на микроконтроллерах вытесняют С. Где тут место для раста?

На микроконтроллерах? К расту ещё нормальные программисты-юниксоиды не привыкли, куда там вылезшим из электронщиков. Место для раста тут в академических поделках и прочих just for fun.

anonymous ()
Ответ на: комментарий от Miha

в проекте 100 млн. строк легасу кода вдруг перестанут работать?

Чёй-ть они дролжны перестать работать? Новый язык — новый компилятор, старый язык — старый компилятор. Всё просто и круто.

anonymous ()
Ответ на: комментарий от Miha

Если свежее ядро линукс не соберется модным компилятором gcc100 что делать? Выкинуть из ядра весь легасу код?

GCC в данном вопросе будет только водить в заблужедние. Есть старый Си — ANSI C. Есть Си99, Си11 вот вылупился. И если ядро может собраться только на ANSI C, то почему бы его не скомпилировать на компиляторе для ANSI C? Представляешь? Как просто! Но, текущая ситуация такова, что всё этоговно намешано в одну кучу, вместо того, чтобы разделить по маленьким аккуратным кучкам строго-пирамидальной формы.

anonymous ()
Ответ на: комментарий от Miha

Ядро линукс, драйвера

Ядра на расте уже писали.

lib, прочие системные библиотеки

rustc умеет выплёвывать elf с нормальой таблицей символов, какие проблемы?

компиляторы

Их даже на жаваскрипте пишут.

anonymous ()
Ответ на: комментарий от anonymous

Их даже на жаваскрипте пишут.

А чего не напишут на хаске современный компилятор С++ 17? Отвечаю, они не могут, у них какой-нибудь ленивый рекурсивный парсинг шаблонов раздует память на террабайты и компилится это будет сто лет.

Miha ()
Ответ на: комментарий от anonymous

Хаск - это хаскель. Кто на нем пишет - хаски. Это я к тому, что несмотря на глубокую академическую проработку и заточенность языков фп (окамл, f#, хаскель, скала и пр.) на разработку компиляторов, они не осилили даже стандартный С++.

Что есть в промышленности - gcc, clang, icc? - они все написаны на С.

Miha ()