URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 131698
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Rust 1.73"

Отправлено opennews , 05-Окт-23 22:57 
Опубликован релиз языка программирования общего назначения Rust 1.73, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=59878


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:10 
штош, вот она надежда, что ядро когда-то перестанет быть дырявым


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:29 
Если ядро никогда не заработает, то и дырявым не будет!

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 02:48 
Redox, kerla, aero-os

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 20:20 
Совсемчутьчутьпочтиготовы?

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 07-Окт-23 02:45 
Степень готовности каждый понимает по-разному. Тот же Redox, к примеру, на реальных железках запускали. У них на сайте фотки есть.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 22:56 
Зато степень НЕготовности вполне очевидна для ясна для любого, кроме фанатиков.

"Выпуск языка программирования Rust 1.73"
Отправлено Владимир , 06-Окт-23 22:13 
Крабы и рыбки очень полезная фича ...

Владимир


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 02:30 
ferris is not a fish!

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:31 
>  штош, вот она надежда, что ядро когда-то перестанет быть дырявым

А я то думал - надежда независимо лечь под...

> независимой некоммерческой организации Rust Foundation.

...независимый совет директоров с директорами из Amazon, Google и Microsoft. Очень такой независимый.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 10:22 
То ли дело ядро линукса которое финансируется и пишется корпорациями Intel, IBM, Google...
Но нет, это другое (с)

Или более хороший пример -  компилятор GCC.
Посмотрим кто состоит в комитете. (https://gcc.gnu.org/steering.html)
    David Edelsohn (IBM)
    Kaveh R. Ghazi
    Jeffrey A. Law (Ventana Micro Systems)
    Marc Lehmann (nethype GmbH)
    Jason Merrill (Red Hat)
    David Miller (Red Hat)
    Toon Moene (Koninklijk Nederlands Meteorologisch Instituut)
    Joseph Myers (CodeSourcery / Mentor Graphics) [co-Release Manager]
    Gerald Pfeifer (SUSE)
    Ramana Radhakrishnan
    Joel Sherrill (OAR Corporation)
    Ian Lance Taylor (Google)
    Jim Wilson (SiFive)

О нет у нас тут куча корпов! Срочно удаляй gcc'шку!
Или придется признать, что без корпораций ʼсообществоʼ может только ныть на форумах.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 15:45 
Толсто. Хотя, вброс не прокатил.

"Выпуск языка программирования Rust 1.73"
Отправлено DildoZilla , 06-Окт-23 16:52 
Без корпораций сообщество может, но корпорациям это не понравится и они применять "силу" для защиты своих капиталов.

"Что случилось с Мёрдоком?" - "Он умер!"

Пора переименовывать "Open Source" в "Open Corporative Source Not Free For Non-corporativists As Beer"


"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 06-Окт-23 17:27 
Open Source - это значит только то, что "код открыт и его можно смотреть".

Все остальное, это фантазии фанатиков, которые придумывают всякие дополнительные условия типа "можно копировать и распространять бесплатно и тд"
Я говорю про тех самых паразитов, которые пытались украсть и сделать торговую марку "Open Source"
https://opensource.org/pressreleases/certified-open-source.php/

Никто не запрещает мне выкладывать код под лицензией CC BY-ND 4.0
И согласно лицензии никаких производных делать нельзя.

Мы же уважаем лицензии на програмный код, если хотим чтобы наши лицензии тоже уважали?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 17:48 
Ты прав пермиссивка выгодна проприетарщикам, а копилефт невыгоден проприетарщикам. Да здравствует великий Столлман!

"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 06-Окт-23 17:54 
Без корпораций у нас есть GNU/Hurd. И несколько BSD. Но с нюансами: GNU/Hurd вроде бы нас, но его как бы нет, а BSD вроде бы и есть, но точно не у нас. Так уж вышло, что весь значимый Open Source корпорации пишут сами для себя. А другого Open Source у нас для вас нет.

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 06-Окт-23 17:58 
А как же Сообщество?!
Ну то самое которое, несмотря на все палки в колеса от корпораций, пишет и ядро линукса, и кучу библиотек?
Неужели нам врали, про мужественных одиночек, которые вытягивали проекты на 10+ миллионов строк кода?

"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 21:58 
Сообщество и состоит из корпораций и независимых разработчиков: любых агентов, кто испытывает потребность в продукте и готов вкладываться в его разработку.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 12:39 
Но мнение Столлмана должно быть решающим. Столлман - непререкаемый авторитет.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 11:16 
> О нет у нас тут куча корпов!

дальше не осилил прочитать - увидел названия корпораций и захлебнулся пеной ?

> Membership in the steering committee is a personal membership. Affiliations are listed for identification purposes only; steering committee members do not represent their employers or academic institutions. Generally speaking, committee members were chosen to represent the interests of communities (e.g. Fortran users, embedded systems developers, kernel hackers), not companies.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 14:21 
>> The Rust Foundation is an independent non-profit organization dedicated to stewarding the Rust programming language, nurturing the Rust ecosystem, and supporting the set of maintainers governing and developing the project.
> ...независимый совет директоров с директорами из Amazon, Google и Microsoft. Очень такой независимый.

---
>> Membership in the steering committee is a personal membership. Affiliations are listed for identification purposes only; steering committee members do not represent their employers or academic institutions. Generally speaking, committee members were chosen to represent the interests of communities (e.g. Fortran users, embedded systems developers, kernel hackers), not companies.
> Этодругое!

Яснопонятно.



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:01 
Rust

> The Rust Foundation is run by a small team of full time staff, and governed by a Board of Directors who represent the Rust project and our member companies.

GCC

> Affiliations are listed for identification purposes only; steering committee members do not represent their employers or academic institutions.

если для тебя нет разницы официальные лица компаний в совете или неофициальные может ты и деньги свои отдаёшь любому на улице кто работает в банке, какая разница правда же ?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 17:15 
> Rust
>> The Rust Foundation is run by a small team of full time staff, and governed by a Board of Directors who represent the Rust project and our member companies.

Занимательное избирательное чтение и подмена понятий вида "Rust Foundation == Rust" ...

> GCC
>> Affiliations are listed for identification purposes only; steering committee members do not represent their employers or academic institutions.

Не менее занимательное "это другое!". Хотя, казалось бы - за каким таким "identification purposes" там тогда вообще работодатель ...

> если для тебя нет разницы официальные лица компаний в совете или неофициальные может ты и деньги свои отдаёшь любому на улице кто работает в банке, какая разница правда же ?

В ход пошла совсем уж унылая демагогия ...



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 19:51 
> Занимательное избирательное чтение

у тебя есть какие то претензии к тому что там написано или опять ничего не понял ?

> подмена понятий вида "Rust Foundation == Rust"

но "GCC steering committee == GCC" всё верно ?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 20:54 
>>> The Rust Foundation is an independent non-profit organization dedicated to stewarding the Rust programming language, nurturing the Rust ecosystem, and supporting the set of maintainers governing and developing the project.

У тебя есть какие то претензии к тому что там написано или опять ничего не понял и "это нисчитаица, это другое"?


>> подмена понятий вида "Rust Foundation == Rust"
> но "GCC steering committee == GCC" всё верно ?

Какая дешевая демагогия. Это у тебя
"Rust Foundation == Rust"
"GCC steering committee != GCC"


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 00:03 
>"Rust Foundation == Rust"
>"GCC steering committee != GCC"

Но это действительно так.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:49 
> То ли дело ядро линукса которое финансируется и пишется корпорациями Intel, IBM,
> Google... Но нет, это другое (с)

А таки - другое. И сейчас обосную почему.

> Или более хороший пример -  компилятор GCC.
> Посмотрим кто состоит в комитете.

1) Простите, а как комитет влияет на допустим либы которые я качаю? А, никак? А в сабже полторы корпы в лице гугла, амазона и майкрософт будут за всех решать какие пакеты карго должны быть. Я так понимаю что альтернативные источники господами не особо планируются?
2) В вон том списке ДЕСЯТЬ разных entity, что явно лучше чем три наиболее наглых, одна из которых галера, вторая проприетарщик а третья торговец персональными данными.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 17:25 
> 2) В вон том списке ДЕСЯТЬ разных entity, что явно лучше чем
> три наиболее наглых, одна из которых галера, вторая проприетарщик а третья торговец персональными данными.

Ох уж этот опеннетный оналитизм ... там "директоров" вообще-то 11 по списку.

"И вот так - у вас все!"(c)



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 17:25 
Ох уж этот опеннетный оналитизм ... там (Rust Foundation) "директоров" вообще-то 11 по списку.
"И вот так - у вас все!"(c)



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:06 
Если ты надеешься на краба и рыбку, то зря...

"Выпуск языка программирования Rust 1.73"
Отправлено Данные в так называемом поле Name , 06-Окт-23 09:09 
Через то что просто перестанет быть

"Выпуск языка программирования Rust 1.73"
Отправлено Пряник , 06-Окт-23 09:48 
Надежда - это всего лишь морковка, висящая перед лицом.

"Выпуск языка программирования Rust 1.73"
Отправлено Анониммм , 06-Окт-23 12:58 
Я все-таки предпочту морковку которуя висит перед лицом, чем UB-морковку которую иногда пытаются запихать в непреспособленные отверстия.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 17:17 
Да всем пох :) что ты там предпочтёшь.
А вообще ржавчик в ведро засунули жи - в том ведре теперь и рыбки и крабики заведутся :-D
Тля, дайте мне другую планету :(

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 09:12 
есть планета *BSD & Hurd. здесь тебя никито не держит.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 16:39 
Это для "йУнных со взором горящим" BSD - другая планета. А это всё ещё наша, ту которую я лопата копал, деревья сажал :)
На ней и досы были и форточки и полумухи всякие и солнышки (и это не считая древней дичи типа RSX).
(*) А вот HURD даже веточкой не тыкал, от него за милю RMS-овским овном прёт, приличные коты такое сразу закапывают.

Но ведь во всём этом многообразии был хоть какой то но смысл!
А теперь объясни мне: напуркуа мне крабики и рыбки в ведре?!?!?


PS: Да не напрягайся и забей, мой йунный друк! :)
    Я уже достаточно суперстар чтоб знать правильный ответ: "добавь хорошего риса и сделай паэлью!" :)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 20:45 
На чём основана эта надежда?! Просто из описания языка "язык позволяет в 10 раз больше гемороиться с указателями"?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:16 
> runtime сводится к базовой инициализации и сопровождению стандартной библиотеки

Почему тогда хеллоуворлд зависит от glibc?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 00:02 
>> runtime сводится к базовой инициализации и сопровождению стандартной библиотеки
> Почему тогда хеллоуворлд зависит от glibc?

Потому что жабоскриптозники, не в курсе, что такое *libc на *никсах, но упорно лезут в Воены Супротив Раста?

https://www.opennet.ru/openforum/vsluhforumID3/124921.html#322


#![no_std]
#![no_main]
use core::panic::PanicInfo;
use syscall::syscall;
#[panic_handler]
fn panic(_info: &PanicInfo) -> ! { loop {} }

#[no_mangle]
pub extern fn _start() -> ! {
    let message = "Hello World\n".as_bytes();
    unsafe {
        syscall!(WRITE, 0, message.as_ptr(), message.len());
        syscall!(EXIT,0);
    }
    loop {}
}


$  readelf -d hello  
There is no dynamic section in this file.



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 00:21 
Очень безопасный и скрепный пример, аплодирую стоя.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 22:01 
> Очень безопасный и скрепный пример, аплодирую стоя.

Очень унылый спрыг с "зависит от libc", попробуй еще.



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 00:02 
Унылый спрыг это твой притянутый за уши пример.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 01:19 
Ну и на фига тут раст тогда нужен? Я такое и на ассемблере напишу без всякого раста, ещё и размер бинарника будет в разы меньше.

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:00 
Пиши, конечно. На все архитектуры сразу сможешь?

"Выпуск языка программирования Rust 1.73"
Отправлено anonymous , 06-Окт-23 09:51 
На все полторы поддерживаемые растом ?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 19:14 
> На все полторы поддерживаемые растом ?

Без лжи никак?

https://doc.rust-lang.org/nightly/rustc/platform-support.html


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:54 
А в чем ложь-то? Дубли выкинь и сам посчитай.

"Выпуск языка программирования Rust 1.73"
Отправлено voiceofreason , 06-Окт-23 10:31 
Нативные приложения нужны только под x86. С разморозкой!

