The OpenNET Project / Index page

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



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

Оглавление

Около 21% нового компилируемого кода в Android 13 написано на языке Rust, opennews (?), 03-Дек-22, (0) [смотреть все]

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


30. "Около 21% нового компилируемого кода в Android 13 написано н..."  +6 +/
Сообщение от fsb4000 (?), 03-Дек-22, 14:30 
на самом деле может:

```
let i: *mut i32 = ptr::null_mut();
*i = 1;
```

https://rust.godbolt.org/z/Mrs3M877j

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

51. "Около 21% нового компилируемого кода в Android 13 написано н..."  –2 +/
Сообщение от Твайлайт Спаркл (ok), 03-Дек-22, 14:58 
Вот только прошлось обернуть кусок кода в unsafe.
Ответить | Правка | Наверх | Cообщить модератору

66. "Около 21% нового компилируемого кода в Android 13 написано н..."  +2 +/
Сообщение от AlexCr4ckPentestemail (?), 03-Дек-22, 15:13 
Речь шла про тип, схожий с NULL из языка C
Такой тип есть? - есть
То, что использование такого кода возможно только в пределах unsafe контекста - это хорошо, но в реальности, очевидно не всегда есть возможность писать все в safe контексте
Ответить | Правка | Наверх | Cообщить модератору

136. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от aploskov.dev (ok), 03-Дек-22, 17:04 
Только это достаточно узкий спектр задач.

Бизнес-логику высокоуровневую ты в unsafe заворачивать не будешь, что снижает вероятность словить сегфолт там, где его не ждешь.

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

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

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

154. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Michael Shigorinemail (ok), 03-Дек-22, 17:57 
Кстати, Вы бизнес-логику на постоянно мутирующем тулчейне и впрямь пытались делать?

Интересно стало.

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

156. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от aploskov.dev (ok), 03-Дек-22, 18:01 
> Кстати, Вы бизнес-логику на постоянно мутирующем тулчейне и впрямь пытались делать?
> Интересно стало.

Ну, там не настолько сильно мутирует тулчейн, чтобы подрываться на этом, хотя это однозначно минус Rust'а.

Даже энтерпрайз на жабке не меняет версию последней каждые 3 года, хотя обратная совместимость у неё намного лучше. Так же можно и с Rust'ом: сесть на жопку ровно на определенной версии языка и сидеть года 3-4 до следующего "кому-то приперло обновиться".

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

276. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Igraine (ok), 04-Дек-22, 11:46 
Энтерпрайз на java меняет версию раз в 20 лет.
Даже на java 8 не все перешли.
Ответить | Правка | Наверх | Cообщить модератору

190. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Sw00p aka Jerom (?), 03-Дек-22, 20:59 
>Речь шла про тип, схожий с NULL из языка C

эт что за такой тип NULL в сях?

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

344. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Someone (??), 05-Дек-22, 22:04 
Если я не ошибаюсь, в C/C++ любой указатель можно сравнивать с NULL. Поправьте меня если я неправ.

Так что получается что все таки в C/C++ NULL это тип неинициализированного указателя.

В Rust можно создать нулевой указатель, но их нельзя сравнить с NULL, так как NULL в языке нет. Да и в принципе это будет все таки указатели на разные типы которые нельзя сравнивать.

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

347. "Около 21% нового компилируемого кода в Android 13 написано н..."  +/
Сообщение от Sw00p aka Jerom (?), 06-Дек-22, 00:03 
> Если я не ошибаюсь, в C/C++ любой указатель можно сравнивать с NULL.
> Поправьте меня если я неправ.
> Так что получается что все таки в C/C++ NULL это тип неинициализированного
> указателя.
> В Rust можно создать нулевой указатель, но их нельзя сравнить с NULL,
> так как NULL в языке нет. Да и в принципе это
> будет все таки указатели на разные типы которые нельзя сравнивать.

а сравниваете что? тип или значение?

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

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

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




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

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