Вы видите копию треда, сохраненную 31 июля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.
Ссылка на официальный сайт: https://www.rust-lang.org/
В этом ИТТ мы можем объяснить базовые и продвинутые концепции языка, и программирования в целом, поможем вкатывающимся, подскажем что выбрать для веба, игр или, прости Абу, блокчейна.
IDE для Rust: https://areweideyet.com/
GUI для Rust: http://www.areweguiyet.com/
Web для Rust: https://www.arewewebyet.org/
GayDev для Rust: https://arewegameyet.rs/
Что еще есть для Rust?
- Посмотри сам: https://wiki.mozilla.org/Areweyet
Основная литература:
Rust Book(версия на русском языке): https://doc.rust-lang.ru/book/
Rust Book: https://doc.rust-lang.org/book/
Rust by Example: https://doc.rust-lang.org/rust-by-example/
The Rustonomicon(для продвинутых анонов): https://doc.rust-lang.org/nomicon/
Programming Rust: https://www.oreilly.com/library/view/programming-rust/9781491927274/
Ресурсы на русском: https://rust-lang.ru/
Отдельное спасибо автору этого гитхаба(старому ОПу). Здесь вы сможете найти много полезной информации: https://gist.github.com/TatriX/183c816f1346d418f969c4576c2b9b41
Предыдущий тред: >>2191525 (OP)
Предыдущий тред(архивач): https://arhivach.ng/thread/753321/
>>2253763 →
Когда хотя бы больше 1 страницы документации будет и можно будет потыкать - тогда и пойдем.
>Many of the ideas we built on have been popularised by Rust, such as borrowing and linearity
>Project Verona is a research project that is not affecting engineering choices in the company.
Шарпошиз, там это, твой белый господин признал раст и не собирается релизить этот язык...
Ну, парни просто исследуют, проходите мимо, тут не на что смотреть. Как бы не оказалось, что rust был подобием бета-теста и затяжным исследовательским проектом.
PS на самом деле я не против раста, мне кажется, если бы такой проект сразу попал хорошие руки, мы бы тут даже не грызлись. Люди из МС потрогали раст, вдохновились и быть может появиться конкурент. А конкуренция всегда хорошо, раст сразу подхватит свежие идеи, а мс сможет выплюнуть сразу инфраструктуру, чем и заставит растаманов писать свою инфраструктуру, в общем, пердак Сансары раскрутиться сильнее в любом случае.
>PS на самом деле я не против раста, мне кажется, если бы такой проект сразу попал хорошие руки, мы бы тут даже не грызлись
о чем можно сраться с идиотами, у которых
>Rust — невероятно быстрый язык для системного программирования без segfault'ов
ну пометаешь ты перед ними бисер, а они тупо не поймут, о чем речь идет
https://github.com/rust-unofficial/awesome-rust#gui
>может появиться конкурент
Конкуренция в данном случае это плохо. Скажем, есть у тебя 1000 кодеров на расте, пишущих какие-то полезные крейты. Пришла мс, показала конкурирующий язык, 500 кодеров из 1000 свалили на него - что получаем? Получаем ни там, ни там, получаем фрагментацию, как с десктопными линухами.
&Вечер в *хату, педерасты!
fn addr(p: String) -> (String, i32) {
let hp: Vec<&str> = p.split(':').collect();
match hp[1].parse::<i32>() {
Ok(n) => {return hp[0].into_string(), n},
Err(e) => {return hp[0].into_string(), 1337},
}
}
Не обернул в скобки результат, который возвращает return?
По-английски не понимаешь, что тебе компилятор пишет?
Я не ругаюсь, я перечисляю навскидку, что ты сделал неправильно. Не принимай близко к сердцу сарказм, анон.
Кортежи только через скобки. Алсо в однолайновых замыканиях не стоит писать return и фигурные скобки.
@
все современные языки поддерживают нормальную и ожидаемую работу с юникодом
@
все
@
кроме раста
В современных языках, такое ощущение, что у людей хватает сил только на хайповый какой-то сахар, а потом когда начинаются реальные проблемы, они городят какой-то ад, чтобы все вместе это подогнать под рабочее решение.
Я тоже слышал про 6, может уже довели до ума, но точно помню было такое.
Я тут на хабре видел статью, раст пытались преподнести javascript разработчикам.
Вы серьезно с String::from("Строка") - хотите попасть на рынок js?
То что всё ещё в расте 2 типа строки
А твой скрин ничего не опровергает
или ты к чему тогда его кинул?
> from_str
> as_str
> to str
> ffi
мне правда нужно объяснять тебе что каждое из этих слов значит?
это биндинги блять к строкам
Cstr - чтобы можно было строки из С доставать
OsStr - платформно специфичные строки, то есть виндовые, из юниксов и тд
Выключи растошизу и посмотри со стороны на свои.
Грубо говоря
&str - ссылка на строку, некие буковки где-то в памяти
String - сама строка, контейнер с буковками. &String в большинстве случаев прокатывает за &str, буковки и там и там одинаковые
остальные типы нужны для ffi, при кодинге чисто на расте ты про них вспоминать не должен.
>I was given the task to learn Rust and write a report
Если уж так ставить вопрос, то я бы тоже копротивлялся, даже не будь там проблем (а в 2к16 в расте их было явно больше, чем он написал).
>>55016
А где он его выпилил-то? Прямо сейчас открыл гит фуксии и походил по папкам (там даже поиска в вебморде нет, сука, ну задеплойте в гитлаб хотя бы как люди) — его там навалом:
https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/ui/lib/input_pipeline/src/
https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/security/kms/src/
https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/connectivity
https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/fonts
Забавно как пориджи пытались сделать чэда из мема про зумера, но все равно получился уродливый даун, который визуально просто вырос.
Гугл что-то понимает во всей этой движухе?
Самый здравый смысл, это то, что они не видят в расте еще будущего, то есть технология слишком медленно развивается, чтобы тащить её в реальный новый проект.
Ну или видят риски с SJW управлением.
Жалко когда люди открыто не могут сказать реальную причину.
>Гугл что-то понимает во всей этой движухе?
Не, не понимает, чуть ли не треть фуксии на расте написана.
Шарпошиз, там это, в фуксии кода на расте заметно больше чем на си и плюсах вместе взятых, даже если учитывать сишные хэдеры (код в которых на 3/4 дублирует основной файл, и его можно не учитывать), так что ховайся нахуй, просто раздет и выебан.
Давай прочитаем вместе:
>>55016
>А почему гугл вырезал раст из фуксии и запретил в ядро на нем писать?
Так из фуксии не нихуя не вырезано — пруфы выше, можешь сам проверить.
А в цирконе его и не было — тут >>55025 пердикс описал, что решили его туда не тащить потому что сырой был.
Ты в глаза долбишься или из запоя не вышел?
Нахер тебе пруфы, если ты ядро не отличаешь. Зачем безграмотному человеку технические пруфы.
>Google notes, "The Fuchsia Platform Source Tree has had positive implementation experience using Rust" but it has opted not to support it for end-developers because none of its current end-developers use it and it's not a widely used language.
Поздравляю, ты запруфал слова пердикса из твиттера — конкретно команда ядра просто не хочет ничего нового. Где тут запрет — хуй его знает, выпиливание раста — призанный тобой же нахрюк.
>>55412
Пока что тут ты ядро от ос не отличаешь, додислав, у тебя наверно и линукс ос а убунту это линукс? Старайся лучше.
Боевая картинка не делает тебя убедительней. Факт то, что раст из ядра выпилили с последующим запретом (в статье приводится и гугловый документ об этом). Это шиза, неудобный материал трактовать себе в победу. Я тебе просто перестаю отвечать не потому, что ты мастер демагогии, а потому что ты шиз с явными проблемами восприятия.
Очень влажно.
http://www.areweguiyet.com/
https://www.arewewebyet.org/
https://arewegameyet.rs/
- Посмотри сам: https://wiki.mozilla.org/Areweyet
Какой-то детсад. И этих сайтов пугающе много. Зачем такая клоунада?
Некоторые реально полезны, но в целом да, что-то пошло не так.
>Факт то, что раст из ядра выпилили
Факт в том, что его там и не было, о чём свидетельствует цитата из статьи которую я выше привёл и даже выделил жирным нужный кусок, хуита ты безмозглая.
>в статье приводится и гугловый документ об этом
Ссылку/цитату/любой пруф дай, долбоёб.
> Это шиза, неудобный материал трактовать себе в победу.
Шиза — это вилять жопой в ответ на пруфы. Ты сам же заскринил тут цитату >>55410 в которой написано, что разрабы ядра не знают раст. Как, блять, они его могут оттуда выпиливать, если они с ним не работали (т.е. не затаскивали его туда)? Твиттерный пердикс написал, что они ещё в 2016 дали ему задание изучить раст, ему не понравилось и забили.
> Я тебе просто перестаю отвечать
Ты перестаёшь отвечать потому что я ебу тебя за твои попытки перефорса, вставляя крепкие пруфы тебе в сракотан.
Вытекай нахуй в /б/ или /по/ с такими тугосерьными потугами.
Мемно это когда сделали на устойчивое заблуждение, типа этого
https://isrubydead.com/
А когда настрочили две страницы сайтов, это какая-то потамология.
>в статье приводится и гугловый документ об этом
>Ссылку/цитату/любой пруф дай
>В статье есть пруф
>ДАЙМНЕПРУФ!!!
Что за троллинг тупостью? ты бы хоть аватарки что ли кидал, чтобы твои шиз посты не читать
>Ты перестаёшь отвечать потому что я ебу тебя за твои попытки перефорса, вставляя крепкие пруфы тебе в сракотан.
Ппц ты болен.
> в статье есть пруф
> все никак не может кинуть цитату
ну да ну да, пруф есть, вам его не покажу, я не тупой
У ржавых так бомбануло, что они решили запилить свою клон.
https://github.com/rcore-os/zCore
и искомая цитата на 2-м пике.
Пока что статус обоссывания шиза такой:
>гугл вырезал раст из фуксии
— В фуксии кода на расте в 10 раз больше чем в ядре кода всего;
— Что они могли вырезать, если там прямо написано, что никаких растов и ко в ядре не было?
>и запретил в ядро на нем писать?
— Запрета от гугла нет, есть конкретное желание одной команды, о чём прямо написали >>55025 и что следует из второго пика.
Даже в этом треде постоянно залетают с вопросами "а в расте есть гуй?", "а на расте можно писать игори?", "а для раста есть иде?" подразумевая что нихуя нет — это, по товоему, не
>устойчивое заблуждение
и оно не может быть мемом?
>подразумевая что нихуя нет
Больной параноидальный шиз, когда спрашивают есть что-то, значит интересуется есть ли зарекомендовавшиеся решения (или вообще есть ли они), понимая что платформа еще свежая.
Ты болен, я серьезно. У тебя искаженное восприятие реальности, не удивлюсь что все эти домены твои.
Так же, как Result парсишь — матчем.
Если совсем зелёный — https://doc.rust-lang.org/book/ch09-02-recoverable-errors-with-result.html
Договориться не смогли и решили сделать срач дайверсити?
чтобы было удобно
есть только 1 способ, другие это просто сахарок
прям как в плюсах недавно добавили func(auto variable)
Да понятно, что это все приводится к сишному стилю, но нахуя позволять делать одно и то же разными средствами? Это приводит к одному результату, но засированием кодовой базы разными подходами или еще обним пунктом в "как пишем код в компании", что типы дженериков объявляем только так или никак иначе. Или пишем кто во что горазд, жри дайверсити.
>>55789
fn shit<T: Shitable>(kal: &T)
fn shit<T>(kal: &T) where T: Shitable
fn shit(kal: &impl Shitable)
>но нахуя позволять делать одно и то же разными средствами
потому что удобнее
в одном случае легче написать одним способом, в другом другим
> но засированием кодовой базы
брух, это обьявление дженериков, о каком засирании идёт речь
я понимаю что у тех кто только 2 день начал язык изучать могут возникнуть трудности с чтением, но если ты на нем пишешь больше недели то должно быть всё ок
У тебя видимо небольшой опыт промышленной командной разработки, раз не видишь проблем когда каждому лебедю, раку да щуке плевать на всех, раколебедит как хочет и язык этому никак не препятствует.
> о каком засирании идёт речь
Потому что нужно или энфорсить лишнее правило, что пишем только так, или получается что один разработчик, пишет через where, а другой в сишном стиле. А потом они начинают дорабатывать существующий код друг друга и хопана лишние изменения на ревью, когда один изменяет функцию написанную другим и заодно переделывает на "правильный" способ объявления дженериков по его мнению. Умножай на количество человек в команде.
Что .await?
> получается что один разработчик, пишет через where, а другой в сишном стиле
и что?
> переделывает на "правильный" способ объявления дженериков
нету правильного
если у разраба что то в голове щелкнуло и он хуйню творит, то это не проблема языка
ну вот ты что предлагаешь в таком случае?
убрать where? тогда код с fn<T: Shitable Suckable Fuckable Bruhable> будет выглядеть калово
убрать impl? тогда на каждый пук надо будет идти писать дженерики
А вобще вся твоя проблема решается не исправлением языка, а кодстайлом, если уж разрабы между собой договориться не могут
> и что?
> лишние изменения на ревью
> нету правильного
> если у разраба что то в голове щелкнуло и он хуйню творит, то это не проблема языка
Ну плохо, что нету. Это косяк в дизайне языка, что нет единого подхода и он позволяет разработчкику творить хуйню и никак за это не бьет по рукам в данном случае. Это еще нормально для интерпретируемых языков, но для компилируемых уже однозначный косяк.
> ну вот ты что предлагаешь в таком случае?
Оставить строго один способ объявления дженериков. Через where, например, но тут на самом деле похуй что, лишь бы было одинаково и только один способ.
всем усложнить жить, чтобы макака что то там на ревью не сделала лишнего?
в языке нету правильного не правильного, если разраб считает иначе -> пиши кодстайл
Ну тебе же компилятор прямо сказал чего хочет, ну загугли ты.
#[(tokio/async_std/что юзаешь)::main]
async fn main() {
__huita.await
}
>У тебя видимо небольшой опыт промышленной командной разработки
Да нет, это у тебя какое-то маняпредставление о "промышленной разработке".
Если реально есть такая проблема — лид (он для этого и нужен) должен пойти и въебать линтер на коммит. Всё. Но ирл её нет, а все кому не нравится наличие больше 1 способа что-то сделать пишут на го и им нравится.
Я его просто разнёс по функциям, коннект это тот же main, только должен вернуть результат подключения к бд. Чтобы потом в main его дергать.
>>55857
Скорее всего ты проебал вот это говно в карго файле
async-std = { ... features = ["attributes"] }
Если не заведётся и у тебя нет желания загуглить — сделай как в примере с пика на гитхабе и всё https://github.com/async-rs/async-std#examples
Вау, спасибо!
Ну типа даже с учетом ветвления if становится ясно что переменная/ссылка уже не используется - собрать её?
Так же если я собрал ссылку (дропнул), то компилятор отругается что память я уже почистил, если где-то в коде о ней вспомню.
Если это достижимо, то это намного же проще системы владения?
>объясните, достижимо ли сделать чтобы компилятор сам посчитал то, что ссылка больше по коду не будет использоваться и собрал мусор?
Да, и ты пишешь в тред языка, который этим и занимается.
>Если это достижимо, то это намного же проще системы владения?
Чел, система владения это и есть region memory management (то, что ты предложил) с наворотами (вроде того самого владения из названия).
Система владений по сути бестолкова, на практике везде используются ссылки, которые уже более практичны для реального кода.
Я же имею ввиду вообще убрать систему владения и оставить только ссылки с "умным" ручным дропом.
Идея в том - я хочу руками контроллировать жизнь указателя как в си, но не хочу на этом обжигаться в случае ошибки.
Типа
let link = "..."
//много кода
link.drop()
//много кода
link.length() // Ошибка компиляции, ранее ты потёр руками данные.
link.drop() // Нет ошибки, мы уже дропнули это.
link.is_drop() // Нет ошибки, мы проверяем существование.
Иногда от скуки ковыряю разные новые для себя ЯП, и вдруг наткнулся на Rust и прям охуел от красоты, удобства и логичности языка. Сейчас зачитываюсь Rust Book'ом и потихоньку пилю какие-то свои простые программки. И есть ощущение, что хочется вот уже прям всерьёз освоить язык и связанные с ним технологии. Но есть проблема: так как я веб-макака, мой технический бэкграунд в программировании околонулевой. Я, конечно, умею писать более-менее вменяемый код, знаю что-то про паттерны, но прекрасно понимаю, что мне не хватает фундамента. В связи с этим вопрос: что почитать/посмотреть по теории программирования, что могло бы стать общетеоретическим фундаментом для развития меня как Rust-программиста?
И ещё второй вопрос: куда, в какую нишу лучше всего вкатываться с растом?
Твоя идея ломается, если будем дропать значения в одной из веток if
Если на что то будет ссылаться несколько сущностей, ты в компайл тайме не прочекаешь жива она или не
>на практике везде используются ссылки, которые уже более практичны для реального кода.
Сам-то понял что сказал?
>Идея в том - я хочу руками контроллировать жизнь указателя как в си, но не хочу на этом обжигаться в случае ошибки.
Ну тут уж либо шашечки либо ехать.
Ты хочешь одновременно чтобы компилятор мог в сильный статический анализ, чтобы давать тебе
>link.length() // Ошибка компиляции, ранее ты потёр руками данные.
и при этом не хочешь никаких ограничений, которые для этого статического анализа нужны. В таких условиях — максимум ворнинг кидать можно будет, и то не во всех кейсах.
А вообще, можешь посмотреть на Objective-C, там до ARC именно так память и менеджерили — руками дёргаешь retain/release и освобождай хоть 30 раз. Правда крашится если что будет в рантайме. За хрен знает сколько лет для этого говна даже ни одного нормального статического анализатора не сделали, а ты хочешь чтобы в компилятор тебе всё делал.
>>55996
>что могло бы стать общетеоретическим фундаментом для развития меня как Rust-программиста?
Тут скорее вопрос к тебе — куда ты хочешь расти (т.е. выбери направление и копай его, язык вообще вещь вторичная).
Из такого абстрактного можно посоветовать только всякие алгоритмы и паттерны изучать, ну или размять мозг фп. Но не то чтобы это всё сильно было нужно, скорее полезно для чисто общего развития.
>И ещё второй вопрос: куда, в какую нишу лучше всего вкатываться с растом?
Если нет опыта в системщине и хуйлоаде — крипта разве что, если вопрос про работу.
После пхп что угодно как роса.
>(т.е. выбери направление и копай его, язык вообще вещь вторичная).
Да, это я понимаю, и вот здесь у меня, как раз, и проблема, лол. Мне понравился сам ЯП, я ощущаю, что мог бы неплохо профессионально вырасти с его помощью, вкатиться во что-то более серьёзное и высокооплачиваемое, чем веб-макакинг. Бывает же иногда такое, что вот просто на душу ложится какая-то идея, это вот про раст. Но куда двигаться и как правильно прокачать свой уровень - немного теряюсь.
> крипта разве что
А можешь примерно описать, какие задачи там решаются и какие знания нужны? Криптография/криптология, алгоритмы приходят на ум.
Да, кроме как динамически, сделать трудно.
Но я джава программист(((
Ты переел тортов жены и начал путать анонов. Ты покинул го треды, но гоферский интеллект тебя не покинул
>use of moved value
Почему после первого использования переменная куда-то проёбывается?
>А можешь примерно описать, какие задачи там решаются и какие знания нужны? Криптография/криптология, алгоритмы приходят на ум.
Криптография нужна поверхностно, свою даже в мире блокчейна никто не пишет (ибо нахуя), насколько мне известно.
Из лоулевела — работа с сетью, P2P сети и всё остальное.
Из хайлевела — смартконтракты, знание как работают разные блокчейны.
Тут вроде был анон который говорил что вкатился в разработку какого-то бч, мб ответит детальнее. Энивей можешь загуглить что нибудь в стиле "раст блокчейн" или "блокчейн девелопер роадмап" и посмотреть что к чему.
Вы использовали ограниченное число перемещений переменной, пожалуйста для продолжения использования этой переменной оплатите благотворительный взнос кросс-гендерных угнетенных разработчиков, или воспользуйтесь маскулинным, угнетающих всех С++
Поверь, я 15 лет на жабе пишу, уровень ненависти у меня к нему больше чем у хейтеров.
Где это в доке описано?
Что это за языки такие, пхп, го и питон?
Наоборот, по мере изучения нормальных языков от джявы может только тошнить сильнее и сильнее.
Все кроме сишарпа и котлина.
Не спорю, его делали профессионалы в свое время. Но его развитие как-будто где-то затухло в половине нулевых, а большая часть тырпрайзных либ (у нас) - представляет из себя нечитаемый ужас, который трудно сопровождать (за это хлеб и кушаю).
А вот си-шарп годнота, мне он приятнее чем котлин, раз тут боевая картинка пробежала. Хотя не думаю что шарп конкурент расту, лол
Попробуй обновиться хотя бы до 8 джавы, а лучше до последней. И заодно использовать современные любы.
> большая часть тырпрайзных либ (у нас)
Ну так используйте нормальный попен сорс, а не говно 20-летней давности и в целом современные инструменты.
То что там жаба пыхтит и пытается угнаться за котлином, это печальная история в 9 патчах. Я думаю, после выхода фуксии, на которую уже самсунг переходит, на нас жаберов будут смотреть как на кобол программистов. Мол да, где-то много кода, есть такой язык, но это там, где-то в кровавом.
Спасибо, анон, добра.
Ну тащем-то котлин на андроиде во всю используется пару лет, джава там легаси, но на бекенде куда ты всю эту жабу выпилишь или спрячешь? Тот же эластик до сих не смогли переписать на что-либо нативное. Cassandra туда же, ScyllaDB вроде и пилят уже как восьмой год, да только ее так никто и не использует. С джавы имхо очень сложно слезть, хотя очень хочется.
Про перемещение вроде понял, но не до конца. Что я здесь делаю неправильно?
Догадываюсь что проблема в move |b|, но это замыкание принимает только один аргумент.
Точнее проблема в другом, вектор используется в двух разных замыканиях.
Код покажи.
По этой ошибке могу посоветовать только почитать вот это https://doc.rust-lang.org/rust-by-example/fn/closures/capture.html а потом вот отсюда https://doc.rust-lang.org/rust-by-example/scope/move.html до конца главы.
>>56181
Проблема в том, что ты используешь my_vec после того, как передал его в скоуп замыкания с параметром pbtn. Нахуя ты это делаешь и можно ли сделать по другому — не знаю, не ванга, кода нет.
pbtn это гуй. По кнопкам читаются файлы, кладутся в векторы построчно и в конце по кнопке `старт` обрабатываются строки для бд. Получается что первый раз я пушу в вектор в кложуре, а по второй кнопке хочу читать из него.
>>56192
В примере к либе есть пример с твоим кейсом —
https://github.com/rust-native-ui/libui-rs/blob/0.3.0/iui/examples/inputs.rs#L22
https://github.com/rust-native-ui/libui-rs/blob/0.3.0/iui/examples/inputs.rs#L85
А лучше посмотри на iced, чем на этот колхоз, лол.
Ага, посмотрел, кроссплатформенное. Заглянул в примеры, поебанутому примеры. Мне не надо каких-то особых выебонов, минимально рабочий гуй.
растдолженумереть.ком
Автор дилетант, видимо школьник или просто макака. Первых трех-четырех абзацев хватило, чтобы понять.
мимо-даже-не-растаман
Раст правда не актуален.
До уровня прикладного программирования раст не дотянул, по сложности и оверхеду на мозги он на уровне тех же плюсов.
Сами плюсы на прикладном уровне используется редко.
И в итоге, если тебе нужно писать что-то около-системное или близкое к железу, ты возьмешь популярное решение с множеством готовых библиотек, у которого есть полный контроль над железом (без обмана себя unsafe).
Вот если бы раст достиг прикладного уровня и там было писать так же легко как в шарпе, тогда да.
Есть также узкое мнение, что нельзя считать язык профессиональным, если в момент ошибки ты не получаешь стектрейс. Очень сложно с такими подделками обслуживать большие приложения
Статью написали два зумера, которые учатся и дрочат на знаменитого неадеквата. Стыдно должно быть в наше время не знать таких легенд, как столяров.
Автор говорит про ложь о нулевом рантайме. Типа там си можно же без стандартной либы юзать.
Кстати я тоже не согласен с модой, где управляющие конструкции стали операторами и появляется такой феномен как однострочный многострочник, типа, да, модно и молодежно, но длинный код такого безобразие с возвратом сразу функции выглядит как применение GOTO (ты прыгаешь по контексту обратно из каждого вложения), для пориджа это выглядит круто, на практике лишняя нагрузка на сопровождение.
>в качестве диплома встраиваю Лисп в Си
Ахахахаха, проиграл в голос. Скажите мне, что это толстота на пике, пожалуйста. И это в МГУ, просто пиздец. Как-то не верится, что у нас такая жопа с образованием. Может это просто петушиный факультет?
Вот еще один школьник.
>Кстати я тоже не согласен с модой
Мода эта в 60-ых годах прошлого века появилась.
>где управляющие конструкции стали операторами
Постарайся в следующий раз узнавать значения слов, прежде чем их использовать, чтобы не выдавать шизофазии на выходе.
Очень хорошо показывает адекватность персонажей.
Если ты так люто дрочишь на неадеквата, хуесосящего всех и вся и считающего себя единственным илитарием — это твой идеал, к которому ты стремишься.
>Постарайся в следующий раз узнавать значения слов, прежде чем их использовать, чтобы не выдавать шизофазии на выходе.
Все правильно, с одной лишь разницей что стали называть это выражениями, хотя в действительности это правда statement (чаще переводят оператором, мне нравится больше инструкция)
2+2 // выражение
2+2; // оператор/инструкция
if (true) {} // выражение
let x = if (true) {} // оператор/инструкция
Действительно, можно создать целый каскад из таких выражений, где придется по цепочке обратно бежать.
>Мода эта в 60-ых годах прошлого века появилась.
Пруф? Хотя я уверен с чем только не экспериментировали в то время, тогда получается, что сделали конструкциями не зря, исходя из опыта
>Если ты так люто дрочишь на неадеквата, хуесосящего всех и вся и считающего себя единственным илитарием — это твой идеал, к которому ты стремишься.
Ты сейчас описал львиную долю растеров. И это даже не смешно.
Ну ты сейчас идёшь и показываешь челов, вокруг которых в расте есть культ личности, или как обычно нахуй.
Всех челиков с которыми я сталкивался, и раста (и, кстати, частично из го), они неадекватные высокомерные дилетанты и фанатики.
Жду пруфы, как в 60 конструкции структурного программирования изначально были выражениями.
>>56958
Спок, шарпосвин, я не тот анон. Но нассать тебе на еблет про эту моду из 60-х мне это не мешает:
https://en.wikipedia.org/wiki/Conditional_(computer_programming)#If–then–else_expressions
Что за шиза? Тебе почитать хотя бы на википедии что такое выражение и чем оно от стейтмента отличается.
Речь про управляющие конструкции if, while, for.
То что ты там знакомый if увидел, говорит лишь о том, что они изобрели себе в помощь тернарный оператор "?:" (потому что выражением не может иметь if без else, а значит не является базовым оператором if).
For вполне себе выражение. Как и if с двумя ветками.
>Речь про управляющие конструкции if, while, for.
Речи про это не было. Да и в контексте раста релевантен только if.
Один хуй посмотри на пункт ниже — там есть лисп, в котором всё выражение, и они родом из 60-х так что вытирай ссанину с ебала и неси пруфы про культ личности в расте.
>где управляющие конструкции
Это подразумевает все или некоторые конструкции? Заканчивай тайдом долбиться.
Вот почему питонщики полюбили раст, у них тоже сборка мусора через подсчет ссылок.
Жесть, все эти потуги с владением скатились до банальных умных указателей с подсчетом ссылок коих в тех же сях полно.
Зачем было городить весь этот синтаксический ад тогда? Пчел даже выше не понимает как ему гуи сделать.
мимо, ушел с вашего треда, пойду лучше D потискаю.
>Что-то там пукнул про лисп, который вообще ФП другой парадигмы.
>Ткнул же ебалом в лисп
Маняфантазии как у растера. Я понял что ты слился с управляющими конструкциями (во множественном числе), а про больных растеров я тебе выше написал, хз чем ты читаешь.
А как ты себе менеджмент памяти в многопоточном коде представлял?
>Зачем было городить весь этот синтаксический ад тогда?
Чтобы обходится без этих средств, когда есть возможность.
>Пчел даже выше не понимает как ему гуи сделать.
Потому что авторы байндинга свалили ёбку с FFI на юзера байндинга.
>Так сколько это? 2/3/10?
Ты троллишь тупостью?
>Речь про управляющие конструкции if, while, for.
>Проиграл.
Я так и понял
>Примеры, чел, примеры
Я тебе привел их в пример. Лол, раст та еще SJW помойка, ты правда хочешь чтобы я тебя лицом по этому повозил, шизик?
>Чтобы обходится без этих средств, когда есть возможность.
Чтобы писать grep и cat? Или хеллоу-ворд показывать?
У вас язык сплошное минное поле, а все свелось к подсчету ссылок с умным указателем (где владение и не нужно, лол). Это фиаско.
>Потому что авторы байндинга свалили ёбку с FFI на юзера байндинга.
Растеры ябут сами себя
Сбрызни в ньюфаготред.
if с одной веткой может просто возвращать nil по умолчанию. В контексте IO можно возвращать пустое вычисление. Еще строго говоря можно крашиться\зацикливаться, ибо боттом является подтипом для любого типа.
>Вот почему питонщики полюбили раст, у них тоже сборка мусора через подсчет ссылок.
Почему именно питонщики? Самый каноничный пример использования подсчета ссылок - это экосистема эппла, то бишь обджектив си и свифт.
>все эти потуги с владением скатились до банальных умных указателей
Нет, рц используется только там, где он логически необходим. Где можно обойтись без него и статически выделить\освободить память, он и не используется.
Кроме того, линейная афинная логика имеет множество других полезных применений, ну в том же асинхронном коде.
>Зачем было городить весь этот синтаксический ад тогда?
Чтобы толпы си-макак не отпугивать нормальным синтаксисом. Система владения к синтаксису, если что, не имеет никакого отношения, это уровень системы типов. А говносинтаксис завезли из-за си-макак и боязни расторазрабов отпугнуть их отсутствием точек с запятой. Печаль.
Зачем ты вообще разговариваешь с этим школолодебилом?
Вот за что не люблю харкач и конкретно зека - так это за отсутствие модерации и обилие умственно отсталых.
>У вас язык сплошное минное поле
Наоборот же. Там, где в си\крестах было минное поле, у них автоматизированные проверки компилятора. Хватит копротивляться против паровой машины, товарищ пролетарий.
Действительно, я не осилил копать овраг лопатой (как подобало бы настоящему пацану и чоткому пролетарию) и вместо этого выучился управляться с трактором.
А у непролетариев трактор что-то кроме ямы под сельский туалет способен выкопать? Просто пока что пацаны с лопатами копают рвы вокруг замков, трактористы только и делают что нахваливают свое поделие.
Реальность куда хуже. Всем втирали про новый супер-пупер продукт с борроу-чекером, а в реале чтобы писать на расте приходится прибегать к старым смарт-указателям с подсчетом ссылок (аля кастрированным ГЦ).
То есть, вся это ограничивающая фигня даже не нужна в расте, это блин как затянувшаяся шутка.
Пацаны с лопатами копают как раз сельские туалеты, зарплаты соответствующие и тренд вниз. Если ты неиронично спрашиваешь о примерах проектов на расте (хотя мне кажется, что это толстота), то укажу на очевидную платину (рендер огнелиса) и напомню, что поддержку сабжа впиливают в линукс кернел. Ну и напомню, что в гитхабе есть поиск по языку.
@
Ноль! Нет, -1 cost abstraction!
@
Убивца С++
@
Полная защита unsafe { памяти } !
@
Писать код можно только через смарт-указатель как у С++ с подсчетом ссылок как по аналогии примитивного ГЦ.
>Всем втирали
Без понятия, кто там тебе что втирал, у тебя соломенное чучело.
>новый супер-пупер продукт с борроу-чекером
Ну они его и доставили. Правда как новый, в 90-ых линейные типы запилили, но для колхозников с харкача и в 2к22 это технологии будующего.
>а в реале чтобы писать на расте приходится прибегать к старым смарт-указателям
Ты не поверишь, но еще приходится прибегать к старым арифметическим операциям, например. Надо было супер-пупер нескучную арифметику запилить, а у них в языке обычная арифметика. Во лошары.
>То есть, вся это ограничивающая фигня даже не нужна в расте
Ну да, а например в джаве ненужны все эти классы, интерфейсы и дженерики, ведь можно просто пихать все в Object.
Мне хочется верить, что ты просто троллишь тупостью, но в глубине души я понимаю, что это вовсе не троллинг. Пикрелейтед.
Еще нужно взять во внимание, что ко-ко-комнилятор раста не собирается без плюсов. Это вообще кекус максимус.
>>57038
>что в гитхабе есть поиск по языку.
Клон grep, туду-лист, тысячи переписанных приложений?
>впиливают в линукс кернел
Линукс давно превратился в комок корпоративного раздутого говна, но ничего, скоро свободное сообщество переедет на новое ядро.
>зарплаты соответствующие и тренд вниз.
А криптогалеры на расте - это существенные показатели? Если по твоим словам Си мертв, то раст никогда не рождался.
>ваши приложения не приложения
Да-да, я понял, нельзя писать, невозможно, приложений нет.
>но ничего, скоро свободное сообщество переедет на новое ядро.
Угадай, на каком языке оно будет написано. :3
>А криптогалеры на расте - это существенные показатели?
Существенный показатель - это зарплата, я же сказал. Если тебя устраивает оплата на уровне охранника в пятерочке, то няшной тебе достаточно. Если же хочется чего-то большего, то будь добр, читай книжки, развивайся.
>Если по твоим словам Си мертв
У тебя голоса в голове. Си - это отличный портабельный ассемблер. Другое дело, что в 2012 писать на этом руками будут только умственно отсталые.
>ваши приложения не приложения
Если сравнивать с вещами, которые пишут на Сях или плюсах, то да.
>Угадай, на каком языке оно будет написано.
А мне и гадать не нужно, pure C.
>Существенный показатель - это зарплата,
ЖС макака лучше любой растобляди тогда получается.
> Если тебя устраивает оплата на уровне охранника в пятерочк
А кто же виноват, что кроме криптоговна больше нет вакансий на расте? Да и та используется как модная технология для привлечения инвесторов. Все системщина, геймдев и встраиваемые системы пишутся на C/C++ и на раст переходить не собираются.
>Если же хочется чего-то большего, то будь добр, читай книжки, развивайся.
>Другое дело, что в 2012 писать на этом руками будут только умственно отсталые.
Да я уже понял, что ты любитель пощекотать очко функциональщиной. Только запомни, ржавого ты в космическом или медицинском аппарате никогда не увидишь.
Странно почему после прочтения этого высера чел не пошёл срать таким говном в тред плюсов, там же тоже в стдлибе подсчёт ссылок есть.
Получается, по логики этоого невменяемого, что рантайм шарпа написан на manged-языке. А ещё дотнет не соберётся без плюсов, такая-то игрушечная платформа!
>Чтобы писать grep и cat? Или хеллоу-ворд показывать?
Чтобы макнуть тебя ебалом в фуксию, которую ты сам же сюда принёс, болезненный.
Пук-среньк, а где опровержение по фактам?
-Смарт-указатели намертво пришиты в раст?
Да, являются часть языка технически и вообще без них невозможно кодить.
-Является ли подсчет ссылок сборкой мусора.
Да. Чем это будет отличаться от смарт-указателей в С++?
Забавно, но в С++ можно писать программы без смарт-указателей.
-Если смарт-указатели состовляют основу синтаксиса и без них нельзя писать как в С++, является ли раст язык с подобием ГЦ
ДА!
Речь была про ядро, шизик вывернулся подменяя понятия. Но даже он в курсе и не отрицает, что в ядре раста нет и не будет. А окружение там может быть на чем угодно, будет даже ваше jvm в свое время.
>-Смарт-указатели намертво пришиты в раст?
Нет.
Если понимаешь что делаешь — въёбываешь unsafe и тебе ок.
>-Является ли подсчет ссылок сборкой мусора.
Да. Ты наверно первый раз это словосочетание слышишь, если у тебя такие вопросы возникают?
>Чем это будет отличаться от смарт-указателей в С++?
Ничем.
>Если смарт-указатели состовляют основу синтаксиса
Ну давай показывай, где они
>состовляют основу синтаксиса
и почему
>и без них нельзя писать
раз уж начал пукать про пруфы.
> как в С++
В отличие от, у тебя не весь код один большой unsafe.
>>57334
>пук
>>55016
>А почему гугл вырезал раст из фуксии
>>57349
Потому что им нравится метать бисер перед свиньями не с=осилившими хэлловорд на расте?
>-Смарт-указатели намертво пришиты в раст?
Нет.
Если понимаешь что делаешь — въёбываешь unsafe и тебе ок.
>-Является ли подсчет ссылок сборкой мусора.
Да. Ты наверно первый раз это словосочетание слышишь, если у тебя такие вопросы возникают?
>Чем это будет отличаться от смарт-указателей в С++?
Ничем.
>Если смарт-указатели состовляют основу синтаксиса
Ну давай показывай, где они
>состовляют основу синтаксиса
и почему
>и без них нельзя писать
раз уж начал пукать про пруфы.
> как в С++
В отличие от, у тебя не весь код один большой unsafe.
>>57334
>пук
>>55016
>А почему гугл вырезал раст из фуксии
>>57349
Потому что им нравится метать бисер перед свиньями не с=осилившими хэлловорд на расте?
>Смарт-указатели намертво пришиты в раст?
>Нет. Если понимаешь что делаешь — въёбываешь unsafe и тебе ок.
Ага, осталось только пасты про смузи и лгбт подождать
почему то кстати такое только в русском комьюнити вижу
String — полноценная строка, которая может быть мутабельной, выделяет себе память на хипе. Нужно создавать строки в рантайме/менять их/итд — используй String.
str — толстый указатель (указатель+длинна) на какой-то участок памяти с символами, нихуя не выделяет, иммутабельная. Нужна статическая строка (известная на этапе компилции), передать куда-то read-only строку или или её слайс — используй str.
Безопасно ли использовать unsafe, ведь, я так понимаю, он отключается сборщик мусора у Раста (у Rc)?
>греп на расте - это хуйня
>а вот греп на си - это огого, другое дело
Школьник, съеби в прикреп.
>А мне и гадать не нужно, pure C.
Так единственная живая сфера применения няшной - это линукс кернел. За его пределами она нужна для 3.5 околонии и прошивочногалер.
>ЖС макака лучше любой растобляди тогда получается.
Почему? У растеров в среднем выше. А если сравнивать по уровню компетенций, жс-макаки как раз примерно равны си-макакам.
>Все системщина, геймдев и встраиваемые системы пишутся на C/C++
Да что уж там няшнокресты, весь бизнес вообще использует только кобол. Оперденей на джаве ты никогда не увидишь, хипстер.
>в космическом или медицинском аппарате
Еще всякой хипстоты типа Ады там нет, инфа 100%. И по первой же ссылке в поисковике по ключевым словам не выдает компанию, пишущую какие-то там иксрейимаджининги на сабже https://www.bmd-software.com/. Только си, только сегфолты.
Анон, ну просто признай, что тебе не хватает технических компетенций обсуждать сабжевый язык и сравнивать бенефиты от применения его и\или няшнокрестов. Поэтому ты тут брюзжишь и пердишь вместо аргументации. Н - некомпетентность.
>-Смарт-указатели намертво пришиты в раст?
>Да
Нет.
>-Если смарт-указатели состовляют основу синтаксиса
Это ты выше нес шизофазию про инструкции и операторы? Съеби в прикреп, школьник.
>в ядре раста нет
Верно.
>и не будет
Неверно. Если верить Торвальдсу. Но кто такой Торвальдс по сравнению со школотронами с харкача...
#define Rc Gc
Хочу заменить Rc на Gc, чтобы соответствовало действительности.
Годно.
> if с одной веткой может просто возвращать nil
Так это понятно. Можно и говна поесть если сильно хочется.
Можно сделать чтоб любой стейтмент возвращал nil, или “huipizda”, но от этого он выражением не становится.
Я не читал ваш диалог. Нет ядер кроме Линукса, и Торвальдс - автор его. Растокод в ядре благословлен Торвальдом, ниасиляторы сосут хуи.
>Можно сделать чтоб любой стейтмент возвращал nil, или “huipizda”, но от этого он выражением не становится.
Вообще-то становится, по определению.
Да прибудет с тобой мемори сейфети, да сохранит ядро от переполнений буфера.
И распаралелит Линус свой код могучий, да отсосёт хуй шарпошиз потешный.
Аминь.
Шиз опять накатил. Почему с го ушел? Неужели автоматическая сборка мусора в 10мс хуже чем ручная сборка мусора через подсчет ссылок?
Ну так это хуйня тогда, а не определение, потому как почти во всех ЯП стейтмент что либо, да возвращает и тогда все это разделение вообще не имеет никакого смысла. Очевидно, что если результат какого-то выражения всегда игнорируется, то это нихуя не выражение, а стейтмент.
Если уж копать в информатику для пориджей - кампуктэр сайнз, то if всегда является оператором/инструкцией/конструкцией.
Выражение же это результат вычисление оператора.
То есть, оператор никак не может стать вдруг выражением. Но всем насрать, создатели языков готовы насиловать терминологию как угодно, чтобы максимально рисануться.
>во всех ЯП стейтмент что либо, да возвращает
Нет, возвращают экспрешны, а стейтменты не возвращают (по определению).
>сли результат какого-то выражения всегда игнорируется
А при чем тут это?
> это нихуя не выражение, а стейтмент
Нет, это выражение. Прочитай википедию по теме PLAI, TAPL, PLTP.
Шиз, съеби в прикреп, еще раз тебе говорят.
>if с двумя ветками - это всегда выражение, а с одной - всегда стейтмет
Неверно.
>потому как ни для чего, кроме как сайд эффекта по какому-то условию он не нужен
Неверно.
>и его результат тоже не нужен
Тут тоже ошибка.
Загуглить, например. Первая же ссылка на растбук ведёт — https://doc.rust-lang.org/rust-by-example/error/multiple_error_types.html
от своих типов до type erasure с примерами, выбирай что нравится.
спасибо.
Посоны у вас есть шанс вкатиться в блокчейн, и подзаработать денег https://medium.com/@JunoNetwork/the-moneta-hacks-open-innovation-on-the-junø-interoperable-smart-contract-network-73152e82c295
Меньше вопросов, просто бери и разбирайся.
Да, норм. Делай. Еще раст бай экзампл обмажься.
крипта - скам
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
Бля, двач, почему моё сообщение два раза отправилось, что за прикол. Ебаный жаваскрипт.
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
> let hello = "Здравствуйте";
>
> let s = &hello[0..4];
> Here, s will be a &str that contains the first 4 bytes of the string. Earlier, we mentioned that each of these characters was 2 bytes, which means s will be Зд.
>
> What would happen if we used &hello[0..1]? The answer: Rust would panic at runtime in the same way as if an invalid index were accessed in a vector:
https://doc.rust-lang.org/book/ch08-02-strings.html
С хуев раст думает что мне есть дело до байтов как он хранит utf? Если бы я хотел байты, то написал бы .bytes(). Но мне нужен просто символ З с константным временем.
Мануал предлагает использовать слайсы, но слайсы опять же ебутся над байтами, которые я не просил и которые мне нахуй не всрались. При этом примера как по индексу получить чар в строке нету.
.chars.nth() не подходит, т.к. раст начинает итерироваться как долбоеб вместо того, чтобы взять по индексу символ, как это делают все другие языки, и влетает на O(n).
Педераст, я знаю что такое utf-8, как знают в других что такое строки и utf-8 в других языках. Как это знание поможет в "Здраститя" вытащить по индексу "я" с константным временем?
> Если нужна ascii строка то просто юзай слайс байтов b"ascii str"
Лол. Может еще в вектор конвертнуть предложишь, чтобы хранить каждый чар так, чтобы можно было по индексу взять его?
>>60332
Java, python и все остальные.
> Как это знание поможет в "Здраститя" вытащить по индексу "я" с константным временем?
Это невозможно, и из за того что ты этого не знаешь, я тебя и назвал макакой
> Может еще в вектор конвертнуть предложишь, чтобы хранить каждый чар так, чтобы можно было по индексу взять его?
Если у тебя строка на heape то так и будешь делать
> Это невозможно
И это возвращает нас к вопросу "Что за хуйня у раста со строками?".
> Если у тебя строка на heape то так и будешь делать
Смотри как можно если хранить строки как в нормальных языках массив чаров:
"Здраститя".charAt(0)
И никакого O(n), как в педерастии.
> это возвращает нас к вопросу
Какого хуя ты макака ебаная не можешь загуглить что такое utf-8
> И никакого O(n), как в педерастии.
У тебя в фантазиях
Ебать какое сочное врети у анального педераста с отрицанием константного доступа к элементу массива по индексу.
Так если тебе нужен массив unicode codepoint'ов, то используй Vec<char>.
А если тебе нужен utf-8, то ты настолько даун, что просто иди на хуй.
>И никакого O(n), как в педерастии.
И никакого UTF-8, как в расте.
>>60350
Как ты себе представляешь константный доступ к символам (а не байтам) в кодировке, где количество байт у символа не константное?
Открывай https://ru.wikipedia.org/wiki/UTF-8 и читай что такое UTF-8, либо съеби в закреп.
Ты знаешь что такое массив чаров? Раст твой первый язык программирования?
>>60353
Мне нужна обычная строка, которая поддерживает и ascii, и utf-8, а также констатнтный доступ к любым символам строки. Как авторы языка этого добьются - массивом чаров или воскрешением демонов меня ебать не должно.
>>60356
Почитай про реализацию utf-8 в любых языках поддерживающих константный доступ к символам.
Проорал с вайтишника вкатывающегося в программирование через жопу(педерастию) и не знающего никакого другого языка и поэтому не знакомого с реализацией строк и utf-8 не через жопу.
Расплачься еще, манюнь, с таким-то обращением к "публике", когда самому нечего сказать.
Ну давай, опровергай, что в указанных языках в строках нет константного доступа к символам.
> Java
A String represents a string in the UTF-16
> python
тут в целом char как такого нету, только строки
но если принесешь пруф что тут за линейное время доступ к utf-8 символам, то буду удивлен
Вот и узнаешь.
Чел, ты...
Первая ссылка в гугле (буквально):
https://stackoverflow.com/questions/38043461/time-complexity-of-python-string-index-access
В раст и го забили тупо на строки, это просто массив байт (кококо, не правда, утф8 ето!) и если тебе нужно в 2022 году (уточняю, не в 1960!!!) работать кроме латиницы, ты сосёшь, потому что строки это массив из байт, которые надо конвертить, чтобы сделать что-то по индексу.
Про String::from("") вообще молчу.
Такая же шляпа с ошибками, авторы просто забили болт на обработку ошибки средствами языка, в го тупо сделали мультивывод (и теперь хер функцию как аргумент передашь), а в расте засунули в опшены.
Ну и всякие говно паники. Конечно, в 2022 году мы пишем программы роняя приложение, как иначе, да?
В общем, забив болт, они переложили обработку ошибок на программиста и вот обезьянки уже прокидывют ошибки по стеку, но главное не это (мартышки заслужили), главное что не стектрейса во время ошибки и пойми потом в миллионом приложение в каком контексте и где упала та или иная функция (отсутствие стектрейса вообще непригодно для разработки современных сложных программ).
> A String represents a string in the UTF-16
Педераст начал гуглить, но не догуглил и закономерно обосрался. Иди гуглить дальше, где дойдешь до реализации строк и какую роль в ней играют индексы utf-символов, как они хранятся и почему имеют константный доступ, что в педерастии не осилили.
> тут в целом char как такого нету, только строки
>>60446
Ты хоть сам свою же ссылку читал?
> It works by Unicode code points.
> String indexing takes constant time
> Педераст начал гуглить, но не догуглил и закономерно обосрался. Иди гуглить дальше, где дойдешь до реализации строк и какую роль в ней играют индексы utf-символов, как они хранятся и почему имеют константный доступ, что в педерастии не осилили.
У тебя кодировки разные шизло, у тебя каждый символ 2 байта занимает
>>60455
чел, ты го чтоли даже осилить не смог?
> у тебя каждый символ 2 байта занимает
И что?
Каждый символ это поинтер. На сколько байт он указывает зависит от указываемого символа и в принципе тебя не должно ебать в принципе. Ну, в языках со строками из 21 века.
> И что?
По времени выйграл
По памяти нет
> Ну, в языках со строками из 21 века
В языках 21 века как раз таки делают как в го и расте
Байтоеб, долго же ты скрывался, экономя символа строк. Ссу на педераста-байтоеба O(n) струей смачно обосравшегося пытавшегося найти в других языках такое же кривое говно вместо строк.
> Байтоеб
> Rust - язык системного программирования
ну да, это я
> экономя символа строк
весь мир сейчас на utf-8 сидит, с пробуждением так сказать
> весь мир сейчас на utf-8 сидит, с пробуждением так сказать
И именно поэтому в языке придуманном в 21 веке работа с 99% строк (utf-8 строки) сделана через жопу на уровне 60 годов, цитируя анончика выше.
> ну да, это я
Ох, ебать, ты мало того дебил-байтоеб, так еще и мелкобуква. Впрочем, это все объясняет. Ты экономишь байты сообщения.
Помоги написать алгоритм реверса строк не сложнее O(n/2).
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
Кому ты там сэкономил? Как только надо в юникод перевести твоя строка начинает весить по 4 байта.
В той же жабе/шарфе строки весят по 2 байта (что покрывает львиную долю юникода), это честный массив символов и не требует преобразования из сырых байт в юникод.
UTF-8 это экономящий костыль, созданный больше для отображения текста с упором на ascii, никак не для программирования (где практичен UTF-16).
Еще раз, в го и расте нет строк, это массив байт, который укладывается в диапазон ASSCII и чтобы получить символ в юникоде, надо конвертить в "руны" (какие нафиг руны еще).
> никак не для программирования
Тебе отдельная кодировка нужна для программирования?)
в голос конечно с вкатывальщика
>Объясните пожалуйста что такое этот tokio,
Асинхронный рантайм
>зачем он нужен,
Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU.
>чем лучше своих аналогов
Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов.
Ближайший аналог - async-std, но он сосал по сравнению с токио.
>и почему пользуется такой популярностью.
По той же причине, почему все используют std, а не core + #[no_std].
Закрывает 99% юзкейсов, куча литературы, куча либ.
В жабе с 9+ версии внутри строк используется массив байт, а не чаров.
Что не так?
> ЭКСЕПШНЫ ГОВНО
база
Спок, перефорсный свин, эту хуйню высрал тот же чел, что и про раст.
Я думаю и чисто мое мнение, что раст не станет популярным.
Раст не привносит новых решений. Все программирование сводится к работе с умными-поинтерами, как в том же С++. Но в том же С++ есть полноценное ООП, которое роляет (и есть вообще выбор, программировать с подсчетом ссылок или нет, а в расте подсчет основа, значит есть подобие сборщика мусора).
Борроу-чекер вообще деградирующая технология, которая мешает программисту творчески мыслить. Вообще все эти запреты в некоторых новых языках, какое-то модное безумие, которое уже показало непригодность (не нужно программиста считать тупым).
Насколько он вообще нужен, тоже отдельный вопрос, если разработка все равно сводиться к подсчету ссылок.
В расте unsafe является частью разработки, то есть это не исключение как в какой-то джаве или шарпе, это прям элемент неизбежности разработки (поиск в гитхабе unsafe это подтверждает). То есть, само наличие и часто использование unsafe говорит об огрехах дизайна языка.
Мимо, взгляд с прикладного уровня. И да, игра раст не написана на расте.
ебать, что я только что прочитал пиздец
Быстрофикс?
> а в расте подсчет основа, значит есть подобие сборщика мусора
Да как же ты заебал блядь. Репорт за щитпост и съеби нахуй отсюда.
Нормально напиши. Статью про си высрал, а борде два слова связать не может.
В потоках тоже при компайлтайм?
>Борроу-чекер вообще деградирующая технология, которая мешает программисту творчески мыслить.
Лол, о каком творчестве ты говоришь, если эти языки придуманы корпорациями для своих кодомакак? Им не нужно творчество, им нужен хотя бы рабочий говнокод и стая дешевый макак с одной извилиной, чтобы они аыполняли типовые задачи и любого из них можно было быстренько заменить. Толькл при таком раскладе они получают максимальное количество зеленых бумаг.
Ебало этой школовебмакаки представили?
>Я думаю и чисто мое мнение, что раст не станет популярным.
Он уже стал. И съеби в прикреп, школьник. Почему в зекаче нет модерации...
https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof
Популярнее свифта (может слышал о таком). Граница "популярности" находится примерно на 3%, судя по матлабу\р (это популярные, но нишевые языки).
https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread
Самый любимый язык в индустрии (в тройку также входят кложа и тайпскрипт), в пятерке среди тех языков, на которые разрабы хотят\планируют перейти с текущего языка.
Там выбор невелик.
Где-то уже была статья, типа раст самый любимый сколько-то годов, а популярность в жопе (только в вашем загоне он популярен). И журналюга там опросили, оказалось, что там кодеры потыкали в хеллоуворд, начитались маркетинга, но, а позже случился тот самый "пук-среньк", точнее случилась знаменитая "кривая обучения".
Но растеры все дрочат на эту стату о любимом языке, которая технически вообще не дает никакой инфы, это просто заслуга маркетологов.
Назовем это "ржавым эффектом". Кодеры около-питона в своем сосничестве в престижном местном ПТУ натыкались в С++, наплювались. А тут им убивца С++, который почти как нормальный выглядит и вообще замена, вот люди любовь и проявляют, но на практике дальше чем потыкать палкой не выходит.
После жопоскрипта, это правда будет любимый.
Этот эффект правда связан с тем, что людям хочется универсальный язык под все, но при этом не сложнее С++. Люди устали что для холодильников один язык, для кофеварки другой.
Убедительно расскажи им как это поможет развести инвесторов новым баззвордом заработать денег.
это значит, что нубов, неумеющих программировать и спрашивающих по любому поводу на so, значительно больше на флаттере, чем в расте или го
Нет, это значит больше интересуются людей, а в этой доле есть люди которые спрашивают на SO.
Глянь тот же питон, казалось бы, что там еще можно спрашивать то.
Ппц вы фанатики. Как Rc собирает ссылки?? Компилятор знает и собирает по владению в момент компиляции или в рантайме происходит подсчет?
Rc — это специальный тип, который специально сделан так, чтобы считать ссылки в рантайме. И его используют крайне редко, стандартные ссылки в расте (амперсанд и амперсанд mut) в рантайме не считаются.
https://doc.rust-lang.org/std/rc/index.html
file:///home/erik/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/doc/rust/html/std/primitive.reference.html
Сегодня смарта поинтеры, завтра уже что такое гарбэдж коллектор узнаем
а я думал что это я тупой
А после и константный доступ к символам строк изобретем, как в нормальных языках! А нет, не изобретем, язык не торт.
В чём проблема написать свой кастомный тип с фиксированным размером символа?
Ну или воспользоваться чужими наработками:
https://crates.io/keywords/utf-16
Ну ты питухонерам, шарпистам и прочим жавистам не объяснишь, что если язык притендует на лоулевельность, то нельзя просто взять и сделать строки которыми все будут довольны.
Когда есть такая необходимость — конечно.
Технический долг.
Необходимость в новой версии, под которую нужно все переписать, а раз уж переписываем, почему бы не взять более лучший язык, ведь в го скоро выпустят новую версию и придется опять все переписывать.
Съеби в прикреп, малолетняя мразь.
Какую лоулевальность, тебя уже ткнули лицом в твой юникод, строки в расте это вектор по 4 байта. Это больше чем в жабах и шарфах.
Какая экономия и лоулевельность, когда строки у вас сырые байты и для итерации по юникод символам (кроме аскии) надо преобразовать в юникод.
Представили лица тех, кто вкатывается в супер-пупер зероабстракшен язык, а под копотом за всем этими базвордами получаем программирование со сборкой. А ведь это говно проходит по циклу каждый раз при выходе владений, это даже может иметь больше накладных расходов чем в том же свифте или языке Ди, где подсчет ссылок как-то регламентирован по времени.
Как можно вообще это язык сравнивать с Си?
Ты думаешь если ты вызвал chars() то под капотом не будет преобразование в code points? Вот тебе зеро абстракшен
Пару вопросов.
1. Существуют ли нативные компиляторы с раста под 16-битный дос, восьмибитные платформы? И нет, трансляторы через си я уже видел, это не подходит (проще на уж си накидать)
2. Пишут ли на расте игры(любого класса). Желательно с примерами. Полноценных игровых движков, я так понимаю, нет?
Ах да, еще вопрос:
3. Под мобилки есть че?
На педерасте кроме ядра жмупинуса и хелловорлдов ничего не пишут, можешь проходить мимо.
криптодрисню забыл
> 1
Хуй его знает, скорее всего нет
Ты ретро игры какие то пилить собираешься?
> 2
Игры только от энтузиастов всяких, вот к примеру https://github.com/veloren
Движки также, миллион разных ECS: amethyst, bevy и еще и еще
Если хочешь в серьезный геймдев, то пока что только плюсы
лолнул
>там вроед пол команды съебало
Кульминация попенсорса.
И как теперь вообще доверять этой разработке если они могут по настроению или циклу менструации менять проекты. Какие гарантии что тут не убегут?.
Все что было выпущено под лицензиями, где есть апрув от OSI, но нет от FSF
https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licences#Approvals
Мертвые лицензии которые никем не используются. Мит, жпл и апач покрывают 99% опенсорса.
https://www.gnu.org/philosophy/selling.html
Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish)
https://www.gnu.org/licenses/gpl-3.0.html
Мань, маня заебали твои маневры. Речь шла про принципиальную возможность. Потом ты сказал что тебе нужны реальные примеры. Потом, что этого мало и что все покрывают такие то лицензии. Тебе привели принципиальную возможность в рамках одной из них. Теперь ты опять просишь примеры. Это будет до бесконечности. Просто иди нахуй, ебаный демагог.
Где-то сейчас плачет прибитый, бесплатный CentOS
Ты сам демагогию эфемерными примерами развёл. На деле опенсорс = бесплатно.
Это местный шиз, он лазает по форумам и просто со всеми не соглашается и спорит. Был задетектен еще лет 8 назад в первых го тредах, у него жена пекла торты в каком-то мухосранске.
Сережа, не хулигань.
https://killedbygoogle.com
https://killedbymicrosoft.info
>И как теперь вообще доверять этой разработке если они могут по настроению или циклу менструации менять проекты. Какие гарантии что тут не убегут?.
Пиши на джаве, бери оракловское и апачевское тырпрайзное говно за доллары и доверяй крупным корпорациям.
Я подобного видал в питонотреде, где-то месяц назад, объяснял местным какой у них язык говно)) Это похоже на то как сантехник говорит строителю что его бетономешалка говно, а его вантуз заебись
Сейчас бы сравнивать компании с законченными продуктами, которые тупо не выстрелили спустя N-времени и кучкой хипстеров, которые заскучали от очередных скучных обоев.
Типа крупные попенсорс проекты не на зарпалате пилят. Ты то бесплатный хомяк, может и пилишь за идею, но реальность же другая
Языки без поддержки системных потоков и статик-типов - это языки программирования для детей, по типу scratch.
Речь была в контексте доверия к опенсорсу я в курсе что более менее серьезные опенсорс проекты пилят за донаты от крупных компаний
Да, да, вот примерно такую же дичь писал, только портянками водянистого книжного текста
>завязался на законченный, коммерческий сервис в своём проекте
>законченный законченный, коммерческий сервис из-за пмс кабанчика закрыли нахуй и ты пошёл с горящей жепой переписываешь проект под ор кабанчика
>завязался на незаконченный, попенсорсный проект
>контрибьюторы незаконченного, попенсорсного проекта разбежались — форкнул, подправил что надо и сидишь спокойно пердишь
Кабанчик своей денюжкой рискует за качество продукта и если загнулся, значит говнина была (не вписался в рыночек). А хипстота просто поигралась и метнулась к свежим обоям. А потом эти влажные мечты о форке, где в реале надо дополнительную команду нанимать, чтобы чужой продукт не завонялся.
Так, кстати, получают эти топ попенсорсы донаты, бизнесу глубоко насрать на идею, возможно и владельцам тоже насрать на все кроме донатов, а вот счастливые макаки за бесплатно строчат код.
Но зло это пропритарное говно, которое честно оплачивает труд всех его работников.
>Кабанчик своей денюжкой рискует за качество продукта
Да нет, кабанчику в целом похуй, главное пораньше на рынок выйти и чтоб картинка норм была. Потом — можно продать проект конкуренту покрупнее, что регулярно и происходит.
>А потом эти влажные мечты о форке, где в реале надо дополнительную команду нанимать, чтобы чужой продукт не завонялся.
Ну так и не тащи настолько сырую хуйню в проект, дебил.
>Так, кстати, получают эти топ попенсорсы донаты
Ну получают и получают.
>Но зло это пропритарное говно
Спок, школьник.
Я просто ткнул тебя ебалом в проблему закрытого кода, на который ты надеешься втаскивая его в свой проект, и не собираюсь участвовать в твоей зумерской драме "попенсорс вс кабанчики".
>Ну так и не тащи настолько сырую хуйню в проект, дебил.
Поэтому отказался от раста. С борщем может еще и зайдет, но лично для меня чуда не произошло, автору не хватила совести закрыть проект, когда уперся во множественное владение.
>не собираюсь участвовать в твоей драме
Слив засчитан. ты так и не научился пользоваться боевыми картиночками, аватарный ты пикабушник
Норм IDE
Только первый раз
Интерполяцию завезли, круто теперь в format! и println! писать в разы проще будет
осталось завести это в жыдбрейнс
.arg(
Arg::with_name("import")
.help("import csv file")
.short("i")
.required(false)
.long("import")
.takes_value(true),
)
паника на это строке
>let import_this: String = my_args.value_of("import").unwrap().parse().unwrap();
если при запуске программы не передать -i /tmp/to_import.csv
>thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/main.rs:12:54
Нихуя не пойму. Получается надо каждый флаг проверять на присутствие? Типа
if my_args.is_present("import") {
let import_this: String = my_args ...
}
Так что ли, аноны?
Не юзал эту библиотеку, у тебя скорее всего возвращается Option<T> который возвращает Some(T) если аргумент есть, а если нет, то None. Метод unwrap() у Option проверяет если Some, то отдает результат, если None, то падает с паникой.
Если тебе нужно продолжать работать при отсуствии аргумента и когда Option возвращает None, то его нужно обработать, например при помощи match.
HashMap<String, i32> ?
Всё правильно сделал.
наверно забыли уточнить, что он какой-нибудь distinguished sde в бинансе и уже зарабатывает в три раза больше
а простому ратовчанину и 5 штук зажлобят
а какая по сути-то разница где жить?
с деньгами везде хорошо, без денег - плохо
а с огромными деньгами для конкретного города - вообще замечательно
разрабам столько не платят
ну переедет он в европку, и что? в саратове он миницарек, который вообще не считает деньги, может быть даже имеет личного водилу и домработницу. а в богатой европке сантехник будет зарабатывает ненамного меньше и ему придется ужиматься.
Скорее лень с переездом заморачиваться. А если еще какой-нибудь хикка-интроверт, то и смысла в этом не особо.
при поиски вакансий исключительно всякая крипта, а у меня ощущения, что все это дичайших скам.
стоит заморачиваться, и подучить то, как работают блокчейн и прочее и перекатиться целиком в раст? или ну его, и просто пилить пет-продежекты?
может еще где-то раст нашел применение, а я слепой?
В Саратове домработница его обворует, а водила вывезет в лес подписывать документы и копать себе могилу. В богатой Европке он проживет очень качественно на 15к/мес, это раза в 4 больше среднего. Доживет без забот до 100 лет.
Если нет убеждений что зашкваришься скам-криптой, то почему бы не изучить ее и не поработать пока бабло платят? Перекатишься потом в другую область, не проблема
Есть какие нибудь род-мапы? Чтобы учить язык с минимальным зубрением?
>Есть какие нибудь род-мапы? Чтобы учить язык с минимальным зубрением?
Нене, у тебя отлично получается. Просто пишешь на языке, который уже знаешь — так обязательно выучится.
Просто раст защитил тебя от написание опасного кода. На расте получаются очень безопасные программы, не безопасных просто нет.
Непонятно в чём проблема написать дерево. Всякие листы и графы тебя в рот выебут, а вот деревья в расте вообще не проблема, либо ты что-то делаешь не так.
struct Node<T> { val: T, left: Option<Box<Node>>, right: Option<Box<Node>> }
Вот тебе бинарное дерево, куда уж проще?
fn main(){}
и
#[cfg(feature="azaza"))]
fn main(){}
то есть у меня две функции main. vscode сыпет варнингами что нет главной функции, но если добавить заглушку в виде fn main(){} без cfg, то компилироваться не будет. Как сделать чтобы и варнинги не сыпало, и компилилось без постоянного удаления-добавления main() ?
Ну то есть
enum PenisType {
Dvacher(4),
Human(17),
Negor(1488),
}
Где цифры это поле которое можно на варианте енума получить к примеру через penis_type.get_length().
Если у тебя раст-аналузер, то там где-то в недрах можно включать фичи для подсветки, но точно не помню, не пользовался никогда. Посмотри в доках.
А если не раст-аналузер, то тебе ничем не помочь.
>>65556
Нет, так нельзя, пиши
fn get_length(&self) -> usize {
match self { / go brr / }
}
Есть вариант сделать константы, например
impl PenisType {
const DVACHER_LENGTH: usize = 4;
}
и использовать вот так:
fn main() {
let my_dick_len = PenisType::DVACHER;
}
Ну а если сделать что-то типа
fn main(){
run()
}
а тут
#[cfg(feature="ololo"))]
fn run(){}
#[cfg(feature="zaza"))]
fn run(){}
Или будет та же фигня?
> fn get_length(&self) -> usize {
> match self { / go brr / }
> }
Ну я так и пишу, но чет уже охуел от этих матчей.
> Есть вариант сделать константы, например
>
> impl PenisType {
> const DVACHER_LENGTH: usize = 4;
> }
Та один хуй нужен иф.
А нельзя при объявлении полей сделать значение по умолчанию для поля? Ну типа вот так:
enum Shit {
Govno{ voniuchest: &str = "oche"}
}
Макросом можно, но не рекомендую, проще `Default` заимплементить руками. И код читаться проще будет и компилироваться быстрее.
Та же херня будет, иди доки читай.
Удивительно как язык яростно сопротивляется ООП, а так же вещам которые есть в других современных языках (значение поля|аргумента поумолчанию). Ладно, спасибо.
> WebAssembly doesn't natively support a string type, it rather supports i32 / i64 / f32 / f64 value types as well as i8 / i16 for storage.
Проиграл, блять.
Он же не вирусы пишет.
В худшем случае могут оштрафовать, если такое вообще предусмотрено в контракте, лол.
Шарп всё равно выебан будет.
Ну зная чем занимались его авторы 10 лет — он был мертворождённым потому что им изначально занимались долбоёб дрочащий на милисикунды в в компиляторе и такой же, дрочащий на кучу микрофишек в языке.
Они concurrent gc с D1 портировали 10 лет, и так и не закончили режим nogc, спустя хуй знает сколько лет, лол.
Нет, раньше он был больше похож на го и перл.
Последняя версия раста с компилятором на окамле (2011):
https://github.com/rust-lang/rust/blob/ef75860a0a72f79f97216f8aaa5b388d98da6480/src/lib/list.rs
https://github.com/rust-lang/rust/blob/ef75860a0a72f79f97216f8aaa5b388d98da6480/src/comp/front/ast.rs
Первая версия на гитхабе автора оригинала (ебальник на пике, можете не представлять, лол):
https://github.com/graydon/rust-prehistory
Обязательно к ознакомлению шизам, которые говорят, мол расту уже 10 лет.
А всё.
Что не так с ебальником на пике? Аленделоны редко выбирают путь стула и простатита.
И что они пишут на этом расте?
Нормальное лицо учитывая что он сфоткался абы как не подбирая спецом нужный ракурс и освещение.
Зачем, если у него автоматический подсчет ссылок через смарт-поинтеры. Не ГЦ, я повторяю НЕ ГЦ!
Таки да, любая автоматическая сборка памяти это ГЦ, а то что там как-то как-то представляет в своей маня-фантазии уже не важно. Раст язык со сборкой мусора, так как нет безопасного решения со множественным владением как через автоподсчет ссылок (кстати проект верона поэтому и был создан, чтобы решить эту проблему, но вроде закрыли уже или сказали что закрыли).
Так как нету по дефолту ручной работы с память, борроу чеккер тоже теоретически можно отнести к сборке мусора
Если бы мне сразу указали про проблему со множественном наследование и что решается через сборку мусора (подсчет ссылок), я бы не получил эффекта что меня обманули.
Мы вам перезвоним
ты слышал что в плюсах есть shared_ptr, более того, я даже в с могу сделать указатель со счётчиком
Ты же понимаешь что в плюсах смарт-поинтеры опциональны и плюсов есть прямой контроль памяти?
> прямой контроль памяти
Как, вы пориджы, хотите на вранье популизировать продукты?
> Решается только через подсчет ссылок
Не только
> зеро абстрактшен
Его нигде нет, добро пожаловать во взрослый мир
>Его нигде нет, добро пожаловать во взрослый мир
Пришло поколение зумеров, которые думают, что через ложь можно продвигать технические продуты, как обычные.
>люсы уже сколько десятков лет свой зеро кост абстракшен продвигают, что то никто не бухтит на этот счёт
А че стал в массивах диапазоны проверять?
>Никак, нет ничего такого в использовании unsafe
Яснопонятно. Раст бы реально меньше ущерба получил, если бы не звездели там.
Как скажешь
Слышал как-то и не понял почему.
И, собственно, как сейчас раст себя чувствует в фонде?
https://github.com/Rust-GCC/gccrs
>>66532
>Может кто рассказать, почему мозила отдала раст в фонд?
Имхо, чтобы заработать себе очков доверия среди попенсорсеров и ГНУтых. Логика, примерно, такая: Если раст принадлежит корпорации, то он плохой. А вот если он принадлежит "независимому" фонду, то он хороший и можно тащить в ядро.
Вот здесь можешь почитать претензии к расту от борцов за свободу: https://wiki.hyperbola.info/doku.php?id=en:main:rusts_freedom_flaws
Эти чуваки начали хардфорк ядра openBSD, чтобы свалить с прогнившего линукса.
Благодарю.
Норм. Тогда можно в системное погромирование его засунуть, но честно говоря всё равно к нему скептически отношусь.
>Может кто рассказать, почему мозила отдала раст в фонд?
Потому что пришла новая директор_ка и начала оптимизацию, дропая все проекты, не относящиеся напрямую к зарабатыванию денег. Был ещё срач что она себе премию выписала какую-то конскую после увольнения чуть ли не трети мозиллы, кек.
>И, собственно, как сейчас раст себя чувствует в фонде?
Нормас, они даже амазону отказались продаваться. Т.е. со спонсированием, походу, всё ок.
> Был ещё срач что она себе премию выписала какую-то конскую после увольнения чуть ли не трети мозиллы, кек.
Не, ну ей нужнее. Она же не хуемрась - белый программист расист.
Ты дурак? Во-первых, это не мем. Во-вторых, как не связаны эта фраза и ответы к ней по-твоему?
Пиши свой мобильный телефон и уебу тебе.
То траподрочеры по несколько тредов подряд срутся.
То шарпошиз набегает и остальные сумасшедшие за ним, хотя до весны ещё далеко вроде.
То какие-то залётыши с пикабу.
Господи, как все сложнааа. Как же просто в рнр, как будто люди для людей этот шаблонизатор проектировали.
Мимо рнр макака.
Я бы назвал это низкоуровневым синтаксисом, а вот зачем из пхп туда лезть, я хз, твой пхп 95-99% сидит ждет ответ с базы. Что ты там ускорить собрался?
Тупой вопрос, но сил нет гуглить.
Могу ли я добавить своим методы, скажем к String. Могу я расширять, или это доступно только создателю структуры?
Типа
impl String { ... }
https://github.com/rust-lang/rust/blob/42852d7857d2955f19ec333bec1ed107964db200/library/alloc/src/str.rs#L287
https://github.com/rust-lang/rust/blob/42852d7857d2955f19ec333bec1ed107964db200/library/alloc/src/str.rs#L287
Я не спец, но вроде есть какой-то дешевле алгоритм?
Могешь
trait MoyEbanatskiyMethod { fn method(&self) }
...
impl MoyEbanatskiyMethod for String {
__fn method(&self) { println!("mamku ebal") }
}
что скажете? только он заглох, вроде.
Согласен и на пять, лишь бы влиться во всю эту движуху
> Как перестать охуевать с синтакциса?
Никак, это твой первый язык программирования. Первый язык программирования всегда тяжело идет, если у тебя до этого не было опыта программирования.
Не там спрашиваешь, ты ближе к педерастии, чем 99% треда.
Т.е. у меня main.rs есть и рядом с ним каталог example, в котором mod.rs
Из мейна испортится через mod example и example::some_method()
Но не складывать же всё в mod.rs
Как это организовывается?
Конечно же оно на расте
Если нужно добраться до модуля hui, который вложен в модуль zalupa — добавляешь pub mod hui в mod.rs модуля zalupa, и так рекурсивно. Модуль в расте — единица инкапсуляции. В тех же плюсах и ко чтобы такое смастырить придумаля pimpl и и иже с ними.
Ну да, логично, но немного непривычно выглядит.
>А что мешает сразу изучить раст?
Раньше изучал java, потом забросил. Сейчас немного поизучал раст, потом посмотрел и java несложной смотрится. Вот думаю пройду в java методы, и тд и займусь растом
Надо позвать шарписта и сделать ру подкаст на расте.
https://coub.com/view/2zqpow
а правда, кто разбирался? что они там с растом в крипте делают?
типа hft?
как вкатиться?
чтобы работать на расте, понадобится байтоебство на с? или плюсах?
> что они там с растом в крипте делают?
Если честно, смешно немного. Две мутные технологии нашли друг друга.
Человек переделал майнер ironfish с тайпскрипт на rust и он стал работать в 10 раз быстрее
Представили.
Алсо, накидайте картинок для переката.
мимоОП
>Стоит ли перекатывать треды после 500-го поста, чтобы они сверху плавали?
Да, иначе тред хуй найдёшь, если не капчевал до этого с этого девайса.
>Да, иначе тред хуй найдёшь, если не капчевал до этого с этого девайса.
Теги в закрепе же висят.
Ты не заметил, что как тред перекатил за 500, он буквально стух сразу. Это тебе не жаба или шарп или жопоскрипт, где будет флуд еще на 2000 посте.
Небезопасненько как-то, не по растовски. И ради этого люди боролись с борроу чекером?
Там выше анон привел пример в сорцах, они replace строки делают через регулярные выражения.
Сейчас раст начнут реально использовать и польется все это говнише хипстерской индустрии нам на лица.
Он там хуйню привёл.
>Сейчас раст начнут реально использовать
Не начнут. Так и останется полунишевым говном, которым половина буде хвастаться, что прочитали растбук, еще четверть будут гордиться что прочитали растбук и говорить, что они пироды в придачу и еще четвертая часть что-то может и будет пилить, но насильно продвигать раст даже туда, куда и нет необходимости.
https://docs.rs/rayon/1.0.1/rayon/fn.scope.html
Потому что ты синхронно его выполняешь, в скопе надо таски спавнить.
Теперь все стало на свои места.
подскажите как матчить данные структуры из вектора?
мимо https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=ae7da777821052d6129b963ea7916c4f
Студентс.assigment
Да через for это понятно, я пытался понять как конкретный экземпляр структуры(первый например) вытащить из вектора и получить его значение
Можно тупо (но нежелательно) по индексу, то есть students[0]. Можно .first() и .nth()
Почему оно выводит эмодзи какие-то ебучие вместо цифр?
В расте очень умный и безопасный компилятор, он видит что ты хочешь распечатать номер телефон и поэтому шифрует его в псевдографику, чтобы злой спамер не украл номер.
Так просто инты в строку не засунешь.
Потому что ты массив байт парсишь как utf-8, а не как цифры, чего ты ожидал-то, гений?
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=6cc2acb7fb865eeece50ee405dcf2057
есть же https://docs.rs/bootloader/latest/bootloader/
как и наметки оси - https://github.com/rust-osdev/
но это головняк писать без стандартной библиотеки - все самому
тогда уж легче на сях или ассемблере
я в код не заглядывал, помню посты автора о том, как он боролся с отсутвием libc и стандартной библиотеки раста.
думал и загрузчиком он справился без других языков
Я отвечал на абстрактный вопрос, а не писал что-то про прерывания, шиз.
Любую прикладную задачу написать проблем нет.
жесть ты их подловил, красава!
если забить на старье и работать только с uefi - вроде там можно даже на плюсах запуститься или я никуя не знаю?
Скажу на понятно, наверно, для тебя. Ты из этих 87% убери каталоги examples и tests. Скольк тогда там останется
убрать тесты?
звучит как отличная идея, спасибо за вашу понятную мысль
мбы еще пустые строки убрать и комменты, чтобы прям почестноку
Ты можешь написать 100 строк на расте, 1к на языке ассемблера и 10к строк тестов на расте. Вопрос, на сколько процентов будет занимать раст, если не учитывать вспомогательные тесты/примеры?
Щас ты пернешь снова, что низя несчитать без тестов.
Ты можешь написать 100 строк на расте, 1к на языке ассемблера и 10к пустых строк на расте. Вопрос, на сколько процентов будет занимать раст, если не учитывать вспомогательные комменты/пустые строки?
вспомогательные тесты) ну захотел написал, не захотел полностью без тестов пишешь, обычная практика
Когда бутлоадер будет работать, в какой момент твои тесты будут запускаться в момент его работы?
Поссал на ебало чмохену, который обосрался, но не отступает. Да-да, тестошиз, это ты
Понял тебя, весь код который не запускается во время продакшена не в счет
Кого только в этом треде не встретишь конечно
можешь им написать, чтобы код из тестов не считали и не вводили людей в заблуждение!
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=c093ff15447016d97fc9d3bd8c62b4db
Кусок говна, это когда последовательность надо конвертиртить в итератор, потом сделать один раз пук и снова конвертить в последовательность
numbers.into_iter().map(|num| num.to_string()).collect();
Можно же было сделать так??
numbers.map(|num| num.to_string());
Да еще эта точка с запятой, это точно не ЯП из девяностых? Когда мозгов не хватало написать компилятор, который бы мог определить конец выражения.
Найс у маньки бомбануло аж своими сосисками по комменту промахнулся.
>numbers.map(|num| num.to_string());
И какое у этой хуйни должно быть поведение?
Как оно должно работать с боров чекером? numbers должен быть перемещён в скоуп замыкания или остаться доступным только в этом скоупе?
Как оно должно работать с мутабельностью? Ты хочешь иметь мутабильные/иммутабельные ссылки?
>Кококо скоуп, кококо борроу чекер
Нахер это все нужно, если программы на расте не достижимы?
То есть, без unsafe или сборки мусора (Rc), нельзя растом покрыть 100% потребностей системного языка.
Вот мы и видим только пет-программы, или утилиты консоли баша.
Этот язык нужно было закрыть на уровне эксперементов, когда уперлись в то, что недостижимо написать программы в парадигме языка.
Зачем этот баран-чекер, если он влияет только на хелло-ворд??
Почему блять, из, официальной документации пример не стартует?
Спасибо, помогло.
Только теперь выглядит как-то залепно, в общем не чувствуется магия языка. Продолжу вести наблюдение.
> let shellcode = String::from("\x1\x97\x7C\0\0\0\0\0\0\0\0\0")
в байтики чтобы записать их в TcpStream.
Если я делаю что-то типа shellcode.as_bytes() то оно ругается. Или ругается оно именно на принт, а в остальном всё ок?
> В ночь на 3 февраля кроссчейн-протокол Wormhole на базе Solana подвергся хакерской атаке. Злоумышленники воспользовались эксплойтом и вывели из пула проекта 120 000 WETH (свыше $319 млн по курсу на момент написания).
https://twitter.com/CertiKCommunity/status/1489048459445424129
Хуйня ваш руст.
перед литералом можно написать b
Я понимаю что ты просто троляка, но мне лень вникать. Ошибка раста (чего то там) или же ошибка программиста?
1) Стив Клабник, Кэрол Николс - Программирование на Rust-Питер (2021).pdf
2) Джим Блэнди, Джейсон Орендорф - Программирование на языке Rust-ДМК Пресс (2018).pdf
3) doc.rust-lang.ru
(я не такой папашка в английском как вы)
Почему? Годный низкоуровневый язык (как я представляю, что больше замена сям).
Программиста, не до конца что-то проверил.
https://twitter.com/samczsun/status/1489044939732406275
Ну бля, тебе же компилятор прямо в ебало ошибку выдал, подчеркнул что не так и рассказал как можно. У тебя e0 - это 224, а ascii хексы идут максимум до 7f, потому что в ascii 128 знаков. Если тебе нужен байт со значением 224, ебани массив байтов, а не строку.
https://doc.rust-lang.org/book/
И лучше сразу выучить английский, чем жрать переводы технической литературы на русский.
>The instruction does not perform complete verification on the correctness of the input
Раста конечно. Компилятор должен был дать пизды и заставить валидировать ввод в компайлтайме.
ПЕРЕКАТ https://2ch.hk/pr/res/2286737.html (М)
ПЕРЕКАТ https://2ch.hk/pr/res/2286737.html (М)
ПЕРЕКАТ https://2ch.hk/pr/res/2286737.html (М)
Конечно бро, завтра махну волшебной палочкой и выучу, это же так просто.
Вы видите копию треда, сохраненную 31 июля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.