"Выпуск языка программирования Rust 1.73"
Отправлено BeLord , 06-Окт-23 14:07 
А их много актуальных архитектур?-))

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 17:21 
Много.
Давай так - ты находишь в ынтернетах платформу на которой Си нетути и публикуешь тут :)
Думаю список будет короче, чем список платформ где ржавчик __есть__ :)

"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 06-Окт-23 17:59 
> Много.

Перечисли все, которые не EOS/EOL и имеют хотя бы миллион деплоев на планете. То, что С есть на какой-то богом забытой архитектуре из 70х волнует разве что археологов.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 18:30 
Предсказуемый слив :)
Ну да ладно, вы ещё всем покажите! (С)

"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 06-Окт-23 18:48 
> Предсказуемый слив :)

Ты список-то давай, предметно будем рассматривать все 3,5 архитектуры. Раст — язык практический. Нет деплоев, нет и интереса. Но если тебе лично не хватает раста на PDP11, то портируй, если сдюжишь. Это тебе не на форуме трепаться про 50 лет непрерывных побед Си над границами массивов.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:04 
>Ты список-то давай, предметно будем рассматривать все 3,5 архитектуры.

Женщины нетяжёлого поведения с завистью смотрят на то как ты крутишь задом :-D
У нас все ходы записаны - список просил я, делай или bail out :)

>Раст — язык практический.

- В Ынтронетах флудить - лучше нет! На 100% согласен!
- Переписать с чего то на Ём ... удачных ____завершённых____ примеров - на одной руке пальцев хватить чтобы пересчитать :) За все 10? лет его жизни.
- Написать что то новое и полезное, чего раньше не было ... ноль. Тупо ноль. 8-/

Причём я уверен что проблема не в самом Ёзыке (я и по-сподвыподвирстей видывал! :) ), а в самих ржавчиках. Ну лет 10 пройдёт, угомоняться и если Раст действительно хорош - начнут пахать, а не флудить :)
Этот путь прошли все ёзыки и их "тусовки", я вот помню жаба-боев в 90-е :)))
Тоже всё самое - кидались озЪ на жабе написать, и даже (тоже) написали и тоже - ... кто нить имя еЯ хоть помнит ?-)


"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 09-Окт-23 00:17 
Кроме кривляний что-то будет или «Тупо ноль. 8-/»?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 19:41 
актуальных? все которые нужны

Tier1:
Linux: aarch64-unknown-linux-gnu, i686-unknown-linux-gnu, x86_64-unknown-linux-gnu
Windows: i686-pc-windows-gnu, i686-pc-windows-msvc, x86_64-pc-windows-gnu, x86_64-pc-windows-msvc
macOS: x86_64-apple-darwin

Tier2:
ARM64: Windows, Linux, macOS
ARMv6: Linux
MIPS64: Linux
PowerPC: Linux
RISC-V: Linux
даже LoongArch64 поддерживается, хотя нигде кроме китая не нужен
можно запускать даже на ios simulator

Этого мало? Что еще тебе нужно?
(про эльбрус можешь не писать, пока они не откроют спеки, никакого компилятора не будет)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:51 
> А их много актуальных архитектур?-))

Ну попробуй хруста на PIC запустить? А сишку можно даже и на таком уг запустить вот.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 23:46 
> Я такое и на ассемблере напишу без всякого раста, ещё и размер бинарника будет в разы меньше.

Ну давай, покажи "в разы меньше":


$ objdump -d  hello
Disassembly of section .text:
00000000004000b0 <.text>:
  4000b0:    55                       push   %rbp
  4000b1:    48 89 e5                 mov    %rsp,%rbp
  4000b4:    6a 04                    pushq  $0x4
  4000b6:    58                       pop    %rax
  4000b7:    6a 09                    pushq  $0x9
  4000b9:    5a                       pop    %rdx
  4000ba:    be cc 00 40 00           mov    $0x4000cc,%esi
  4000bf:    31 ff                    xor    %edi,%edi
  4000c1:    0f 05                    syscall
  4000c3:    6a 01                    pushq  $0x1
  4000c5:    58                       pop    %rax
  4000c6:    31 ff                    xor    %edi,%edi
  4000c8:    0f 05                    syscall
  4000ca:    eb fe                    jmp    0x4000ca

али очередной балаб^W Воен Супротив Раста?



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 01:03 
Ты покажи не дизассемблированный код, а промежуточный код который раст сгенерил.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 11:34 
>> <код без строчки асма>
> Я такое и на ассемблере напишу без всякого раста, ещё и размер бинарника будет в разы меньше.

...
> Ты покажи не дизассемблированный код, а промежуточный код который раст сгенерил.

Опять юлеж. Ну, было ожидаемо.



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 17:54 
Размер бинарника - это включая заголовки ELF. Плюс данные по адресу 0x4000cc, почему-то забытые. Так что ответ малость не в тему.

Мне лениво что-то кодить, а тем более шаманить с заголовками *), доказывая за заявившего, потому вот готовый пример, вдвое с лишним (229 против 496 в оригинале) меньше.

$ cd fasm_samples/console/00/

$ du -b a00
229    a00

$ cat a00.fasm
; fasm demonstration of writing 64-bit ELF executable
; note that linux from kernel 2.6.??? needs last segment to be writeable
; else segmentation fault is generated
; compiled with fasm 1.66

; syscall numbers: /usr/src/linux/include/asm-x86_64/unistd.h
; kernel parameters:
; r9    ; 6th param
; r8    ; 5th param
; r10    ; 4th param
; rdx    ; 3rd param
; rsi    ; 2nd param
; rdi    ; 1st param
; eax    ; syscall_number
; syscall
;
; return register:
; rax    ; 1st
; rdx    ; 2nd
;
; preserved accross function call: RBX RBP ESP R12 R13 R14 R15
;
; function parameter (when linked with external libraries):
; r9    ; 6th param
; r8    ; 5th param
; rcx    ; 4th param
; rdx    ; 3rd param
; rsi    ; 2nd param
; rdi    ; 1st param
; call library

format ELF64 executable at 0000000100000000h    ; put image over 32-bit limit

segment readable executable

entry $

    mov    edx,msg_size    ; CPU zero extends 32-bit operation to 64-bit
                ; we can use less bytes than in case mov rdx,...
    lea    rsi,[msg]
    mov    edi,1        ; STDOUT
    mov    eax,1        ; sys_write
    syscall

    xor    edi,edi        ; exit code 0
    mov    eax,60        ; sys_exit
    syscall

segment readable writeable

msg db 'Hello 64-bit world!',0xA
msg_size = $-msg


*) Если в примере закомментировать определение второй секции, получится 173 байт. Это не предел, но эти фокусы относятся не к языку, а к линкеру.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 18:27 
> Размер бинарника - это включая заголовки ELF. Плюс данные по адресу 0x4000cc,
> почему-то забытые. Так что ответ малость не в тему.

...
> *) Если в примере закомментировать определение второй секции, получится 173 байт. Это
> не предел, но эти фокусы относятся не к языку, а к линкеру.

Размер бинарника на этом уровне (включая заголовки) - это вопрос линковки. В контексте рантайма (иначе зачем припрлетать асм) интересен сгенеренный код. Как мы видим ничего лишнего там нема, хотя там ни строчки асма нет (на самом деле конечно подставляется макросом syscall!, но это и у сишки примерно так же).


> Последний jmp на самого себя это похоже фишка Раста и не убирается.

Это фишка "loop{}" в самом коде.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 07:30 
>> Размер бинарника - это включая заголовки ELF. Плюс данные по адресу 0x4000cc,
>> почему-то забытые. Так что ответ малость не в тему.
> ...
>> *) Если в примере закомментировать определение второй секции, получится 173 байт. Это
>> не предел, но эти фокусы относятся не к языку, а к линкеру.
> Размер бинарника на этом уровне (включая заголовки) - это вопрос линковки.  

Потому и уточнил в сноске. Однако, fasm-у не нужен линкер. Формат исполняемого файла, секции или сегменты описываются в исходном тексте. Так что формально пример подпадает под "на ассемблере напишу". Другое дело, что сам заявитель обещание не выполнил.

> В контексте рантайма (иначе зачем припрлетать асм) интересен сгенеренный код.
> Как мы видим ничего лишнего там нема, хотя там ни строчки асма нет
> (на самом деле конечно подставляется макросом syscall!, но это и у
> сишки примерно так же).

На лишнее я указал в отдельном сообщении - пролог с созданием стекового кадра. Впрочем, это вопрос к оптимизатору и опциям при компиляции. Если бы кто-то потрудился тот древний пример для FreeBSD пересобрать под их любимую ОС актуальным транслятором, вероятно, этих команд бы не было.

>> Последний jmp на самого себя это похоже фишка Раста и не убирается.
> Это фишка "loop{}" в самом коде.

Вопрос в убирается ли. На том же Си не всегда просто исключить ненужную команду ret.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 17:59 
Кстати, кодогенератор мог бы исключить создание стекового кадра (push   %rbp), поскольку он не используется, играйте с ключами оптимизации, сэкономите 2 байта. Последний jmp на самого себя это похоже фишка Раста и не убирается.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 01:27 
То есть без libc даже хеллоувордл без unsafe не написать? Ясно-понятно.

"Выпуск языка программирования Rust 1.73"
Отправлено Sem , 06-Окт-23 01:33 
А где можно?

"Выпуск языка программирования Rust 1.73"
Отправлено leap42 , 06-Окт-23 04:41 
> А где можно?

В Go точно можно, главное под линуксом CGO_ENABLED=0 сделать (в других ОС оно уже выключено).


"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:02 
А без GC в Go можно?

"Выпуск языка программирования Rust 1.73"
Отправлено leap42 , 06-Окт-23 06:24 
> А без GC в Go можно?

Можно конечно, но зачем? Средний STW во время сборки мусора длится меньше(!) 0.5ms (обыватель не замечает ничего быстрее 10ms (разница в 20 раз), профи в некоторых областях замечают задержки 3-4ms (разница в 6-8 раз)). Поэтому Go довольно популярен в soft rt задачах (см. webrtc серваки например). Для hard rt нужно просто другой язык брать (и даже там скорее всего не будет привычных аллокаций), но это супер редкая вещь.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:34 
> Можно конечно, но зачем? Средний STW во время сборки мусора длится меньше(!)
> 0.5ms (обыватель не замечает ничего быстрее 10ms (разница в 20 раз),

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

> профи в некоторых областях замечают задержки 3-4ms (разница в 6-8 раз)).
> Поэтому Go довольно популярен в soft rt задачах (см. webrtc серваки например).

Оно и видно, аж dropbox переписал бэк с игого на сабжа.

> Для hard rt нужно просто другой язык брать (и даже там скорее всего
> не будет привычных аллокаций), но это супер редкая вещь.

И в результате придется учить разные ЯП... очень круто и удобно. А сабж, вот, можно попробовать натянуть и туда.


"Выпуск языка программирования Rust 1.73"
Отправлено leap42 , 06-Окт-23 09:19 
> Кого интересует среднее, если интересует - наихучшее?

Кого? Школьников? Наихудшее будет где-то в пределах 1ms, но оно будет случаться раз на миллион или около того (зависит от того что за данные).

> Оно и видно, аж dropbox переписал бэк с игого на сабжа.

Довольно странно, думал, у них головы между рук растут. А инфа какая-то есть?

> И в результате придется учить разные ЯП... очень круто и удобно.

Кому? Школьникам? Инженер сразу знает, нужен ему hard rt (супер редко) или нет. Соответственно сам характер проекта уже чётко диктует возможные ЯП.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 15:59 
> Кого? Школьников? Наихудшее будет где-то в пределах 1ms, но оно будет случаться
> раз на миллион или около того (зависит от того что за данные).

Интересует оно как минимум
1) И правда геймеров. Потому что непредсказуемый джиттер или spike'ы потребления памяти - это не круто и может вызвать общесистемные лаги.
2) И игроделов заодно. Им предсказуемый перфоманс мастхэв. Это уже не школьники совсем.
3) Тех кому реалтайм не похрен. Это уже вообще совсем врядли школьники.
4) Юзеров DE, особенно с требованиями к латенси, например звукорежей всяких.

