Выглядит стрёмно, но речь даже не об этом. Я говорю о том, чтоб делать альтернативные клиенты именно телеги (или любого другого популярного мессенджера), к которым сбоку прикручена возможность коммуникации, полностью независимой от серверов.
которые критикуют молодежь за то, что они не читают книг
Не читают ибо им предлагают вместо подростковой литературы либо махровую классику, либо детскую литературу. Я почти уверен, что они придут в ужас, если им сказать, что требуется запихнуть в книгу, которая будет популярной у подростков. Эротика, наркотики, рок-н-ролл, насилие, однополая любовь, борцунство с системой и далее по расстрельному списку роскомпозора.
Само по себе использование unsafe ничего не говорит об оптимизациях. Наличие некой оптимизации в том же самом коде, который использует unsafe — это просто забавное совпадение.
В расте надо выбирать написать код без unsafe или чуть более оптимальный внутри unsafe.
unsafe не для оптимизаций. Он для ручного доказательства корректности. А ещё для того, чтоб можно было сделать grep -rn unsafe вместо запуска отладчика.
А если взять все 100500 библиотек плюсов/си, сопоставить их с аналогами на расте и замерить, в скольки процентах случаев выиграет раст?
Если будете пихать это в свои макросы, то назовите его awesome_fortran. А вообще эту фигню можно запилить через процедурные макросы. Возможно это даже есть уже.
std::mem::uninitialized — это не заполнение нулями, UB — это не только "заполнить чем угодно" даже в данном случае. UB — это "сделать что угодно и где угодно без каких либо гарантий вообще". Для заполнения нулями есть std::mem::zeroed. Но вообще для этих целей есть std::mem::MaybeUninit. Это более корректный вариант более ограниченного UB, но это всё хаки для оптимизаций. Для корректного zero value есть std::default::Default.
Вот вещи, которые теоретически могут произойти с UB на uninitialized:
Код станет быстрее.
Код станет медленнее. (Ибо оптимизатор не только умнее тебя, но и безумнее)
Код где-то будет выкидывать панику.
Код где-то перестанет работать.
Код будет работать некорректно.
Код будет работать некорректно исключительно по тем пятницам, когда хочется уйти с работы пораньше. Или по четвергам.
Код будет майнить биткоины и распространять детскую порнографию от твоего имени.
О существовании этого кода может узнать психически неуравновешенный маньяк, который знает, где ты живёшь.
В худшем случае он будет не один. И это не считая того здоровенного именного мачете.
Всё это верно для любого unsafe блока в Rust, а также для всего C/C++ кода.
Да с любым GUI у нас всё очень плохо. Не только с кроссплатформенным. Можете глянуть https://areweguiyet.com/. Чего не хватает для хорошего полноценного GUI? Нормальной обработки текста, вот чего. Н̢̘̲е̸̩͈л̹̝̝͎̞͡ͅь͍з͇̻я͓͙̙̟̯͇̯ ̷̺̼͖п̵̦̬͓̻̗̱̰ро̙с̩̰̱̳т̠̦̖̣͍о҉̖̼̠ ̼̼̳͎̳̱̩͡вз̜̣͖̩я̥͔̜̦̺̹̮т̹̕ь̶̜͍͚ ̞̩̗̯͈̰и̲͘ ̛͖̭н̳͍ͅари͓с͇̣̤̫ͅо̫̼̙̜͚̲͘ͅв̤̥͉а̥̠ть̖̬͓̟͢ ̗͓͎̹̯п̻р̰͔о̶̯̲͙̮̗и̘зв̞͇̳̫̮̱͖͞ол̱͚̟̗̞͜ͅь̘̖н͍̝̝̝у̡͉͔̪̬̮̮̠ю̧̹̯͍͚̪ ̼̯̫̺̟͞ͅп̤͝о̪͉̺͓̲͈̹͟с̴̮̱̲̰̩л̲͍е̠̟̭͍̩̤̖͡д̵̮̖͚̝̬̼͓о̙̪̱̳͎̕в̙̮̰̣̗͝ат̵̮̻͉̙̝̞е͙͚͖̻л̗̜̪̩̩ь̢̬̮̞н͍͡о̖̤̦с̤̗̹͕т̭̼͎̩͓̪͔ь̹̱̹̟̗ ̱͔̣г̙̙̹̼͉͉л̲͠ͅи͈͈ф̗͖̙̤̘͕о͇̭̫̘̥̪̭в̨̗.̻͉͟
Такие дела. Ждём новостей от https://github.com/linebender/skribo.
Не в крон, а while true. Зачем полумеры? За время компиляции выйдет пара-тройка (десятков?) минорных версий. Ещё надо будет приделать потоковое скачивание истории изменений. На диск их можно не складывать, это слишком долго. Заодно найдётся применение терабайту оперативной памяти, которые вы зачем-то держите дома. Ещё надо будет потом портировать компилятор на GPU для того, чтоб компилировать 60fps (firefox per seconds). Firefox Hyperlight Nightly Mining Edition 9135.42a234552345.
Теоретически алгоритмы нужно оптимизировать под семантику этого posit. Грубо — вы взяли алгоритмы, которые уже пофиксили для IEEE 754, а для posit нужны другие хаки (которые ещё и найти нужно). И при сравнениях надо лезть в битовое представление этого всего.
Даже если результат известен, то всё равно было бы интересно посмотреть на это всё.
Выглядит стрёмно, но речь даже не об этом. Я говорю о том, чтоб делать альтернативные клиенты именно телеги (или любого другого популярного мессенджера), к которым сбоку прикручена возможность коммуникации, полностью независимой от серверов.
А могли бы вскрыть исходники и получить бесплатных разработчиков.
Надо к телеге добавить функционал распределённого мессенджера. Такой, чтоб мог функционировать даже в самой глухой локалке.
Rust какбе говорит вам, что ваша архитектура говно, раз у вас такие траблы возникают.
У вас уже начали появляться симптомы превращения в гомосексуалиста. Данная стадия необратима.
Да вообще для любой разработки линукс лучше. За некоторыми очень специфическими исключениями, которые по большей части решаются виртуалками.
Не читают ибо им предлагают вместо подростковой литературы либо махровую классику, либо детскую литературу. Я почти уверен, что они придут в ужас, если им сказать, что требуется запихнуть в книгу, которая будет популярной у подростков. Эротика, наркотики, рок-н-ролл, насилие, однополая любовь, борцунство с системой и далее по расстрельному списку роскомпозора.
https://habr.com/ru/users/kvark/
Не благодарите. Он далеко не последнюю роль играл в появлении Firefox Quantum.
Само по себе использование
unsafe
ничего не говорит об оптимизациях. Наличие некой оптимизации в том же самом коде, который используетunsafe
— это просто забавное совпадение.https://gitlab.redox-os.org/redox-os/orbtk например.
unsafe
не для оптимизаций. Он для ручного доказательства корректности. А ещё для того, чтоб можно было сделатьgrep -rn unsafe
вместо запуска отладчика.Давайте, мне тоже интересно. Топ можете взять отсюда https://crates.io/crates?sort=downloads
А ещё лучше вот так:
БЕЗ ПАНИКИ!
Теперь откройте следующую страницу путеводителя по галактике.https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=b83454abccb677b49d32de627ca96403
Если будете пихать это в свои макросы, то назовите его
awesome_fortran
. А вообще эту фигню можно запилить через процедурные макросы. Возможно это даже есть уже.Что-то тут не так.
У гугла есть частичка данных обо мне. У меня в сердце кусочек гугла. Где мой пригласительный?
Худший сценарий не позже 2025 года:
Дальше будем скатываться в антиутопию.
std::mem::uninitialized
— это не заполнение нулями, UB — это не только "заполнить чем угодно" даже в данном случае. UB — это "сделать что угодно и где угодно без каких либо гарантий вообще". Для заполнения нулями естьstd::mem::zeroed
. Но вообще для этих целей естьstd::mem::MaybeUninit
. Это более корректный вариант более ограниченного UB, но это всё хаки для оптимизаций. Для корректного zero value естьstd::default::Default
.Вот вещи, которые теоретически могут произойти с UB на
uninitialized
:Всё это верно для любого
unsafe
блока в Rust, а также для всего C/C++ кода.Да с любым GUI у нас всё очень плохо. Не только с кроссплатформенным. Можете глянуть https://areweguiyet.com/. Чего не хватает для хорошего полноценного GUI? Нормальной обработки текста, вот чего. Н̢̘̲е̸̩͈л̹̝̝͎̞͡ͅь͍з͇̻я͓͙̙̟̯͇̯ ̷̺̼͖п̵̦̬͓̻̗̱̰ро̙с̩̰̱̳т̠̦̖̣͍о҉̖̼̠ ̼̼̳͎̳̱̩͡вз̜̣͖̩я̥͔̜̦̺̹̮т̹̕ь̶̜͍͚ ̞̩̗̯͈̰и̲͘ ̛͖̭н̳͍ͅари͓с͇̣̤̫ͅо̫̼̙̜͚̲͘ͅв̤̥͉а̥̠ть̖̬͓̟͢ ̗͓͎̹̯п̻р̰͔о̶̯̲͙̮̗и̘зв̞͇̳̫̮̱͖͞ол̱͚̟̗̞͜ͅь̘̖н͍̝̝̝у̡͉͔̪̬̮̮̠ю̧̹̯͍͚̪ ̼̯̫̺̟͞ͅп̤͝о̪͉̺͓̲͈̹͟с̴̮̱̲̰̩л̲͍е̠̟̭͍̩̤̖͡д̵̮̖͚̝̬̼͓о̙̪̱̳͎̕в̙̮̰̣̗͝ат̵̮̻͉̙̝̞е͙͚͖̻л̗̜̪̩̩ь̢̬̮̞н͍͡о̖̤̦с̤̗̹͕т̭̼͎̩͓̪͔ь̹̱̹̟̗ ̱͔̣г̙̙̹̼͉͉л̲͠ͅи͈͈ф̗͖̙̤̘͕о͇̭̫̘̥̪̭в̨̗.̻͉͟
Такие дела. Ждём новостей от https://github.com/linebender/skribo.
Не в крон, а
while true
. Зачем полумеры? За время компиляции выйдет пара-тройка (десятков?) минорных версий. Ещё надо будет приделать потоковое скачивание истории изменений. На диск их можно не складывать, это слишком долго. Заодно найдётся применение терабайту оперативной памяти, которые вы зачем-то держите дома. Ещё надо будет потом портировать компилятор на GPU для того, чтоб компилировать 60fps (firefox per seconds). Firefox Hyperlight Nightly Mining Edition 9135.42a234552345.Теоретически алгоритмы нужно оптимизировать под семантику этого posit. Грубо — вы взяли алгоритмы, которые уже пофиксили для IEEE 754, а для posit нужны другие хаки (которые ещё и найти нужно). И при сравнениях надо лезть в битовое представление этого всего.
Даже если результат известен, то всё равно было бы интересно посмотреть на это всё.
Если вам интересны подробности то есть же http://lurkmore.to/%D0%92%D0%B0%D1%82%D0%BD%D0%B8%D0%BA
AI