А то что оно там в среднем в этой недо-яве - только вебманкам и интересно со всеми вашими блабла про нетормозит. И еще поди окажется что надо помножить на 10 если это не Xeon окажется а ноут какой малохольный. В этом смысле хруст получает цать очков форы вперед, borrow checker довольно прикольно как идея так то.

> Довольно странно, думал, у них головы между рук растут. А инфа какая-то есть?

Они помнится переписывали минимум 2 раза, с питона на игого и потом на хруст. Наверное можно нагуглить это дело. Ну и вообще игогошка кроме веба не особо используется, и 6-метровые хелловорлды и GC в топе причин.

А так можно посмотреть как фуксики писали на игого драйверы ФС. Получилась, извините, полная хрень и тут они чего-то хруст разрешили как ЯП. И пошли переписывать свое недоразумение.

>> И в результате придется учить разные ЯП... очень круто и удобно.
> Кому? Школьникам? Инженер сразу знает, нужен ему hard rt (супер редко) или
> нет. Соответственно сам характер проекта уже чётко диктует возможные ЯП.

Ну вот мне hard rt - нужен. Поэтому я и не буду го изучать, как категорию.


"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 06-Окт-23 18:56 
> Ну вот мне hard rt - нужен. Поэтому я и не буду го изучать, как категорию.

Какие милые, прямо-таки книжные, эгоцентризм и ригидность мышления. Тебе шестнадцать и ты у мамы самый умница и красавица, да? В комментах, вижу, из себя умного корчишь, а по факту ты one trick pony. Не можешь освоить больше одного языка программирования и почему-то считаешь это благом. Я за много лет профдеятельности заметил, что чем хуже человек умеет программировать, тем сложнее ему осваивать новые языки и инструменты. Судя по твоим утверждениям, ты кодер.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:55 
> Какие милые, прямо-таки книжные, эгоцентризм и ригидность мышления. Тебе шестнадцать и
> ты у мамы самый умница и красавица, да? В комментах, вижу, из себя умного корчишь,
> а по факту ты one trick pony.

Хехе, манагер, ты так себя жесточайше развел устроив проекции и не угадав ни 1 буквы :)

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

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


"Выпуск языка программирования Rust 1.73"
Отправлено leap42 , 07-Окт-23 05:10 
> Интересует оно как минимум
> 1) И правда геймеров. Потому что непредсказуемый джиттер или spike'ы потребления памяти
> - это не круто и может вызвать общесистемные лаги.
> 2) И игроделов заодно. Им предсказуемый перфоманс мастхэв. Это уже не школьники
> совсем.
> 3) Тех кому реалтайм не похрен. Это уже вообще совсем врядли школьники.
> 4) Юзеров DE, особенно с требованиями к латенси, например звукорежей всяких.

Первые 1,2,4 - soft rt, 3 - школьники. Сам факт непонимания того что такое hard rt уже делает дискуссию ненужной 🤷‍♂️


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:56 
> Первые 1,2,4 - soft rt, 3 - школьники. Сам факт непонимания того
> что такое hard rt уже делает дискуссию ненужной 🤷‍♂️

Ну да, вы так то програмеру мк с своим игого рассказали что он школьник и что не понимает что такое hard rt, вам то из вашего игого - виднее. Но если вы решили расставить точки над i в теме о школьниках - так и получите на пару с манагером, не жалко :)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 11:48 
> 0.5ms (обыватель не замечает ничего быстрее 10ms (разница в 20 раз)

Обыватель заметит суммарную работу GC, а не мгновенную.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:31 
Интегральный результат у GC может оказаться лучше тупого ручного управления. В частности за счёт того, что уплотняющие сборщики улучшают локальность данных.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 16:01 
> Интегральный результат у GC может оказаться лучше тупого ручного управления. В частности
> за счёт того, что уплотняющие сборщики улучшают локальность данных.

Что-то переписываюшие с го на хруст бэки и вон те фукмики в итоге иного мнения на этот счет оказались. Получилось очередное яванетормозит. Там тоже рассказывали всякие с горящими глазами, как можно крутой код нативный для проца по максимуму... потом оказалось что круто оптимизить код ресурсов жрет немеряно, GC дурные взбрыки вызывает, и вообще, без ксеона с 128 гигами лучше не соваться.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 16:33 
Там было ключевое слово "может".)) Да и в GO вроде бы консервативный сборщик, то есть данные остаются на своих местах где попало, и куча так же фрагментируется как и любителей аллоцировать по 2 байта.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:58 
> Там было ключевое слово "может".)) Да и в GO вроде бы консервативный
> сборщик, то есть данные остаются на своих местах где попало, и
> куча так же фрагментируется как и любителей аллоцировать по 2 байта.

Ну вот сабж лучше хотя-бы тем что всего этого брейнфака там нет. И если хочется аллоцировать 2 байта, значит 2 байта. И ничего такого за это не будет в общем случае. Уж гденить в стеке 2 байта аллоцировать вообще занятие невозбранное, а деаллоцируется это само даже в сях педальных.


"Выпуск языка программирования Rust 1.73"
Отправлено voiceofreason , 06-Окт-23 10:34 
Дыряшке ничего не мешает иметь zero runtime, но академики и онанисты на технологии 1970ых против.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:16 
В великолепном до гениальности, самом низкоуровневом из высокоуровневых языков "Си" когда его применяют на всякой embedded - zero runtime настолько част, что причастные об этом даже не упоминают, это - само собой.

Ух сколько вам открытий чудных готовит (С)   :-D


"Выпуск языка программирования Rust 1.73"
Отправлено voiceofreason , 11-Окт-23 18:03 
Не-не-не, в эмбеддеде от цэ остался ассемблер со скобками. На ПК так никто не пишет. Когда будет с каким-то ключиком GCC хеллоуворлд на 20-30 байт, сразу, здесь и сейчас, без извращений - позовите. Вывод строки в сосноль в api был даже в досе 40 лет назад. Для этого не надо вообще никаких либ, окромя ОС как таковой.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 02:07 
Без ансейф системный вызов дырявого сишного ядра не дернешь.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:46 
> Без ансейф системный вызов дырявого сишного ядра не дернешь.

Ну так в редоксе дергай, фигле. А, он у тебя вообще безопасно не загружается? Так это и есть самое безопасное состояние системы. Представляешь как хакеры обломятся если у тебя например драйвера сетевухи нет? :)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 21:39 
> То есть без libc даже хеллоувордл без unsafe не написать? Ясно-понятно.

То есть, тут перепись жабоскриптозников и прочих питонистов, которые не в курсе, что libc - интерфейс для взаимодействия с ядром ...

> The system call is the fundamental interface between an application and the Linux kernel.
> System calls are generally not invoked directly, but rather via
> wrapper functions in glibc
>


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 12:24 
Нет, мы это прекрасно знаем в отличие от растаманов. Поэтому мы понимаем что все их потуги заменить C на безопасную работу с памятью - это просто потуги, потому что Линукс написан на C и чтобы даже один байт вывести на экран надо дёргать с скол через libc. Ну или вот так извращаться как в примере выше, дергая сисколы напрямую

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 12:36 
> То есть без libc даже хеллоувордл без unsafe не написать?

...
> Нет, мы это прекрасно знаем в отличие от растаманов.

Чей-та непохоже.

> Поэтому мы понимаем что все их потуги заменить C на безопасную работу с памятью - это просто потуги, потому что Линукс написан на C и <остальные размышлизмы без конкретики поскипаны>

Правда, понимание на уровне жабоскриптозников ...


"Выпуск языка программирования Rust 1.73"
Отправлено morphe , 06-Окт-23 10:26 
Потому что во всех других системах нельзя быть не завязанным на libc.
У windows/macos/unixов отличных от linux - libc это единственный способ взаимодействия с ядром, номера сисколов там не фиксированные.

Даже если большую часть вызовов libc заменят на вызовы сисколов - то это не будет так просто работать, например если собирать rust код в динамическую библиотеку, а код использует TLS (thread local storage), то библиотека просто обязана знать о libc, поскольку TLS реализовано именно там.

Таким образом, полностью избавляться от libc идёт вразрез со сценариями использования Rust, это не экосистема замкнутая в себе, которая просто не хочет дружить со внешними библиотеками как golang (cgo всё ещё боль, да и он требует libc тоже)

Если же требуется собрать standalone программу, т.е не библиотеку, и не что-то, что хочет линковаться с другими библиотеками (по той же причине - поддержка TLS), то можно сейчас использовать musl.

Если хочется standalone, но без C - то есть https://github.com/sunfishcode/mustang, это реализация libc на Rust, с которой даже сишные программы можно компилировать, пускай пока и не все.

А в embedded тебе libc вовсе не нужен, и Rust с этим тоже работает.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:48 
То есть если совсем кратко и без воды - раст никогда не заменит Си, точка.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 01:16 
>> Если хочется standalone, но без C - то есть https://github.com/sunfishcode/mustang, это реализация libc на Rust, с которой даже сишные программы можно компилировать, пускай пока и не все.
> То есть если совсем кратко и без воды и читать опой - раст никогда не заменит Си, точка. Точка, я СКАЗАЛ!!1

Пофиксил, не благодари!



"Выпуск языка программирования Rust 1.73"
Отправлено kir , 05-Окт-23 23:16 
Кто подскажет, где можно почитать ISO стандарт на rust?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:22 
ISO стандарта пока нет, пришлось бы собирать комитет и заседать года два-три
это же не замшелость, а развивающийся язык

Например K&R C (он же C78) был "Informal specification" в 1978,
стандартизация началась в 1983, а сам стандарт родили аж в 89.


"Выпуск языка программирования Rust 1.73"
Отправлено kir , 05-Окт-23 23:42 
Спасибо, понятно, фтопку такое чюдо.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:43 
Cпасибо за ваше (не)нужное и абсолютно (не)важное мнение!
Cпециально обученный сотрудник уже отправил его в deb/null

Можешь написать лично Линусу torvalds@linux-foundation.ogr "Линус, ты не прав!"


"Выпуск языка программирования Rust 1.73"
Отправлено EULA , 06-Окт-23 06:10 
deb/null - Это что? Обращение к несуществующему пакету Debian?

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 05-Окт-23 23:44 
Но ты прав, такое "чудо" как С, как раз пытаются отправить в топку)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:31 
А окажутся в топке сами, как и многие их предшественники.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:47 
Сделай свой язык высокого уровня (на русском языке), который будет интерпретировать в стандартизированный и потом компилировать в родной машинный код.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 02:10 
> Сделай свой язык высокого уровня (на русском языке)...

После его "чЮда" боюсь сие будет невозможно или очень глюкаво.


"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 14:56 
Таки это именно чюдо, вьюнош. Чудо -- это что-то хорошее, в отличие от.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:53 
Особенно когда опухнет и мешает ходить (С) :)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:51 
Вся суть этого языка в его надёжных конструкциях. Его создаёт независимая организация, а зачем им внешний контроль в виде стандартов?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:58 
Нормально вы его покормили. Я уверен, что чел в своей жизни даже не открыл ни одного стандарта)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 03:45 
На Rust - нет, не видел, а вы?

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:46 
Внезапно и на Python нет. И это не мешает ему быть одним из самых популярных языков на планете. Странно, да?

"Выпуск языка программирования Rust 1.73"
Отправлено anonymous , 06-Окт-23 09:39 
Несовместимый сам с собой питон это очень мощный аргумент в дискуссии о стандартах.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 15:13 
а вот еще на JavaScript есть стандарт, и ето нам говорит что стандарт - вообще не показатель чегото хорошего

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 18:00 
Угу, вот только совместимых реализаций JS - таки есть мешок и ещё пачка, а пыхтон может быть только один! Всё что не он - 1)устаревшие 2)жалкие и неполные - подобия :(
Горец?(С) Не! Просто стандарт - это как у него сделано в последней выср^ релизнутой версии. Всио - история узбека! :)

PS: про раст громко молчу ;-)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 16:07 
> Внезапно и на Python нет. И это не мешает ему быть одним
> из самых популярных языков на планете. Странно, да?

Ну так на нем и у софта период полураспада - год. Ну может два, если сильно повезет. А запустить скрипт 10-летней давности это вообще mission impossible.


"Выпуск языка программирования Rust 1.73"
Отправлено Филя , 07-Окт-23 15:17 
Давно ли сеть полнилась воем питонистов от перехода с 2 на 3, ломающем обратную совместимость?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:27 
Неужели вы программист АЛГОЛ 68 (ГОСТ 27974-88), Бейсик (ГОСТ 27787-88), Фортран (ГОСТ 23056-78), Ада (ГОСТ 27831-88) или АЛГАМС (ГОСТ 21551-76)? Нам как-раз такие специалисты очень нужны! Да, это свои стандарты, не международные конечно, но мы своего не стесняемся, верно? Мужик?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:29 
Вот поэтому раст никогда не найдет себе нормального применения.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:37 
Не факт, совсем не факт.

Как только появится новый хайп - ржавчики "мементо море" перекуются на него, как они неоднократно уже делали :)
Останутся не такие словоблудливые, останутся те кому он реально зашёл, те кто хочет ... и может!
Вот тогда и стандарт появится, в всё то, что делают взрослые дяденьки - будет сделано.
Так что может найти, шанс - есть.

PS: да вашу за ногу - даже грёбанный ребе нашёл, а уж раст никак нет? Не верю.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:08 
> Спасибо, понятно, фтопку такое чюдо.

Фтопку ваш убогий С. Новости о дыренях нонстопом идут. Но зато стандарт есть - это самое главное!


"Выпуск языка программирования Rust 1.73"
Отправлено EULA , 06-Окт-23 06:12 
Недавно была рассылка, что более 70 патчей на Rust в ядре были отменены, так как они содержат уязвимость и позволяют привести ядро к отказу в обслуживании с сохранением всего, что есть памяти в дамп.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:49 
> Недавно была рассылка, что более 70 патчей на Rust в ядре были
> отменены, так как они содержат уязвимость и позволяют привести ядро к
> отказу в обслуживании с сохранением всего, что есть памяти в дамп.

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


"Выпуск языка программирования Rust 1.73"
Отправлено EULA , 06-Окт-23 10:43 
> А кто сказал что культура отмены не зайдет в гости к отменявшим?
> Вот и зашла, прямо по адресу, к хрустикам, то что доктор
> прописал. Нехай бамбуковые самолеты с своим Cargo билдуют :)

А что нужно дырки допускать только потому, что дырки, написанные на чем-то, для фанатов этого чего-то отменяют тот факт, что это дырки? Это же прямо такая же тенденция, что и была несколько лет назад с представителями ЛГБТ, инвалидов, азиатов, женщин - нафик качество специалиста, нужно, чтобы он соответствовал толерастии.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:52 
Ссылку на патчи вы конечно найти уже не можете? Потому что брехня. Лог изменений в ядре и ветке https://github.com/Rust-for-Linux/linux открыт, ничего похожего там и в помине нет.
Где-то кто-то сказал, а другой пересказал, и не отказ, и не отменили, и не патчи, и не для ядра, и не на Rust.


"Выпуск языка программирования Rust 1.73"
Отправлено EULA , 06-Окт-23 10:38 
> Ссылку на патчи вы конечно найти уже не можете? Потому что брехня.
> Лог изменений в ядре и ветке https://github.com/Rust-for-Linux/linux открыт, ничего похожего
> там и в помине нет.
> Где-то кто-то сказал, а другой пересказал, и не отказ, и не отменили,
> и не патчи, и не для ядра, и не на Rust.

Для начала репозитории Rust-for-Linux и Linux разные.
Можно до посинения визжать, что проект, например только что придуманный мной, VBScript-4-Linux супер-пупер и всем он нравится, но пока его изменения не берут в Linux, это просто пук. И даже не большой.



"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:03 
Ты ничего не понимаешь -- дырени соответствуют стандарту.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:43 
А разве он есть?
Рекомендую книгу по Rust: https://ozon.kz/product/programmirovanie-na-yazyke-rust-tsve...

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 05-Окт-23 23:51 
Стандарт нужен не затем, чтобы учить по нему раст, а затем, чтобы знать, на какие фичи можно закладываться при написании кода. Нет стандарта -- нет уверенности, что через полгода софтина не перестанет собираться очередным воплощением раста. Так что хорошая попытка -- но нет, спасибо, я так не играю.

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 05-Окт-23 23:57 
Для этого есть https://doc.rust-lang.org/edition-guide/editions/index.html
Считай версии стандарта

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 00:01 
Спасибо, улыбнул. Ты понимаешь разницу между официальным ISO стандартом и вяленькой историей версий языка, сделанной "по горячим пайкам"?

"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 00:04 
Конечно.
В первом случае у тебя кучка паразитов обсуждает годами что-то, а потом рожают какой-то выкидыш, исправления к которому обсуждают еще 6 лет (привет си11 и си17)
А, ну еще и делают стандарт платным, выкидывая "сообществу" только драфты.

Во втором - быстрая разработка фичей, быстрые исправления своих же ошибок + эталонный компилятор без всяких "implementation defined"


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:31 
Стандарты позволяют сделать проприетарный или специализированный компилятор, не изобретая нового языка. Раст это всегда тяп ляп и готово, для хеллоуворлдов.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:05 
Стандарты нужны для бюрократии всяких госконтор. Дай угадаю, ты работаешь в такой дыре каким-нибудь специалистом по информационной безопасности и ты на нём не кодить собираешься, а указать в ТЗ что "ПО должно быть разработано на языке программирования, описанном в указанных стандартах, а иначе я так не играю", угадал?

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 18:17 
Ты решишься положить свою маму в томограф, софт к которому написал такой же как ты тяп-ляпер на чём то тяп-ляпистом ?!?

Если твой язык - для создания "соц-сетей для знакомства котикофф"(С) - всем пофиг есть ли там стандарт.

Но вы то лезите в сУрьЁзные щи! Вот и извольте всё по серьёзному - и стандарт, и верификацию и "бездельников в комитетах".

Как то так.(С)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 21:46 
хахаха, это код на си написан не "тяп-ляпер-ами на чём то тяп-ляпистом"?
посмотри на то какие дырени живут годами и даже десятилетиями

ладно если бы ты мисра-с упомянул, но ведь нет?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 13:35 
> хахаха, это код на си написан не "тяп-ляпер-ами на чём то тяп-ляпистом"?
> посмотри на то какие дырени живут годами и даже десятилетиями
> ладно если бы ты мисра-с упомянул, но ведь нет?

И тем не менее, куча сей крутит колеса, летает, рулит всем чем можно - и все такое. И не все из этого MISRA кстати, она специфична для автомотивщиков. И в конечном итоге большая тебе разница если тебя размажет не ошибкой динамической аллокации памяти (которой в половине фирмварей вообще нет, си мультипарадигменная штука) - а логической ошибкой какой? А то что олды как раздолбаи писали - ну так ньюфаги не лучше пишут, на минуточку. Достаточно список вулнов в какой-нибудь вебне проверить. Да что там, даже на софт на rust уже сотни CVE, вот, отросли. Хотя этот софт вообще где?


"Выпуск языка программирования Rust 1.73"
Отправлено 111 , 06-Окт-23 09:19 
И чо? Туева хуча языков не имеет ИСО стандартов, а поди ж ты, их используют и в ус не дуют! Смотри Java, Kotlin, OCaml, Perl, Python, PHP.

"Выпуск языка программирования Rust 1.73"
Отправлено wyry , 20-Окт-23 13:11 
Во-первых, у Java есть частичный стандарт. OCaml - это один из нескольких диалектов ML. Kotlin базируется на JVM. Более того, в списке либо языки с JITC, либо вообще интерпретаторы, для них по факту нет смысла создавать стандарт, они не работают с железом напрямую. Хотя у C# таки стандарт есть. С Python у меня личные счёты, из-за того что в некоторых ситуациях из-за проблем с совместимостью, срок годности проекта на Python меньше чем у банки зелёного горошка (приходится тащить несколько разных рантаймов чтобы это чудовище работало). Хорошо спроектированную программу (хотя в большинстве случаев и плохо спроектированную тоже) на C и C++ 15-летней давности можно без труда пересобрать сегодня, в то время как Rust за историю своего существования уже неоднократно ломал совместимость и для чего все эти радости?

"Выпуск языка программирования Rust 1.73"
Отправлено 111 , 23-Окт-23 11:04 
>[оверквотинг удален]
> языки с JITC, либо вообще интерпретаторы, для них по факту нет
> смысла создавать стандарт, они не работают с железом напрямую. Хотя у
> C# таки стандарт есть. С Python у меня личные счёты, из-за
> того что в некоторых ситуациях из-за проблем с совместимостью, срок годности
> проекта на Python меньше чем у банки зелёного горошка (приходится тащить
> несколько разных рантаймов чтобы это чудовище работало). Хорошо спроектированную программу
> (хотя в большинстве случаев и плохо спроектированную тоже) на C и
> C++ 15-летней давности можно без труда пересобрать сегодня, в то время
> как Rust за историю своего существования уже неоднократно ломал совместимость и
> для чего все эти радости?

Всё фигня.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:01 
Ну, нет. Стандарт нужен, что бы перечислить UB. В Rust ведь нет UB?

"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 10:00 
В раст нет UB в safe части языка и небольшой список для unsafe https://doc.rust-lang.org/reference/behavior-considered-unde... - 10 штук. Большая часть из них происходит из-за необходимости взаимодействия с другими языками через ffi, который только unsafe, где нет никаких гарантий что реально придет в вызов.

Но еще бывают ошибки в компиляторе или какие-то сложные edge-кейсы, которые не были описаны.
В safe части языка UB не должно существовать. Их называют unsound и исправляют, фиксируя поведение.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:22 
Есть, Петка, один нюанс. UB в C - это то, что не определено явно стандартом, а не то, как его фантазируют кексперты. Например, разыменовывание невыровненного поинтера - вполне валидная и определённая операция, но зависит от железа, а не от транслятора.

"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 14:58 
О, еще один...

Программа содержащая UB невилидна по вашему же любимому стандарту
"Possible undefined behavior ranges from ignoring the situation completely with unpredictable results, to behaving during translation or program execution in a documented manner characteristic of the environment (with or without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic message)."

"A strictly conforming program shall use only those features of the language and library specified in this International Standard.3) It shall not produce output dependent on any unspecified, undefined, or implementation-defined behavior, and shall not exceed any minimum implementation limit."

Компилятор вообще имеет полное право выкинуть этот кусок кода.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 16:09 
> О, еще один...
> Программа содержащая UB невилидна по вашему же любимому стандарту

Мне не надо ещё один раз - я этот пунктик уже здесь цитировал.

Покажи мне в цитате слово "invalid".

> "Possible undefined behavior ranges from ignoring the situation completely with unpredictable
> results, to behaving during translation or program execution in a documented
> manner characteristic of the environment (with or without the issuance of
> a diagnostic message), to terminating a translation or execution (with the
> issuance of a diagnostic message)."

"Возможное неопределённое поведение - это ... или исполнение программы в документированной манере".

> "A strictly conforming program shall use only those features of the language
> and library specified in this International Standard.3) It shall not produce
> output dependent on any unspecified, undefined, or implementation-defined behavior, and
> shall not exceed any minimum implementation limit."
> Компилятор вообще имеет полное право выкинуть этот кусок кода.

Ты бы лучше в С++ полез на тему ill-formed, прежде чем выставлять на показ своё неумение читать и выдавать "нестрогое соответствие" (дословно) за невалидность.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 19:48 
> Покажи мне в цитате слово "invalid".

а тебе не достаточно "unpredictable results" ?
надеюсь тебя не будет лечить программа с непредсказуеммыми результатами, хотя это было бы справедливо)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 06:13 
>> Покажи мне в цитате слово "invalid".
> а тебе не достаточно "unpredictable results" ?

Достаточно, что бы уличить тебя в попытке подменить понятия и неумении дочитать и осмыслить предложение целиком.

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

Довольно слабенький выпад, спроецировать свои страхи на оппонента, когда страхи твои от непонимания стандарта.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 09:44 
> Достаточно, что бы уличить тебя в попытке подменить понятия и неумении дочитать и осмыслить предложение целиком.

Слабовато! тебе нужно стараться больше!
Правильно я тебя понимаю, что у тебя unpredictable results == valid ?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 18:19 
Я уже писал тебе в сообщении 195, что для меня UB это ровно то, что написано в стандарте. Дословно: for which this International Standard imposes no requirements. Так что дело не в том, что ты меня не понимаешь, ты просто своё мнение иметь не способен.

"п©Б√⌠я▐Б√─п©б╘я▐Б■░я▐Б■┌п©Б∙╗ я▐Б√░п©Б∙╔я▐Б√─п©Б∙╗п©Б∙÷ п©б╘я▐Б■─п©Б∙╛п©п│я▐Б■─п©Б∙÷п©Б∙╙п©Б∙╙п©Б∙╕я▐Б■─п©Б∙╛п©Б∙║п©Б∙÷п..."
Отправлено gear , 05-Окт-23 23:46 
https://ferrous-systems.com/ferrocene/

Ferrocene is an open source qualified Rust compiler toolchain. With this, Ferrous Systems invested its decade of Rust experience to make Rust a first-class language for mission-critical and functional safety systems.

For its first release, Ferrocene 23.06 is a ISO 26262 (ASIL D) and IEC 61508 (SIL 4) qualified version of the existing open-source compiler, rustc, based on Rust 1.68.

We plan to work on standards like DO-178C, ISO 21434, and IEC 62278 in the future.


"п©Б√⌠я▐Б√─п©б╘я▐Б■░я▐Б■┌п©Б∙╗ я▐Б√░п©Б∙╔я▐Б√─п©Б∙╗п©Б∙÷ п©б╘я▐Б■─п©Б∙╛п©п│я▐Б■─п©Б∙÷п©Б∙╙п©Б∙╙п©Б∙╕я▐Б■─п©Б∙╛п©Б∙║п©Б∙÷п..."
Отправлено Аноним , 06-Окт-23 06:27 
> For its first release, Ferrocene 23.06 is a ISO 26262 (ASIL D)
> and IEC 61508 (SIL 4) qualified version of the existing open-source
> compiler, rustc, based on Rust 1.68.
> We plan to work on standards like DO-178C, ISO 21434, and IEC
> 62278 in the future.

Мая не читателя, мая писателя.

ISO 26262

Стандарт по безопасности

Международный стандарт по функциональной безопасности дорожных транспортных средств.

Стандарт был подготовлен к выпуску Техническим комитетом ISO/TC 22/SC 32 «Электрические, электронные компоненты и виды систем общего назначения» Международной организации по стандартизации и выдержал на данный момент 2 издания: первое — в ноябре 2011 года, второе — в декабре 2018 года.

IEC 61508

Международный стандарт, опубликованный Международной электротехнической комиссией, состоящий из методов применения, проектирования, развертывания и обслуживания автоматических систем защиты, называемых системами, связанными с безопасностью. Он озаглавлен "Функциональная безопасность электрических/Электронных/программируемых электронных систем, связанных с безопасностью". Скрыть

ISO 21434

ISO/SAE 21434 „Кибербезопасность дорожных транспортных средств“ разрабатываемый новый международный стандарт по информационной и кибербезопасности разработки и производства дорожных транспортных средств


"п©Б√⌠я▐Б√─п©б╘я▐Б■░я▐Б■┌п©Б∙╗ я▐Б√░п©Б∙╔я▐Б√─п©Б∙╗п©Б∙÷ п©б╘я▐Б■─п©Б∙╛п©п│я▐Б■─п©Б∙÷п©Б∙╙п©Б∙╙п©Б∙╕я▐Б■─п©Б∙╛п©Б∙║п©Б∙÷п..."
Отправлено Аноним , 06-Окт-23 16:10 
> For its first release, Ferrocene 23.06 is a ISO 26262 (ASIL D)
> and IEC 61508 (SIL 4) qualified version of the existing open-source
> compiler, rustc, based on Rust 1.68.
> We plan to work on standards like DO-178C, ISO 21434, and IEC
> 62278 in the future.

Забыли еще уточнить что в этой штуке провереные бинари - только блобами и только за бабки. Свобода MIT/BSD/Apache как она есть, во весь рост.

И что у вас за утечки ядерной памяти в САБЖЕ?


"Выпуск языка программирования Rust 1.73"
Отправлено Анонус , 06-Окт-23 00:11 
Кто подскажет, есть хоть один компилятор, полностью реализующий стандарт ISO на C++?

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 00:15 
https://en.cppreference.com/w/cpp/compiler_support/17

GCC, например, полностью поддерживает все фичи c++17


"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 00:19 
Сейчас вообще-то 23й год, 6 лет как бы прошло, а он поддерживает только с++17.
А где 20 и 23? Еще лет 5 ждать? Как там модули поживают?

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 00:27 
https://en.cppreference.com/w/cpp/compiler_support/20

В 20 единственная частично поддерживаемая фича -- модули. Остальное поддерживается. 23 еще не вышел, готовится. Расширения в компиляторах -- ну, кому-то они нужны, пользоваться ими или нет, решать программисту, не вижу ничего фатального. Но много лучше пусть даже не полностью поддерживаемый стандарт, чем отсутствие оного. Всё, на новые му..цкие вопросы отвечать не буду.


"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 00:36 
> Но много лучше пусть даже не полностью поддерживаемый стандарт, чем отсутствие оного

Ахаха, на пол шишки поддежка стандарта))

> на новые му..цкие вопросы отвечать не буду.

Ну не возмущайся ты так.
Это просто стадия гнева, стадия принятия будет чуть позже)) Даже вопрос задавать не буду, а то вдруг сорвешься.

Я бы запостил табличку "Вы находитесь здесь" про раст и дописал бы туда пункт про 'нет исо', но мне лень.
Думаю ты и так сможешь ее представить))


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 13:39 
>> Но много лучше пусть даже не полностью поддерживаемый стандарт, чем отсутствие оного
> Ахаха, на пол шишки поддежка стандарта))

А что, хочешь поговорить об этом? Как дела у GCC с поддержкой Rust? А, там даже и стандартов нет - так что даже и референса для сравнения нет и мы даже обсудить этот топик нормально не можем? Ну, вот такое вот хреновое сравнение получилось.

> Это просто стадия гнева, стадия принятия будет чуть позже)) Даже вопрос задавать
> не буду, а то вдруг сорвешься.

Вот насчет стадии принятия - в эту игру могут играть и двое. У хруста более 1 реализации - но там даже сравнить нормально уже грабли. Потому что разрабатывается как хаотичное месиво без стандартов и роадмапов по сути - мы вам тут брякнули с лопаты хз что, документированное хзгде.

> Я бы запостил табличку "Вы находитесь здесь" про раст и дописал бы
> туда пункт про 'нет исо', но мне лень.
> Думаю ты и так сможешь ее представить))

Как говорится, над кем смеетесь, над собой смеетесь.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 15:03 
> Как дела у GCC с поддержкой Rust?

Все хорошо. Программы собираются. Правда там нет проверок. Ну и ...

Можно писать программы на rust для gcc. А то что они не соберутся rustc - так .. все равно.
Это проблемы rustc.

Ж:)


"Выпуск языка программирования Rust 1.73"
Отправлено фнон , 06-Окт-23 00:38 
Т.е. за шесть лет эти бракоделы не смогли реализовать фичу?

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

Апофеоз бесполезности!


"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:10 
>на новые му..цкие вопросы отвечать не буду

Только тебе позволительно  задавать такие?

Эксперт порвался, несите нового.


"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 11:11 
Ну как минимум благодаря существованию стандартовя могу делать аутофелляцию и не рваться. Так что видно, кто тут порвался.

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимусс , 06-Окт-23 13:48 
Ну... можешь... не буду тебя осуждать...
Но нам то зачем знать про твои увлечения?

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 15:07 
Это какая-то падла ответила под моим именем.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:33 
А ты куда торопишься? Ты уже на расте всё переписал?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:08 
> Кто подскажет, есть хоть один компилятор, полностью реализующий стандарт ISO на C++?

Да, есть. Этот компилятор называется Comeau. Однако, развитие прекратилось 15 лет назад. Да здравствует свобода! Ура товарищи!!!


"Выпуск языка программирования Rust 1.73"
Отправлено Вы забыли заполнить поле Name , 06-Окт-23 00:52 
Местные растоманы с пеной у рта придут доказывать, что многочисленные rfc и есть стандарт.

"Выпуск языка программирования Rust 1.73"
Отправлено фнон , 06-Окт-23 01:00 
нет - это не стандарт, тут не комитета и разговоров лет на 10, тут только rfc и компилятор

а вот что за 'стандарт' который никто не выполняет полностью, и можно ли такое вообще стандартом назвать - хороший вопоос


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:14 
Стандарт это не про реализацию полностью. Стандарт это про неломание реализованного. Стандарт это фиксация того что реализовано, гарантия, что оно не будет поломано позже по велению левой пятки растоманских клоунов без стандартов.

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


"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 09:49 
> Си вечен, это настоящий язык без дерьма

Охохохо! Так дыряшка минимум процентов на 30% и так из него состоит)))
Причем из хорошо выдержанного, настоявшегося, прям из 70х.
Достаточно посмотреть на секции UB и ImplDef. Их не пофиксят НИКОГДА.

И каждая д*мовая идея, когда либо принятая в стандарт останется в нем и будет старательно переписываться в следующую его версию. Все ошибки будут костылится, все корявые синтаксические конструкции будут жить дальше и мешать улучшить синтаксис.

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


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:38 
Прочитать можно там же, где и стандарт Cpp

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:11 
Стандарты, не черновики, Си и Си++ совершенно легально можно получить без оплаты. Кто за стандартом следит, у тех все публикации имеются. Остальные купят или смогут довольствоваться черновиком.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 07:34 
Да, ратифицированный вариант стандарта можно скачать с торрентов, "бесплатно и без регистрации". Если же соблюдать правила приличия, то текст стандарта приобретается за деньги, и сам приобретатель, в дальнейшем, не обязуется не публиковать текст стандарта. Тест стандарта нужен в первую очередь разработчикам компиляторов.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:11 
Интересно, что же ты делаешь в программировании, если на понимаешь смысл слова "легально"?

Стандарт публикуется там же, где и черновики, и в течении некоторого времени свободно доступен для ознакомления тем, кто следит за развитием. При отсутствии замечаний и исправлений pdf приобретает статус стандарта и свободный доступ к нему закрывается.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 16:02 
> Да, ратифицированный вариант стандарта можно скачать с торрентов,
> "бесплатно и без регистрации".
> Если же соблюдать правила приличия, то текст стандарта приобретается за деньги,

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


"Выпуск языка программирования Rust 1.73"
Отправлено Аноникус , 06-Окт-23 08:36 
А зачем он нужен?

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимусс , 06-Окт-23 10:11 
Чтобы у сишников оставались хоть какие-то аргументы против)))

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:45 
Как будто их и так недостаточно.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:18 
> Реализован третий уровень поддержки для платформ ... riscv64-linux-android ...

о, а это уже интересно, было бы интересно подержать в руках какой-нибудь андроид на риск5ом


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 20:16 
Лучше бы подержать в руках телефон на RISC-V с GNU/Linux.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 05-Окт-23 23:38 
Недавно чат-бот Bing в скайпе, он же Chat GPT попытался мне составить код на Rust для обычного веб-сервера статических файлов. Никак не мог дописать, обрывался на середине и начинал сначала.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 00:22 
Переписывал. Для Rust это нормально.

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 00:31 
Всё просто -- пока он генерил код, появлялась новая несовместимая версия раста, вот и приходилось переписывать.

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:37 
Тебе уже, вроде, объяснили, как побороть "несовместимость" в Rust. Что ж, повторю и здесь тогда. Читай про редакции (editions).

"Выпуск языка программирования Rust 1.73"
Отправлено Sem , 06-Окт-23 01:39 
И почему это характеризует язык, а не ChatGPT?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:32 
Не знаю, почему они мне так отвечают. На других языках программирования тоже самое произошло. Мне кажется им хочется выдавать желаемое за действительное.

"Выпуск языка программирования Rust 1.73"
Отправлено пох. , 06-Окт-23 11:14 
Да это он клиппи в фоне запускал, а она ему каждый раз - БАЦ, БАЦ по рукам!
Иди, говорит, заново переписывай и пока не перепишешь - домой не приходи!

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


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 00:45 
Добрый день, анонимы, не подскажете мне, почему Раст нельзя заменить C/C++ с применением статических анализаторов?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 06-Окт-23 01:47 
Потому что нельзя указатель на воид проанализировать.
Как и пачку ub.

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 02:15 
Садись, 2, ты не понимаешь, как работает статический анализатор. UB опять-таки, определяются стандартом, и если анализатор видит, что возможно UB, его дело на это поругаться, что вполне реализуемо.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 06-Окт-23 16:00 
> Садись, 2, ты не понимаешь, как работает статический анализатор.

В С++ он никак не работает. В С++ абстракции внесённые в стандарт дословно построены на багах компилятора.

> UB опять-таки, определяются
> стандартом

Да, и в этом проблема.

> и если анализатор видит, что возможно UB, его дело на
> это поругаться, что вполне реализуемо.

Во первых, совсем, вот совсем не всегда видит.
Во вторых, ну и толку если он на пол кода поругается? Зачем оно нужно?
Целочисленное переполнение тоже UB например. И что дальше?


"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 02:17 
UB -- это не ошибка, оно не случается где попало, это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:12 
> Садись 2
> это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.

Чел, ты лучше сам сядь. Да выучи, чем отличается UB от implementation-defined behavior.

На опеннете как всегда: чем более некомпетентен эксперт, тем сильнее он воюет против Раста.


"Выпуск языка программирования Rust 1.73"
Отправлено ЁжеЪ , 06-Окт-23 04:52 
Rust, как задумка, хорош, но синтаксис отвратно наркоманский.  

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:39 
Такой же, как в Плюсах.

"Выпуск языка программирования Rust 1.73"
Отправлено voiceofreason , 06-Окт-23 10:40 
Он ещё хуже, чем в крестах. Хотя казалось бы, хуже уже некуда.

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 07-Окт-23 03:06 
В чем конкретно хуже?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:21 
Буквально во всем, нет ничего в чем он лучше.

"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 22:20 
Что не нравится в синтаксисе? Часто за непонятным синтаксисом просто скрыта незнакомая семантика.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:17 
> Что не нравится в синтаксисе? Часто за непонятным синтаксисом просто скрыта незнакомая
> семантика.

Ну, они явно сишку и с++ решили копировать, что само по себе нехорошо.

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

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


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:23 
>непонятным синтаксисом просто скрыта незнакомая семантика.

Таким макаром можно и синтаксис C++ оправдать, да и вообще что угодно.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:18 
>> Садись 2
>> это решение комитета по стандартизации оставить детали реализации на усмотрение разработчиков компилятора.
> Чел, ты лучше сам сядь. Да выучи, чем отличается UB от implementation-defined
> behavior.

Ну, давай учить в_месте:

3.4.3

1 undefined behavior
behavior, upon use of a nonportable or erroneous program construct or of erroneous data, for which
this International Standard imposes no requirements

2 Note 1 to entry: Possible undefined behavior ranges from ignoring the situation completely with unpredictable results,
to behaving during translation or program execution in a documented manner characteristic of the environment (with or
without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic
message).

3 EXAMPLE An example of undefined behavior is the behavior on integer overflow.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:50 
Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков компилятора"?

А определение implementation-defined ты решил тактично не приводить, да? Но ты все же глянь на него: там как раз и сказано о "оставить детали реализации на усмотрение разработчиков компилятора".


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 16:17 
> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
> компилятора"?

Во втором пункте. За исключением одного нюанса: не компилятора, а транслятора ИЛИ имплементации стандартной библиотеки.

> А определение implementation-defined ты решил тактично не приводить, да? Но ты все
> же глянь на него: там как раз и сказано о "оставить
> детали реализации на усмотрение разработчиков компилятора".

Ты сначала определение UB уясни, прежде чем переходить к следующей теме.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 17:52 
>> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
>> компилятора"?
> Во втором пункте. За исключением одного нюанса: не компилятора

Ага, "не компилятора" у нас теперь "нюанс". Аплодирую твоей ментальной акробатике.

> транслятора ИЛИ имплементации стандартной библиотеки

Это ты так ловко перевел "documented manner characteristic of the environment"? Я правильно понял?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 06:37 
>>> Правильно. Ты где-то тут видишь "оставить детали реализации на усмотрение разработчиков
>>> компилятора"?
>> Во втором пункте. За исключением одного нюанса: не компилятора
> Ага, "не компилятора" у нас теперь "нюанс". Аплодирую твоей ментальной акробатике.

В смысле, ты не читал стандарт и не знаешь, что там вместо compiler пишется translator и/или conforming implementation, в зависимости от контекста (compiler - когда речь идёт об оптимизации целевого кода)? Ты мог бы попробовать поймать оппонента буквоедством, но вместо этого продемонстрировал непонимание сути.

>> транслятора ИЛИ имплементации стандартной библиотеки
> Это ты так ловко перевел "documented manner characteristic of the environment"? Я
> правильно понял?

Я не очень ловко поучаствовал в создании conforming implementation, а не только анонимной экспертизе. Именно так мы и трактовали стандарт, в случаях UB документировали поведение. То есть заявление #63 по своей сути верно, несмотря на формулировку.

Не торопись с манипуляциями и всякими "слабо" - всё это будет применено к тебе зеркально. Тебе придётся сначала зарегистрироваться и показать свои труды на Rust, после этого я нажму "Вход" и напишу в ответ ссылку.


"Выпуск языка программирования Rust 1.73"
Отправлено Пряник , 06-Окт-23 09:54 
Чем меньше знает человек, тем упорнее он за это знание держится.

"Выпуск языка программирования Rust 1.73"
Отправлено kir , 06-Окт-23 15:20 
https://www.youtube.com/watch?v=cvSW6sWxitk&t=1086s

Посмотри, м.б. в голове на место встанет


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:50 
а нехер указатели на войд юзать, это тебе не си и не си с классами, несмотря на то, что надстройка над си

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 06-Окт-23 16:03 
> а нехер указатели на войд юзать, это тебе не си и не
> си с классами, несмотря на то, что надстройка над си

А нахер тебе С++ если не юзать указатели на воид?
Если убрать из С++ си с классами и добавить строгую типизацию то что получится, и кому это надо?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 06:59 
> А нахер тебе С++ если не юзать указатели на воид?

Плюсы и придумали, что бы заменить void* смартпоинтерами.

> Если убрать из С++ си с классами и добавить строгую типизацию то что получится, и кому это надо?

Получится функциональщина в духе Степанова и Ли, STL.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 13:43 
> Плюсы и придумали, что бы заменить void* смартпоинтерами.

Чтож не заменили?

> заменить void* смартпоинтерами

Я в начале не понял, а потом как понял 😃

> STL

Сжечь.

> функциональщина
> The Standard Template Library (STL) is a set of C++ template classes
> template classes


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 19:08 
>> Плюсы и придумали, что бы заменить void* смартпоинтерами.
> Чтож не заменили?

Заменили.

>> заменить void* смартпоинтерами
> Я в начале не понял, а потом как понял 😃

Как? Что кому-то синтаксис unique_ptr<> показался некошерным, вот он и придумал новый язык с передачей владения?

>> STL
> Сжечь.
>> функциональщина
>> The Standard Template Library (STL) is a set of C++ template classes

STL создали Степанов и Ли, название изначально сложено из их фамилий. В библиотеку входят алгоритмы и итераторы, позволяющие писать в функциональном стиле. Позже к STL надобавляли всё подряд и назвали это стандартная библиотека. Не надо путать эти две разницы, употребляясь неопытному плюсовику.

>> template classes

И? Задача Страуструпа была прикрутить параметрический полиморфизм к синтаксису Си, потому и получилось громоздко. Позже ввели ключевое auto и осилили вывод типов для большинства случаев.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 19:23 
> Заменили

В каком-то конкретном компиляторе, стандарте, или где?
Представьте ссылку.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 06:32 
>> Заменили
> В каком-то конкретном компиляторе, стандарте, или где?

В исходных текстах программ на плюсах вместо void* используют умные указатели. Программисты делают это либо самостоятельно, либо руководствуясь принятыми в проекте стандартами кодирования.

> Представьте ссылку.

Первая попавшаяся

Ownership and Smart Pointers

Prefer to have single, fixed owners for dynamically allocated objects. Prefer to transfer ownership with smart pointers.

https://google.github.io/styleguide/cppguide.html#Ownership_...


"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 08-Окт-23 11:13 
> Заменили
> Prefer

Вы не видете разницы между рекомендацией использования гдетотам и заменой?

Кстати утверждение о том что С++ для этого создавался безумно, вумные указатели в нем сильно позже появились его создания.

> В исходных текстах программ на плюсах вместо void* используют умные указатели. Программисты
> делают это либо самостоятельно, либо руководствуясь принятыми в проекте стандартами кодирования.

Это сильное заявление.
А в стандарте оно нафига тогда?

И как смартпойнтер может *void вообще заменить? А если может то имеет теже проблемные свойства.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 02:39 
Потому что не помогает. Гугл пытается и не получается. И потому наоборот,  C/C++ с применением статических анализаторов и других костыльных техник заменяют на раст. Как они утверждают, большой сдвиг в уменьшении ошибок работы с памятью в андроиде ("...From 2019 to 2022 the annual number of memory safety vulnerabilities dropped from 223 down to 85...") у них произошел благодаря более интенсивному внедрению в новом нативном коде раста вместо си/плюсов с костылями:

"...We continue to invest in tools to improve the safety of our C/C++. Over the past few releases we’ve introduced the Scudo hardened allocator, HWASAN, GWP-ASAN, and KFENCE on production Android devices. We’ve also increased our fuzzing coverage on our existing code base. Vulnerabilities found using these tools contributed both to prevention of vulnerabilities in new code as well as vulnerabilities found in old code that are included in the above evaluation. These are important tools, and critically important for our C/C++ code. However, these alone do not account for the large shift in vulnerabilities that we’re seeing, and other projects that have deployed these technologies have not seen a major shift in their vulnerability composition. We believe Android’s ongoing shift from memory-unsafe to memory-safe languages is a major factor..."

https://security.googleblog.com/2022/12/memory-safe-language...


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:27 
Это не показатель, просто проект огромный. У других все хорошо работает и на C++.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 04:34 
Rust предоставляет средства безопасности плюс высокую производительность. Его система борьбы с гонками и управление памятью позволяют избегать многих ошибок, связанных с производительностью.

"Выпуск языка программирования Rust 1.73"
Отправлено ЁжеЪ , 06-Окт-23 04:53 
Ещё бы читаемый синтаксис вместо наркомании.

"Выпуск языка программирования Rust 1.73"
Отправлено Прохожий , 06-Окт-23 05:33 
Обычный Си-подобный синтаксис. Очень похож на Плюсы. Или там тоже наркоманский?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:47 
ты сейчас признался, что не видел ни одного куска кода ни на си, ни на расте

"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 22:23 
Нет. Он просто видел синтаксис языков, действительно отличных от Си.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:21 
> Обычный Си-подобный синтаксис. Очень похож на Плюсы. Или там тоже наркоманский?

Там тоже наркоманский.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 06:22 
> Добрый день, анонимы, не подскажете мне, почему Раст нельзя заменить C/C++ с
> применением статических анализаторов?

Потому что априори код написан на C/C++, его и заменяют написанным на Раст. Что бы появилась возможность произвести обратную замену, необходим код на Раст, а он пока только пишется.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:53 
Можно. Заменяйте.

"Выпуск языка программирования Rust 1.73"
Отправлено BeLord , 06-Окт-23 14:09 
Все можно технически, проблема в том, что приходит бабло, как аргумент и если считать полную стоимость владения решением, то возникают интересные вещи.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:29 
А потом они посчитают, во сколько обошелся переход на раст и мы увидим обратную революцию.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 00:08 
>почему Раст нельзя заменить C/C++ с применением статических анализаторов?

А почему нельзя, если можно?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 05:24 
Раст надо сравнивать даже не с D,  а с паскалем, мне кажется.
Это будет куда интереснее.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:05 
Паскаль это учебный язык, и в этой роли он идеален, а Раст замахнулся на промышленный стандарт, не обладая необходимыми для этого качествами.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:11 
Нет. Паскаль идеален для переписывания раста. А для учебной они оба - никакущие

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:46 
а делфи тогда что? это должен быть какой-то язык с гуями (которых, кстати, в расте до сих пор нет)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 10:28 
старый делфи издох, лазарь наше усё!

"Выпуск языка программирования Rust 1.73"
Отправлено 12yoexpert , 06-Окт-23 12:45 
ну так, кроме плюсового qml или, для совсем отбитых, qt widgets, сейчас гуи вообще ни на чём не напишешь

"Выпуск языка программирования Rust 1.73"
Отправлено voiceofreason , 06-Окт-23 16:54 
На дыряшке и gtk. Гуй правда так себе получится.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:24 
> старый делфи издох, лазарь наше усё!

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


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 20:44 
Как можно вообще сравнивать "прыжки на костылях"(Раст) с "танцами"(D) ??
D создан для работы. Более того - он создан с исправлением недочётов С++. А Раст сделали просто из ***опы, плюс навесили на программиста геморой с жонглированием указателями. Чтоб жизнь малиной не казалась. :) Какое тут сравнение?!

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 08-Окт-23 11:16 
> D создан для работы. Более того - он создан с исправлением недочётов С++

Ого, тоесть там не си подобный синтаксис и строгая типизация без классов?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:02 
Очередной никому не нужный проект от очередного непризнанного гения. Как можно что-то писать на языке, который переделывают чуть ли не каждую неделю, не говоря уже о том чтобы тащить его в ядро самой популярной ОС?

"Выпуск языка программирования Rust 1.73"
Отправлено Anon888 , 06-Окт-23 08:38 
Кто ни-будь объяснит смысл ведения таких споров? Хочешь используй Раст, но в большинстве проектов, связанных с железом,  уже используется С/C++, так что выбора особого нет. В чем проблема-то?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:12 
Проблема в том, что полтора петросяна пытаются убедить что специальная операция по переписыванию всего на раст - это то, без чего жить невозможно

"Выпуск языка программирования Rust 1.73"
Отправлено Массоны Рептилоиды , 06-Окт-23 11:44 
Так а в чём проблема? Просто не соглашайся. Или боишься что убедят?

"Выпуск языка программирования Rust 1.73"
Отправлено vlad1.96 , 06-Окт-23 12:10 
Согласен
Лично меня персоны, которые пишут: "вот это нужно переписать на rust, там нет утечек памяти", под любой новостью, где можно его приплести -- только веселят :D

"Выпуск языка программирования Rust 1.73"
Отправлено Анонин , 06-Окт-23 12:29 
> "вот это нужно переписать на rust, там нет утечек памяти"

Конечно это смешно - такую глупость писать.
Раст не гарантирует отсутствие утечек. Более того, они даже не считают это memory issue.

"Preventing memory leaks entirely is not one of Rust’s guarantees, meaning memory leaks are memory safe in Rust." https://doc.rust-lang.org/book/ch15-06-reference-cycles.html


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 18:37 
>Раст не гарантирует отсутствие утечек.

А напуркуа он тогда нужен то?!?!? :-о


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 19:43 
Чтобы криворукие пограмисты, которые делают use-after-free, получали по корявкам, которыми они это самый код пишут
Почитай с какими ошибками борется раст, а то ты в нем разбираешься как свинья в апельсинах.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 01:08 
Либо оно что то делает за меня, причём хорошо бы - лучше меня, либо оно ... Ыгы-гы - ржавчик :)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:26 
> Либо оно что то делает за меня, причём хорошо бы - лучше
> меня, либо оно ... Ыгы-гы - ржавчик :)

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


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:18 
Зойчем напрягаться?!?!?

ChatGPT - это замена тебе, меня оно заменит только когда я помру :)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 19:55 
> меня оно заменит только когда я помру

Last famos words.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 08-Окт-23 22:30 
Хав мач вач? :)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 09-Окт-23 00:52 
How Much Is The Fish?!

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:47 
Линус Торвальдс это целый петросян из полутора или только половинка?
Почему-то он решил, что в ядре без Раста жить невозможно... наверное дебажил double-free всю ночь и расстроился.
Или пол дня обновлял все дырявые либы в которых нашли уязвимости и мир пересобирал.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 12:43 
Торвальдс обеими руками за чистый Си. К Расту он прохладен, и на него давят корпорации.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 09-Окт-23 14:04 
> Торвальдс обеими руками за чистый Си. К Расту он прохладен, и на
> него давят корпорации.

C++ корпорасты не продавили например. Хоть давили давили неплохо так. Правда то было ещё во временна когда Майкрософт не спонсировала линукс.

Нвидия вот свое гуано то-же давит подавит да что-то все обратно выдавливается.


"Выпуск языка программирования Rust 1.73"
Отправлено DildoZilla , 06-Окт-23 17:04 
Петросянов там гораздо больше и у них задание: кричать и биться в истерике изрыгая гогны цунамями.

Примерно как всовывали пшшшаудио и системдшшш.


"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 22:31 
Минорные релизы Rust выходят каждые шесть недель, по расписанию. Обратную совместимость со старыми фичами языка они не ломают. Допускается ломать обратную совместимость только при выпуске новой редакции, которая производится раз в три года, также по расписанию. Уже выпущены редакции 2015, 2018 и 2021. Фичи одной редакции могут не поддерживаться в другой, но в одном проекте можно собирать зависимости любых редакций в любых комбинациях, так как компилятор всегда поддерживает все актуальные редакции.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:17 
Хороший язык и с каждой версией все лучше, так как позволяет избежать ошибок с памятью! С каждой версией ошибок с памятью все меньше и меньше!

"Выпуск языка программирования Rust 1.73"
Отправлено An , 06-Окт-23 08:37 
Любой язык позволяет избежать ошибок с памятью.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:14 
Ну сишечка, допустим, чисто технически не позволяет.

"Выпуск языка программирования Rust 1.73"
Отправлено An , 06-Окт-23 16:03 
Вот так прям берет и не позволяет не лезть за пределы памяти выделленой под данные?
Это каким образом?

"Выпуск языка программирования Rust 1.73"
Отправлено Ivan7 , 07-Окт-23 15:14 
Надо понимать специфику инструмента, и что и зачем ты делаешь. Острым ножом тоже можно делать как очень полезные вещи, так и самые ужасные, т.е. нож опасен. Поэтому нужно дружить с головой и соблюдать технику безопасности. С C++ примерно та же история. Кроме того, GCC и Clang поддерживают ассемблерные вставки в C++, что мега-круто и очень полезно, но очень опасно, т.к. контроля со стороны компилятора за твоими действиями нет почти никакого ;) Наслаждайся)))

"Выпуск языка программирования Rust 1.73"
Отправлено An , 07-Окт-23 19:56 
Верно. Поэтому, работая с таким инструментом, надо быть внимательным и аккуратным - и тогда программа будет работать как надо. Не все так могут. Но язык в этом не виноват.
Вон, я в предыдущем сообщении допустил ошибку в написании слова. Очевидно, что это я накосячил, а не русский язык "чисто технически не позволяет".

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 10-Окт-23 12:49 
В Google, Microsoft, и Linux Kernel не смогли.
У них >60% всех CVE основаны на ошибках работы с памятью.

Надо каждому комментатору, который рассказывает про
прямоту рук в С++ (даже не о Си речь), оставлять свою
почту, чтобы рекрутеры техногигантов могли с ним связаться 😂


"Выпуск языка программирования Rust 1.73"
Отправлено ferris , 09-Окт-23 06:51 
Нормально делай - нормально будет! ©

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 20:41 
Ты как дятел говоришь про "ошибки с памятью", хотя не понимаешь вообще, какой ценой даётся в Расте эта "защита"! Знал бы - свою дурь не писал бы.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 10-Окт-23 13:18 
Это ты зря сейчас. Каждый новационный язык требует дообучения. Называется это идиоматичный код.

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

Основной посыл авторов - современный системный язык не должен жертвовать безопасностью, там где это зависит от компилятора, а не программиста.
Вот человек уделил сколько времени своего отчета этому аспекту ЯП https://youtu.be/1ZTJ9omXOQ0?t=3455

В отличии от статических анализаторов (которые могут выявить в основном тривиальные случаи ошибок), современные приемы построения языковой модели системных языков позволяют полностью устранить целые классы багов в программах, приводящих к уязвимостям.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 08:51 
У языка Си есть международные стандарты, например C89, C99. А у Rust?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 09:43 
на синтаксис его посмотри, какие в пень стандарты?

"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 22:32 
А что случилось с синтаксисом?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:10 
Это просто такой перефорс критики кривого синтаксиса Раста, не обращай внимания.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:16 
> Это просто такой перефорс критики кривого синтаксиса Раста, не обращай внимания.

Звиняйте, но


#define MAP_LIST(f, ...) EVAL(MAP_LIST1(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0))
...
volatile const static signed long int* const restrict borsch = {(const volatile void*)0};
...
    if(!C) {
        l=(o=S].O)?S].I:0; I=o?S].l%9+1:(S].O=i%9+1);
        for(;l<81;l++,I=S].O,o=0) if(!(s]>>10)) {
        for(;;I=I%9+1,o=1) {
            l0=0; if(o&&I==S].O) goto O;
            if(s]>>I&1) {
            S].l=I; S++].I=l; S]=S-1];
            N(I,); O>w&&(w=O); goto lO;
            }
        }
        }

чем именно лучше?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 06:42 
if(s]>>I&1)

Это откуда взято? Сам придумал?


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 11:55 
> if(s]>>I&1)
> Это откуда взято? Сам придумал?

https://www.ioccc.org/2005/aidan/aidan.c
Но если "не считаица!", то можно и чего нибудь попроще:


??=include <stdio.h>                                                                    
%:include <stdint.h>                                                                    
                                                                                        
int hi(void) <% return 1337; }      
int main(void) <%                                                                        
    int foo[10:> = ??< 0 %> ;                                                            
    foo<:0] = 1337;                                                                      
    printf("hello %d %d", foo??(0??), hi());                                            
  return 0;                                                                              
??>

так сойдет?


"Выпуск языка программирования Rust 1.73"
Отправлено Нанонимус53 , 08-Окт-23 02:49 
Как там с синтаксисом C++? Всё хорошо?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 10:15 
А пока они ему не нужны.
Возьмем пример С - он разрабатывался с 1969 по 1973 корпорацией IBM и переписывали ядро UNIX на него с ассемблера.
В 75 на него переписали UNIX полностью. (Version 5)

Т.е переписывали промышленную ОСь на язык без стандарта!
Та что ж это такое, жаль не было рядом "анонимов с опеннета", те бы им объяснили, что так делать нельзя.

Первая попытка стандартизации "Informal specification" была в 1978 году.
Сама стандартизация началась в 1983, а сам стандарт родили аж в 89 и рожали стандарт аж 6 лет.
Т.е от написания ОС до стандартизации прошло всего 14 лет.

А теперь ситуация повторяется, вот только кодовая база которую нужно переписать выросла на несколько порядков.
Теперь Раст заменяет устаревший C.
Пусть хотя бы 10% ядра перепишут, а там можно и стандартизировать.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 01:11 
:-)
Каждая стока пЭрл!
И это я ещё дальше "С - он разрабатывался с 1969 по 1973 корпорацией IBM" не читал :)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 06:45 
Стоило бы дочитать до "переписывали ядро UNIX на него с ассемблера" %)

"Выпуск языка программирования Rust 1.73"
Отправлено Anon888 , 06-Окт-23 10:37 
Если бы тебя прочитал Столяров, то он бы тебе объяснил, что стандарты это зло. Что-то в этом есть. Разработчики компиляторов, все одно не всегда делают строго по стандарту. Расширения Гну для СИ тому живой пример.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:51 
Стандарты на колбасу зло! Вот хочу я вместо фарша положить туда дерьмо, а не дают!

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 06-Окт-23 15:23 
Так у нас стандарт на колбасу, где черным по белому написано
"наличие дерьма в колбасе и его сорт определяется компилятором фарша или железом на котором колбаса делается"

Отличный стандарт, просто пальчики оближешь!


"Выпуск языка программирования Rust 1.73"
Отправлено Anon888 , 06-Окт-23 15:31 
Тут как бы рынок должен порешать. Кладешь дерьмо покупать не будут.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:29 
> Тут как бы рынок должен порешать. Кладешь дерьмо покупать не будут.

А они покупают! Проклятые потребители, покупают и употребляют причмокивая!
Всё-таки люди в душе коммунисты, не работает чёртов капитализм.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 07-Окт-23 17:41 
Оглянись вокруг. И вспомни такую же оглядку лет этак 30 назад...

Рыночек за это время понял что "гораздо выгоднее продавать не хорошие вещи с минимальной маржОЙ, а овно и за-дорого"(С).
Чего и наблюдаем во всём :(


"Выпуск языка программирования Rust 1.73"
Отправлено wyry , 20-Окт-23 13:19 
Столяров и Rust не выносит. И это плохой авторитет, он давно уже не практикующий разработчик, зато он один [сарказм] знает, что нам всем нужно. Из отечественных разработчиков можно отметить Константина Владимирова (преподаёт в МФТИ параллельно с основной работой, до "известных" событий трудился в Intel), он регулярно ссылается на стандарт и отлично в нём разбирается. Если Столяров его в своё время не осилил - это его проблема. Хотя я всё равно считаю его литературу неплохой для старта и как к человеку к нему хорошо отношусь, просто не соглашаюсь со всеми его сдвигами.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:34 
Страндарт допустим есть, а компиляторы для него есть?

Вот какой мне взять открытый компилятор который полностью реализует С17?
(проприетарщину не предлагать, чай не на сайте ProprietaryNET.ru сидим)

А вот ни какой! Ни GCC, ни CLANG не реализуют его полностью.
Более того floating point не реализовано по стандарту даже для С11.

Если из 3 десятков компиляторов стандарт реализую единицы... то возможно это не стандарт, а кусок непонятной дурнопахнущей субстанции.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 14:42 
аот только в жизни часто все наоборот, что не сделано без стандарта, то лучше не брать ибо этот кусок и есть...

"Выпуск языка программирования Rust 1.73"
Отправлено Анонимм , 06-Окт-23 15:38 
А если в стандарте написано "официант имеет право плюнуть борщ по желанию повара"?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 09:15 
Хотя бы будешь знать об этом...

"Выпуск языка программирования Rust 1.73"
Отправлено Менеджер Антона Алексеевича , 06-Окт-23 18:06 
> аот только в жизни часто все наоборот, что не сделано без стандарта, то лучше не брать ибо этот кусок и есть...

Громадный рынок предметов и вещей, сделаных вручную на заказ говорит нам о том, что ты пустозвон с пониманием жизни на уровне подростка.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 06:48 
Заведи себе хоть одну такую вещь, тогда из разговоров с мастером будешь знать, как он чтит выработанные годами правила.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним123 , 08-Окт-23 13:05 
На википедии по c17 написано ( https://en.wikipedia.org/wiki/C%2B%2B17#:~:text=bu....-,Compiler%20support,C%2B%2B17%20language%20features. ):
Compiler support
GCC has had complete support for C++17 language features since version 8.[48]
Clang 5 and later supports all C++17 language features.[49]
Visual Studio 2017 15.8 (MSVC 19.15) and later supports all C++17 language features

"Выпуск языка программирования Rust 1.73"
Отправлено wyry , 20-Окт-23 13:27 
Во-первых, реализуют. То, что нереализовано в GCC и CLANG - регламентировано самим стандартом как "необязательные" функции, так что это вы здесь передёргиваете. Более того, объективно: у вас вообще есть компетенция, чтобы вы в принципе столкнулись с проблемой несовместимости и это не была именно ваша ошибка? Многие говорят про стандарт даже не разу его не открыв, не говоря о том, чтобы выявлять несоответствия и отправлять репорты. Большинство разработчиков (причём БЕЗ иронии) никогда не найдут несоответствия стандарту, а то, что они сами примут за "несоответствие" - не будет им являться.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 10:27 
из новости мне понравились рыбки и крабики - теперь думаю, что надо будет изучить раст

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 12:09 
Посмотри Birb (https://www.opennet.ru/opennews/art.shtml?num=59753)
Он тебе понравится еще больше 🐥🐦🪽🐧

"Выпуск языка программирования Rust 1.73"
Отправлено Аноньимъ , 07-Окт-23 01:31 
> Посмотри Birb (https://www.opennet.ru/opennews/art.shtml?num=59753)
> Он тебе понравится еще больше 🐥🐦🪽🐧

У меня отобразился первый второй и последний эмозди, а средний нет, у вас не свободный юникод?

Кстати! Опеннет же в KOI8-R работает!! Как это вообще возможно?


"Выпуск языка программирования Rust 1.73"
Отправлено freecoder , 06-Окт-23 22:36 
Краб Ferris - это талисман Раста, а рыба - возможно, намёк на turbofish: ::<>

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 10:49 
C одной стороны, нашумевшие в англоговорящем сегменте результаты теста Rust на скорость выполнения кода — впечатляют. Даже Nim по общей скорости выполнения всего лишь 5-й.

https://github.com/jinyus/related_post_gen

С другой стороны, глядя на синтаксис Rust, хочется застрелиться.


"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 18:40 
Ага - впечатляют:
Language     Processing Time     Total (PT + I/O)
Go     26.39 ms     58.1 ms
Zig     38.00 ms     79.5 ms
Rust     38.91 ms     56.7 ms
Java (GraalVM)     40.00 ms     70.4 ms

:-)


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 05:08 
Меня лично Multicore result там более впечатляют, но не готов перейти на rust. Взял книгу изучить – не особо сложный как по мне, попробовал – ну работает, но он просто не популярный.

"Выпуск языка программирования Rust 1.73"
Отправлено ГлавныйАноним , 06-Окт-23 11:12 
Вижу тут собрали люди, которые разбираются в С.
Может вы сможете мне помочь.

Я хотел попробовать новый С17 и начал выбирать компилятор под новый проект.
Но оказалось, что ни GCC, ни Clang не поддерживают 17й стандарт полностью!

При этом некоторые компиляторы Acorn, AMD OCC, Edison Design, IAR C поддерживают. Но они все проприетарные.

Как такое может быть, что свободные компиляторы не поддерживают стандарт С?
Может я где-то ошибся и качал не тот компилятор?


"Выпуск языка программирования Rust 1.73"
Отправлено Anon888 , 06-Окт-23 11:16 
Разработчики компиляторов не всегда поддерживают стандандарты, особенно последние версии. Используй gcc + С11 и не парься. Этого хватит на любой самый сложный проект в области железа и системного программирования под *nix.

"Выпуск языка программирования Rust 1.73"
Отправлено ГлавныйАноним , 06-Окт-23 11:20 
Спасибо, наверное так и придется сделать.

Просто удивил сам факт.
Зачем нужен стандарт, если компиляторов под него можно посчитать на пальцах одной руки.


"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 11:27 
стандарт это путеводная звезда :) подожди лет так 5 и будут поддерживать. зачем спешить?

"Выпуск языка программирования Rust 1.73"
Отправлено ГлавныйАноним , 06-Окт-23 12:25 
Ну... жизнь как бы не бесконечно. Хочется успеть прикоснуться к прекрасному!

"Выпуск языка программирования Rust 1.73"
Отправлено An , 06-Окт-23 12:41 
Тогда добавь поддержку сам.

"Выпуск языка программирования Rust 1.73"
Отправлено _ , 06-Окт-23 18:43 
За удовольствия в смысле "прикосновений к прекрасному" - надо платить :) Внезапно!(С)

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 07:13 
> Но оказалось, что ни GCC, ни Clang не поддерживают 17й стандарт полностью!

Что именно не поддерживается?


"Выпуск языка программирования Rust 1.73"
Отправлено Ivan7 , 07-Окт-23 14:29 
Тебе шашечки или ехать?

"Выпуск языка программирования Rust 1.73"
Отправлено Ivan7 , 07-Окт-23 14:57 
GCC и Clang давно поддерживают C17 и новее. Используй самые последние версии GCC и Clang для доступа ко всему самому новому. Лучше компиляторов C/C++ по поддержке стандартов, качеству генерируемого кода, поддержке различных платформ и общей совокупности возможностей ты не найдёшь. Чего конкретно тебе не хватает?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 15:07 
Добавлю свои 5 копеек. С17 - это черновик, ратифицированный вариант стандарта C18. GCC поддерживает C18

"Выпуск языка программирования Rust 1.73"
Отправлено wyry , 20-Окт-23 13:37 
Ему не хватает человеческого внимания, очевидно. Вообще нет смысла всерьёз воспринимать сообщения от людей, которые даже не раскрывали стандарт, не говоря о том, что в принципе у малого количества разработчиков хватит компетенции, времени и удачи, чтобы найти откровенное несоответствие стандарту. Те, у кого есть чем заняться просто возьмут GCC или CLang и даже не задумаются о том, что где-то они противоречат стандарту, потому что даже специально найти противоречия не так то просто (для большинства: невозможно). Это не значит, что ошибки в компиляторах невозможны (возможны и есть), скорее они во-первых, редки, а во-вторых, большинство разработчиков никогда их не встретят, либо они не являются столь критическими для каждой конкретной задачи и просто с чем-то можно поспорить.

"Выпуск языка программирования Rust 1.73"
Отправлено Данные в так называемом поле Name , 06-Окт-23 11:39 
Столько скепсиса! А между прочим, на Rust написаны такие замечательные проекты как cargo и rustc!

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 06-Окт-23 20:00 
Ну ещё бы они были написаны на Python или JS.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 07-Окт-23 23:04 
Поверь, фанатики безопасТного и этому нашли бы оправдание.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 05:00 
А разве не за Счёт rust Firefox стал лучше работать?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 18:15 
Firefox стал лучше работать?

"Выпуск языка программирования Rust 1.73"
Отправлено ferris , 09-Окт-23 06:57 
Firefox ещё существует?

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 05:32 
Почитал комментарии. Это какая-то шиза насчёт стандартизации языка программирования. К развитию оно не имеет никакого отношения, потому что к развитию имеют отношение разработчики и деньги. И очень сомнительно что инвесторы будут читать мнение анонимов. Деньги как правило вкладываются для того чтобы заработать, а для этого что-то продаётся. Как правило продается программный продукт производства или информация (о пользователях), либо же проект поддерживается за счет сборов (фондов, общественных организаций). Насколько я помню Rust применяется в Firefox и пока так, то данному продукту он нужен, но этот продукт бесплатный. При чем тут стандартизация? Если какая компания захочет выпустить свой компилятор rust, то стоит опираться на какие-либо стандарты. Вижу некоторые доводы в надёжность, продуманность при стандартизации — побочный результат основной цели. Захочет ли компания владелец стандартизировать свой язык? Решать им, а не анонимам, впрочем авторское право не вечно. Такие языки как C, C++, Фортран, VHDL, Алгол, Паскаль, Бейсик, JavaScript, Cobol имеют стандарты. Такие языки как Rust, C#, Java, Go стандарта не имеют. И те и другие до сих пор существуют, есть работа связана с данными языками программирования.

"Выпуск языка программирования Rust 1.73"
Отправлено Аноним , 08-Окт-23 07:10 
Стандартизуют языки, когда за ними стоит несколько заинтересованных (существуют разные компиляторы). Таким образом конкуренты договариваются меж собой, устраняют разногласия, а пользователь получает определённые в стандарте гарантии. Когда за языком стоит одна компания, ей стандарт мешает, если она хочет быть одна на вершине созданной ею пирамиды. Не обязательно такая схема хуже первой, кому-то выгодно каждые 10 лет переписывать свой проект, осваивая средства.

> И те и другие до сих пор существуют

Сравните сроки их жизни. Нет ли корреляции?


"Выпуск языка программирования Rust 1.73"
Отправлено Серб , 09-Окт-23 12:43 
> Rust, C#, Java, Go

Анекдот про нюанс помнишь?

C#, Java, Go - Продукты корпораций и держатся на их авторитете. Хотя Java и пытаются перевести в другую категорию, но как-то пока только на словах.

А что с Rust?

Возможно, конечно, что он создаст свою категорию языков, которые поддерживают сразу все корпорации и при этом они не пос..., кхм.. не перессорятся.

И все корпорации будут сообща его развивать не пытаясь откусить от общего пирога побольше.


"Выпуск языка программирования Rust 1.73"
Отправлено wyry , 20-Окт-23 13:47 
>> C#, Java, Go стандарта не имеют.

Ложь. C# стандартизирован аж в 2-х версиях: C# 4.0 и C# 5.0, а современные версии языка не противоречат стандарту. То есть код, актуальный для С# 5.0 скомпилируется на современной версии языка.
С java дела похуже, но во-первых, язык тоже стандартизирован ISO/IEC TR 13066-6:2014, во-вторых, Java в своём изначальном дизайне декларирует совместимость как базовую фишку, которой все обязаны придерживаться и спустя годы следует этому правилу, в отличие от Rust, который уже неоднократно ломал совместимость, пусть чаще и в мелочах. Но какая разница, если даже из-за мелочи код не соберётся и придётся выяснять причину?


"Выпуск языка программирования Rust 1.73"
Отправлено Янис , 09-Окт-23 20:35 
У этого языка библиотеки доступны онлайн?