В этом ИТТ мы можем объяснить базовые и продвинутые концепции языка, и программирования в целом, поможем вкатывающимся, подскажем что выбрать для веба, игр или, прости Абу, блокчейна.
Продублирую: >>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. Шарпошиз, там это, твой белый господин признал раст и не собирается релизить этот язык...
>>2253785 Ну, парни просто исследуют, проходите мимо, тут не на что смотреть. Как бы не оказалось, что rust был подобием бета-теста и затяжным исследовательским проектом.
PS на самом деле я не против раста, мне кажется, если бы такой проект сразу попал хорошие руки, мы бы тут даже не грызлись. Люди из МС потрогали раст, вдохновились и быть может появиться конкурент. А конкуренция всегда хорошо, раст сразу подхватит свежие идеи, а мс сможет выплюнуть сразу инфраструктуру, чем и заставит растаманов писать свою инфраструктуру, в общем, пердак Сансары раскрутиться сильнее в любом случае.
>>2253797 >может появиться конкурент Конкуренция в данном случае это плохо. Скажем, есть у тебя 1000 кодеров на расте, пишущих какие-то полезные крейты. Пришла мс, показала конкурирующий язык, 500 кодеров из 1000 свалили на него - что получаем? Получаем ни там, ни там, получаем фрагментацию, как с десктопными линухами.
>>2254468 В современных языках, такое ощущение, что у людей хватает сил только на хайповый какой-то сахар, а потом когда начинаются реальные проблемы, они городят какой-то ад, чтобы все вместе это подогнать под рабочее решение.
>>2254901 это биндинги блять к строкам Cstr - чтобы можно было строки из С доставать OsStr - платформно специфичные строки, то есть виндовые, из юниксов и тд
>>2254903 Грубо говоря &str - ссылка на строку, некие буковки где-то в памяти String - сама строка, контейнер с буковками. &String в большинстве случаев прокатывает за &str, буковки и там и там одинаковые
остальные типы нужны для ffi, при кодинге чисто на расте ты про них вспоминать не должен.
>>2255025 >I was given the task to learn Rust and write a report Если уж так ставить вопрос, то я бы тоже копротивлялся, даже не будь там проблем (а в 2к16 в расте их было явно больше, чем он написал).
>>2255016 Гугл что-то понимает во всей этой движухе? Самый здравый смысл, это то, что они не видят в расте еще будущего, то есть технология слишком медленно развивается, чтобы тащить её в реальный новый проект.
Ну или видят риски с SJW управлением. Жалко когда люди открыто не могут сказать реальную причину.
>>2255259 Шарпошиз, там это, в фуксии кода на расте заметно больше чем на си и плюсах вместе взятых, даже если учитывать сишные хэдеры (код в которых на 3/4 дублирует основной файл, и его можно не учитывать), так что ховайся нахуй, просто раздет и выебан.
>>2255390 Давай прочитаем вместе: >>2255016 >А почему гугл вырезал раст из фуксии и запретил в ядро на нем писать? Так из фуксии не нихуя не вырезано — пруфы выше, можешь сам проверить. А в цирконе его и не было — тут >>2255025 пердикс описал, что решили его туда не тащить потому что сырой был. Ты в глаза долбишься или из запоя не вышел?
>>2255412 >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. Поздравляю, ты запруфал слова пердикса из твиттера — конкретно команда ядра просто не хочет ничего нового. Где тут запрет — хуй его знает, выпиливание раста — призанный тобой же нахрюк.
>>2255412 Пока что тут ты ядро от ос не отличаешь, додислав, у тебя наверно и линукс ос а убунту это линукс? Старайся лучше.
>>2255439 Боевая картинка не делает тебя убедительней. Факт то, что раст из ядра выпилили с последующим запретом (в статье приводится и гугловый документ об этом). Это шиза, неудобный материал трактовать себе в победу. Я тебе просто перестаю отвечать не потому, что ты мастер демагогии, а потому что ты шиз с явными проблемами восприятия.
>>2255491 >Факт то, что раст из ядра выпилили Факт в том, что его там и не было, о чём свидетельствует цитата из статьи которую я выше привёл и даже выделил жирным нужный кусок, хуита ты безмозглая.
>в статье приводится и гугловый документ об этом Ссылку/цитату/любой пруф дай, долбоёб.
> Это шиза, неудобный материал трактовать себе в победу. Шиза — это вилять жопой в ответ на пруфы. Ты сам же заскринил тут цитату >>2255410 в которой написано, что разрабы ядра не знают раст. Как, блять, они его могут оттуда выпиливать, если они с ним не работали (т.е. не затаскивали его туда)? Твиттерный пердикс написал, что они ещё в 2016 дали ему задание изучить раст, ему не понравилось и забили.
> Я тебе просто перестаю отвечать Ты перестаёшь отвечать потому что я ебу тебя за твои попытки перефорса, вставляя крепкие пруфы тебе в сракотан.
Вытекай нахуй в /б/ или /по/ с такими тугосерьными потугами.
>>2255506 Мемно это когда сделали на устойчивое заблуждение, типа этого https://isrubydead.com/ А когда настрочили две страницы сайтов, это какая-то потамология.
Пока что статус обоссывания шиза такой: >гугл вырезал раст из фуксии — В фуксии кода на расте в 10 раз больше чем в ядре кода всего; — Что они могли вырезать, если там прямо написано, что никаких растов и ко в ядре не было?
>и запретил в ядро на нем писать? — Запрета от гугла нет, есть конкретное желание одной команды, о чём прямо написали >>2255025 и что следует из второго пика.
>>2255615 Даже в этом треде постоянно залетают с вопросами "а в расте есть гуй?", "а на расте можно писать игори?", "а для раста есть иде?" подразумевая что нихуя нет — это, по товоему, не >устойчивое заблуждение и оно не может быть мемом?
>>2255706 >подразумевая что нихуя нет Больной параноидальный шиз, когда спрашивают есть что-то, значит интересуется есть ли зарекомендовавшиеся решения (или вообще есть ли они), понимая что платформа еще свежая.
Ты болен, я серьезно. У тебя искаженное восприятие реальности, не удивлюсь что все эти домены твои.
>>2255788 Да понятно, что это все приводится к сишному стилю, но нахуя позволять делать одно и то же разными средствами? Это приводит к одному результату, но засированием кодовой базы разными подходами или еще обним пунктом в "как пишем код в компании", что типы дженериков объявляем только так или никак иначе. Или пишем кто во что горазд, жри дайверсити. >>2255789 fn shit<T: Shitable>(kal: &T) fn shit<T>(kal: &T) where T: Shitable fn shit(kal: &impl Shitable)
>>2255790 >но нахуя позволять делать одно и то же разными средствами потому что удобнее в одном случае легче написать одним способом, в другом другим
> но засированием кодовой базы брух, это обьявление дженериков, о каком засирании идёт речь я понимаю что у тех кто только 2 день начал язык изучать могут возникнуть трудности с чтением, но если ты на нем пишешь больше недели то должно быть всё ок
>>2255796 У тебя видимо небольшой опыт промышленной командной разработки, раз не видишь проблем когда каждому лебедю, раку да щуке плевать на всех, раколебедит как хочет и язык этому никак не препятствует. > о каком засирании идёт речь Потому что нужно или энфорсить лишнее правило, что пишем только так, или получается что один разработчик, пишет через where, а другой в сишном стиле. А потом они начинают дорабатывать существующий код друг друга и хопана лишние изменения на ревью, когда один изменяет функцию написанную другим и заодно переделывает на "правильный" способ объявления дженериков по его мнению. Умножай на количество человек в команде.
>>2255811 > получается что один разработчик, пишет через where, а другой в сишном стиле и что? > переделывает на "правильный" способ объявления дженериков нету правильного если у разраба что то в голове щелкнуло и он хуйню творит, то это не проблема языка
ну вот ты что предлагаешь в таком случае? убрать where? тогда код с fn<T: Shitable Suckable Fuckable Bruhable> будет выглядеть калово убрать impl? тогда на каждый пук надо будет идти писать дженерики
А вобще вся твоя проблема решается не исправлением языка, а кодстайлом, если уж разрабы между собой договориться не могут
> нету правильного > если у разраба что то в голове щелкнуло и он хуйню творит, то это не проблема языка Ну плохо, что нету. Это косяк в дизайне языка, что нет единого подхода и он позволяет разработчкику творить хуйню и никак за это не бьет по рукам в данном случае. Это еще нормально для интерпретируемых языков, но для компилируемых уже однозначный косяк. > ну вот ты что предлагаешь в таком случае? Оставить строго один способ объявления дженериков. Через where, например, но тут на самом деле похуй что, лишь бы было одинаково и только один способ.
>>2255811 >У тебя видимо небольшой опыт промышленной командной разработки Да нет, это у тебя какое-то маняпредставление о "промышленной разработке". Если реально есть такая проблема — лид (он для этого и нужен) должен пойти и въебать линтер на коммит. Всё. Но ирл её нет, а все кому не нравится наличие больше 1 способа что-то сделать пишут на го и им нравится.
Есть рил умные люди, объясните, достижимо ли сделать чтобы компилятор сам посчитал то, что ссылка больше по коду не будет использоваться и собрал мусор? Ну типа даже с учетом ветвления if становится ясно что переменная/ссылка уже не используется - собрать её?
Так же если я собрал ссылку (дропнул), то компилятор отругается что память я уже почистил, если где-то в коде о ней вспомню.
Если это достижимо, то это намного же проще системы владения?
>>2255949 >объясните, достижимо ли сделать чтобы компилятор сам посчитал то, что ссылка больше по коду не будет использоваться и собрал мусор? Да, и ты пишешь в тред языка, который этим и занимается.
>Если это достижимо, то это намного же проще системы владения? Чел, система владения это и есть region memory management (то, что ты предложил) с наворотами (вроде того самого владения из названия).
>>2255965 Система владений по сути бестолкова, на практике везде используются ссылки, которые уже более практичны для реального кода. Я же имею ввиду вообще убрать систему владения и оставить только ссылки с "умным" ручным дропом. Идея в том - я хочу руками контроллировать жизнь указателя как в си, но не хочу на этом обжигаться в случае ошибки.
Типа let link = "..." //много кода link.drop() //много кода link.length() // Ошибка компиляции, ранее ты потёр руками данные. link.drop() // Нет ошибки, мы уже дропнули это. link.is_drop() // Нет ошибки, мы проверяем существование.
Привет, посоны. На связи быдлопэхэпэшник. Иногда от скуки ковыряю разные новые для себя ЯП, и вдруг наткнулся на Rust и прям охуел от красоты, удобства и логичности языка. Сейчас зачитываюсь Rust Book'ом и потихоньку пилю какие-то свои простые программки. И есть ощущение, что хочется вот уже прям всерьёз освоить язык и связанные с ним технологии. Но есть проблема: так как я веб-макака, мой технический бэкграунд в программировании околонулевой. Я, конечно, умею писать более-менее вменяемый код, знаю что-то про паттерны, но прекрасно понимаю, что мне не хватает фундамента. В связи с этим вопрос: что почитать/посмотреть по теории программирования, что могло бы стать общетеоретическим фундаментом для развития меня как Rust-программиста? И ещё второй вопрос: куда, в какую нишу лучше всего вкатываться с растом?
>>2255978 Твоя идея ломается, если будем дропать значения в одной из веток if Если на что то будет ссылаться несколько сущностей, ты в компайл тайме не прочекаешь жива она или не
>>2255978 >на практике везде используются ссылки, которые уже более практичны для реального кода. Сам-то понял что сказал?
>Идея в том - я хочу руками контроллировать жизнь указателя как в си, но не хочу на этом обжигаться в случае ошибки. Ну тут уж либо шашечки либо ехать.
Ты хочешь одновременно чтобы компилятор мог в сильный статический анализ, чтобы давать тебе >link.length() // Ошибка компиляции, ранее ты потёр руками данные. и при этом не хочешь никаких ограничений, которые для этого статического анализа нужны. В таких условиях — максимум ворнинг кидать можно будет, и то не во всех кейсах.
А вообще, можешь посмотреть на Objective-C, там до ARC именно так память и менеджерили — руками дёргаешь retain/release и освобождай хоть 30 раз. Правда крашится если что будет в рантайме. За хрен знает сколько лет для этого говна даже ни одного нормального статического анализатора не сделали, а ты хочешь чтобы в компилятор тебе всё делал.
>>2255996 >что могло бы стать общетеоретическим фундаментом для развития меня как Rust-программиста? Тут скорее вопрос к тебе — куда ты хочешь расти (т.е. выбери направление и копай его, язык вообще вещь вторичная). Из такого абстрактного можно посоветовать только всякие алгоритмы и паттерны изучать, ну или размять мозг фп. Но не то чтобы это всё сильно было нужно, скорее полезно для чисто общего развития.
>И ещё второй вопрос: куда, в какую нишу лучше всего вкатываться с растом? Если нет опыта в системщине и хуйлоаде — крипта разве что, если вопрос про работу.
>>2256010 >(т.е. выбери направление и копай его, язык вообще вещь вторичная). Да, это я понимаю, и вот здесь у меня, как раз, и проблема, лол. Мне понравился сам ЯП, я ощущаю, что мог бы неплохо профессионально вырасти с его помощью, вкатиться во что-то более серьёзное и высокооплачиваемое, чем веб-макакинг. Бывает же иногда такое, что вот просто на душу ложится какая-то идея, это вот про раст. Но куда двигаться и как правильно прокачать свой уровень - немного теряюсь. > крипта разве что А можешь примерно описать, какие задачи там решаются и какие знания нужны? Криптография/криптология, алгоритмы приходят на ум.
>>2256016 >А можешь примерно описать, какие задачи там решаются и какие знания нужны? Криптография/криптология, алгоритмы приходят на ум. Криптография нужна поверхностно, свою даже в мире блокчейна никто не пишет (ибо нахуя), насколько мне известно.
Из лоулевела — работа с сетью, P2P сети и всё остальное. Из хайлевела — смартконтракты, знание как работают разные блокчейны.
Тут вроде был анон который говорил что вкатился в разработку какого-то бч, мб ответит детальнее. Энивей можешь загуглить что нибудь в стиле "раст блокчейн" или "блокчейн девелопер роадмап" и посмотреть что к чему.
>>2256066 Вы использовали ограниченное число перемещений переменной, пожалуйста для продолжения использования этой переменной оплатите благотворительный взнос кросс-гендерных угнетенных разработчиков, или воспользуйтесь маскулинным, угнетающих всех С++
>>2256079 Не спорю, его делали профессионалы в свое время. Но его развитие как-будто где-то затухло в половине нулевых, а большая часть тырпрайзных либ (у нас) - представляет из себя нечитаемый ужас, который трудно сопровождать (за это хлеб и кушаю).
А вот си-шарп годнота, мне он приятнее чем котлин, раз тут боевая картинка пробежала. Хотя не думаю что шарп конкурент расту, лол
>>2256093 Попробуй обновиться хотя бы до 8 джавы, а лучше до последней. И заодно использовать современные любы. > большая часть тырпрайзных либ (у нас) Ну так используйте нормальный попен сорс, а не говно 20-летней давности и в целом современные инструменты.
>>2256099 То что там жаба пыхтит и пытается угнаться за котлином, это печальная история в 9 патчах. Я думаю, после выхода фуксии, на которую уже самсунг переходит, на нас жаберов будут смотреть как на кобол программистов. Мол да, где-то много кода, есть такой язык, но это там, где-то в кровавом.
>>2256105 Ну тащем-то котлин на андроиде во всю используется пару лет, джава там легаси, но на бекенде куда ты всю эту жабу выпилишь или спрячешь? Тот же эластик до сих не смогли переписать на что-либо нативное. Cassandra туда же, ScyllaDB вроде и пилят уже как восьмой год, да только ее так никто и не использует. С джавы имхо очень сложно слезть, хотя очень хочется.
>>2256181 Проблема в том, что ты используешь my_vec после того, как передал его в скоуп замыкания с параметром pbtn. Нахуя ты это делаешь и можно ли сделать по другому — не знаю, не ванга, кода нет.
>>2256190 pbtn это гуй. По кнопкам читаются файлы, кладутся в векторы построчно и в конце по кнопке `старт` обрабатываются строки для бд. Получается что первый раз я пушу в вектор в кложуре, а по второй кнопке хочу читать из него.
До уровня прикладного программирования раст не дотянул, по сложности и оверхеду на мозги он на уровне тех же плюсов. Сами плюсы на прикладном уровне используется редко. И в итоге, если тебе нужно писать что-то около-системное или близкое к железу, ты возьмешь популярное решение с множеством готовых библиотек, у которого есть полный контроль над железом (без обмана себя unsafe).
Вот если бы раст достиг прикладного уровня и там было писать так же легко как в шарпе, тогда да.
Есть также узкое мнение, что нельзя считать язык профессиональным, если в момент ошибки ты не получаешь стектрейс. Очень сложно с такими подделками обслуживать большие приложения
>>2256917 Статью написали два зумера, которые учатся и дрочат на знаменитого неадеквата. Стыдно должно быть в наше время не знать таких легенд, как столяров.
>>2256792 Автор говорит про ложь о нулевом рантайме. Типа там си можно же без стандартной либы юзать.
Кстати я тоже не согласен с модой, где управляющие конструкции стали операторами и появляется такой феномен как однострочный многострочник, типа, да, модно и молодежно, но длинный код такого безобразие с возвратом сразу функции выглядит как применение GOTO (ты прыгаешь по контексту обратно из каждого вложения), для пориджа это выглядит круто, на практике лишняя нагрузка на сопровождение.
>>2256845 >в качестве диплома встраиваю Лисп в Си Ахахахаха, проиграл в голос. Скажите мне, что это толстота на пике, пожалуйста. И это в МГУ, просто пиздец. Как-то не верится, что у нас такая жопа с образованием. Может это просто петушиный факультет?
>Кстати я тоже не согласен с модой Мода эта в 60-ых годах прошлого века появилась.
>где управляющие конструкции стали операторами Постарайся в следующий раз узнавать значения слов, прежде чем их использовать, чтобы не выдавать шизофазии на выходе.
>>2256933 >Постарайся в следующий раз узнавать значения слов, прежде чем их использовать, чтобы не выдавать шизофазии на выходе. Все правильно, с одной лишь разницей что стали называть это выражениями, хотя в действительности это правда statement (чаще переводят оператором, мне нравится больше инструкция) 2+2 // выражение 2+2; // оператор/инструкция
if (true) {} // выражение let x = if (true) {} // оператор/инструкция
Действительно, можно создать целый каскад из таких выражений, где придется по цепочке обратно бежать.
>Мода эта в 60-ых годах прошлого века появилась. Пруф? Хотя я уверен с чем только не экспериментировали в то время, тогда получается, что сделали конструкциями не зря, исходя из опыта
>>2256940 >Если ты так люто дрочишь на неадеквата, хуесосящего всех и вся и считающего себя единственным илитарием — это твой идеал, к которому ты стремишься. Ты сейчас описал львиную долю растеров. И это даже не смешно.
>>2256963 Речь про управляющие конструкции if, while, for. То что ты там знакомый if увидел, говорит лишь о том, что они изобрели себе в помощь тернарный оператор "?:" (потому что выражением не может иметь if без else, а значит не является базовым оператором if).
>>2256970 >Речь про управляющие конструкции if, while, for. Речи про это не было. Да и в контексте раста релевантен только if. Один хуй посмотри на пункт ниже — там есть лисп, в котором всё выражение, и они родом из 60-х так что вытирай ссанину с ебала и неси пруфы про культ личности в расте.
Вообще является ли if с одной веткой выражением или стейтментом весьма интересный. В хаскеле это вроде выражение, так как возвращает значение, которое к тому же композабельно с остальным кодом, но с другой стороны там теперь IO, то есть речь уже идет о неком эффекте.
>>2256757 Вот почему питонщики полюбили раст, у них тоже сборка мусора через подсчет ссылок.
Жесть, все эти потуги с владением скатились до банальных умных указателей с подсчетом ссылок коих в тех же сях полно. Зачем было городить весь этот синтаксический ад тогда? Пчел даже выше не понимает как ему гуи сделать.
мимо, ушел с вашего треда, пойду лучше D потискаю.
>>2256995 >Что-то там пукнул про лисп, который вообще ФП другой парадигмы. >Ткнул же ебалом в лисп Маняфантазии как у растера. Я понял что ты слился с управляющими конструкциями (во множественном числе), а про больных растеров я тебе выше написал, хз чем ты читаешь.
>>2256985 if с одной веткой может просто возвращать nil по умолчанию. В контексте IO можно возвращать пустое вычисление. Еще строго говоря можно крашиться\зацикливаться, ибо боттом является подтипом для любого типа.
>>2256999 >Вот почему питонщики полюбили раст, у них тоже сборка мусора через подсчет ссылок. Почему именно питонщики? Самый каноничный пример использования подсчета ссылок - это экосистема эппла, то бишь обджектив си и свифт.
>все эти потуги с владением скатились до банальных умных указателей Нет, рц используется только там, где он логически необходим. Где можно обойтись без него и статически выделить\освободить память, он и не используется.
Кроме того, линейная афинная логика имеет множество других полезных применений, ну в том же асинхронном коде.
>Зачем было городить весь этот синтаксический ад тогда? Чтобы толпы си-макак не отпугивать нормальным синтаксисом. Система владения к синтаксису, если что, не имеет никакого отношения, это уровень системы типов. А говносинтаксис завезли из-за си-макак и боязни расторазрабов отпугнуть их отсутствием точек с запятой. Печаль.
>>2257012 >У вас язык сплошное минное поле Наоборот же. Там, где в си\крестах было минное поле, у них автоматизированные проверки компилятора. Хватит копротивляться против паровой машины, товарищ пролетарий.
>>2257026 Действительно, я не осилил копать овраг лопатой (как подобало бы настоящему пацану и чоткому пролетарию) и вместо этого выучился управляться с трактором.
>>2257028 А у непролетариев трактор что-то кроме ямы под сельский туалет способен выкопать? Просто пока что пацаны с лопатами копают рвы вокруг замков, трактористы только и делают что нахваливают свое поделие.
>>2257028 Реальность куда хуже. Всем втирали про новый супер-пупер продукт с борроу-чекером, а в реале чтобы писать на расте приходится прибегать к старым смарт-указателям с подсчетом ссылок (аля кастрированным ГЦ). То есть, вся это ограничивающая фигня даже не нужна в расте, это блин как затянувшаяся шутка.
>>2257029 Пацаны с лопатами копают как раз сельские туалеты, зарплаты соответствующие и тренд вниз. Если ты неиронично спрашиваешь о примерах проектов на расте (хотя мне кажется, что это толстота), то укажу на очевидную платину (рендер огнелиса) и напомню, что поддержку сабжа впиливают в линукс кернел. Ну и напомню, что в гитхабе есть поиск по языку.
Супер-пупер язык нового поколения @ Ноль! Нет, -1 cost abstraction! @ Убивца С++ @ Полная защита unsafe { памяти } ! @ Писать код можно только через смарт-указатель как у С++ с подсчетом ссылок как по аналогии примитивного ГЦ.
>>2257034 >Всем втирали Без понятия, кто там тебе что втирал, у тебя соломенное чучело.
>новый супер-пупер продукт с борроу-чекером Ну они его и доставили. Правда как новый, в 90-ых линейные типы запилили, но для колхозников с харкача и в 2к22 это технологии будующего.
>а в реале чтобы писать на расте приходится прибегать к старым смарт-указателям Ты не поверишь, но еще приходится прибегать к старым арифметическим операциям, например. Надо было супер-пупер нескучную арифметику запилить, а у них в языке обычная арифметика. Во лошары.
>То есть, вся это ограничивающая фигня даже не нужна в расте Ну да, а например в джаве ненужны все эти классы, интерфейсы и дженерики, ведь можно просто пихать все в Object.
Мне хочется верить, что ты просто троллишь тупостью, но в глубине души я понимаю, что это вовсе не троллинг. Пикрелейтед.
>>2257034 Еще нужно взять во внимание, что ко-ко-комнилятор раста не собирается без плюсов. Это вообще кекус максимус.
>>2257038 >что в гитхабе есть поиск по языку. Клон grep, туду-лист, тысячи переписанных приложений?
>впиливают в линукс кернел Линукс давно превратился в комок корпоративного раздутого говна, но ничего, скоро свободное сообщество переедет на новое ядро.
>зарплаты соответствующие и тренд вниз. А криптогалеры на расте - это существенные показатели? Если по твоим словам Си мертв, то раст никогда не рождался.
>>2257041 >ваши приложения не приложения Да-да, я понял, нельзя писать, невозможно, приложений нет.
>но ничего, скоро свободное сообщество переедет на новое ядро. Угадай, на каком языке оно будет написано. :3
>А криптогалеры на расте - это существенные показатели? Существенный показатель - это зарплата, я же сказал. Если тебя устраивает оплата на уровне охранника в пятерочке, то няшной тебе достаточно. Если же хочется чего-то большего, то будь добр, читай книжки, развивайся.
>Если по твоим словам Си мертв У тебя голоса в голове. Си - это отличный портабельный ассемблер. Другое дело, что в 2012 писать на этом руками будут только умственно отсталые.
>>2257044 >ваши приложения не приложения Если сравнивать с вещами, которые пишут на Сях или плюсах, то да.
>Угадай, на каком языке оно будет написано. А мне и гадать не нужно, pure C.
>Существенный показатель - это зарплата, ЖС макака лучше любой растобляди тогда получается.
> Если тебя устраивает оплата на уровне охранника в пятерочк А кто же виноват, что кроме криптоговна больше нет вакансий на расте? Да и та используется как модная технология для привлечения инвесторов. Все системщина, геймдев и встраиваемые системы пишутся на C/C++ и на раст переходить не собираются.
>Если же хочется чего-то большего, то будь добр, читай книжки, развивайся. >Другое дело, что в 2012 писать на этом руками будут только умственно отсталые. Да я уже понял, что ты любитель пощекотать очко функциональщиной. Только запомни, ржавого ты в космическом или медицинском аппарате никогда не увидишь.
Долбоёб прочитал жырный высер и говно с вентилятора забрызгало весь тред, жесть.
Странно почему после прочтения этого высера чел не пошёл срать таким говном в тред плюсов, там же тоже в стдлибе подсчёт ссылок есть. Получается, по логики этоого невменяемого, что рантайм шарпа написан на manged-языке. А ещё дотнет не соберётся без плюсов, такая-то игрушечная платформа!
>>2257207 Пук-среньк, а где опровержение по фактам? -Смарт-указатели намертво пришиты в раст? Да, являются часть языка технически и вообще без них невозможно кодить.
-Является ли подсчет ссылок сборкой мусора. Да. Чем это будет отличаться от смарт-указателей в С++? Забавно, но в С++ можно писать программы без смарт-указателей.
-Если смарт-указатели состовляют основу синтаксиса и без них нельзя писать как в С++, является ли раст язык с подобием ГЦ ДА!
>>2257221 Речь была про ядро, шизик вывернулся подменяя понятия. Но даже он в курсе и не отрицает, что в ядре раста нет и не будет. А окружение там может быть на чем угодно, будет даже ваше jvm в свое время.
Кстати становится понятно почему люди часто прибегают к unsafe. Потому что так тупо проще писать, тебе ничто не мешает, если программирование тупо сводится к смарт-поинтерам.
>>2257332 >-Смарт-указатели намертво пришиты в раст? Нет. Если понимаешь что делаешь — въёбываешь unsafe и тебе ок.
>-Является ли подсчет ссылок сборкой мусора. Да. Ты наверно первый раз это словосочетание слышишь, если у тебя такие вопросы возникают?
>Чем это будет отличаться от смарт-указателей в С++? Ничем.
>Если смарт-указатели состовляют основу синтаксиса Ну давай показывай, где они >состовляют основу синтаксиса и почему >и без них нельзя писать раз уж начал пукать про пруфы.
> как в С++ В отличие от, у тебя не весь код один большой unsafe.
>>2257397 String — полноценная строка, которая может быть мутабельной, выделяет себе память на хипе. Нужно создавать строки в рантайме/менять их/итд — используй String.
str — толстый указатель (указатель+длинна) на какой-то участок памяти с символами, нихуя не выделяет, иммутабельная. Нужна статическая строка (известная на этапе компилции), передать куда-то read-only строку или или её слайс — используй str.
>>2257052 >греп на расте - это хуйня >а вот греп на си - это огого, другое дело Школьник, съеби в прикреп.
>А мне и гадать не нужно, pure C. Так единственная живая сфера применения няшной - это линукс кернел. За его пределами она нужна для 3.5 околонии и прошивочногалер.
>ЖС макака лучше любой растобляди тогда получается. Почему? У растеров в среднем выше. А если сравнивать по уровню компетенций, жс-макаки как раз примерно равны си-макакам.
>Все системщина, геймдев и встраиваемые системы пишутся на C/C++ Да что уж там няшнокресты, весь бизнес вообще использует только кобол. Оперденей на джаве ты никогда не увидишь, хипстер.
>в космическом или медицинском аппарате Еще всякой хипстоты типа Ады там нет, инфа 100%. И по первой же ссылке в поисковике по ключевым словам не выдает компанию, пишущую какие-то там иксрейимаджининги на сабже https://www.bmd-software.com/. Только си, только сегфолты.
Анон, ну просто признай, что тебе не хватает технических компетенций обсуждать сабжевый язык и сравнивать бенефиты от применения его и\или няшнокрестов. Поэтому ты тут брюзжишь и пердишь вместо аргументации. Н - некомпетентность.
>>2257020 > if с одной веткой может просто возвращать nil Так это понятно. Можно и говна поесть если сильно хочется. Можно сделать чтоб любой стейтмент возвращал nil, или “huipizda”, но от этого он выражением не становится.
>>2257670 >Можно сделать чтоб любой стейтмент возвращал nil, или “huipizda”, но от этого он выражением не становится. Вообще-то становится, по определению.
>>2257673 Да прибудет с тобой мемори сейфети, да сохранит ядро от переполнений буфера. И распаралелит Линус свой код могучий, да отсосёт хуй шарпошиз потешный. Аминь.
>>2257674 Ну так это хуйня тогда, а не определение, потому как почти во всех ЯП стейтмент что либо, да возвращает и тогда все это разделение вообще не имеет никакого смысла. Очевидно, что если результат какого-то выражения всегда игнорируется, то это нихуя не выражение, а стейтмент.
>>2257691 Если уж копать в информатику для пориджей - кампуктэр сайнз, то if всегда является оператором/инструкцией/конструкцией. Выражение же это результат вычисление оператора. То есть, оператор никак не может стать вдруг выражением. Но всем насрать, создатели языков готовы насиловать терминологию как угодно, чтобы максимально рисануться.
Хз, по-моему, if с двумя ветками - это всегда выражение, а с одной - всегда стейтмет, потому как ни для чего, кроме как сайд эффекта по какому-то условию он не нужен и его результат тоже не нужен.
Если буду изучать через проект какой-нибудь, типа возьму actix_web или что другое и буду сервис пилить - норм будет? Просто не люблю нудятину в книгах, доках, видео. Столкнусь с чем-то непонятным - нагуглю.
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
Что за хуйня у раста со строками? Как нормально с O(1) временем получить доступ к энному чару?
> 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).
>>2260330 Педераст, я знаю что такое utf-8, как знают в других что такое строки и utf-8 в других языках. Как это знание поможет в "Здраститя" вытащить по индексу "я" с константным временем? > Если нужна ascii строка то просто юзай слайс байтов b"ascii str" Лол. Может еще в вектор конвертнуть предложишь, чтобы хранить каждый чар так, чтобы можно было по индексу взять его? >>2260332 Java, python и все остальные.
>>2260336 > Как это знание поможет в "Здраститя" вытащить по индексу "я" с константным временем? Это невозможно, и из за того что ты этого не знаешь, я тебя и назвал макакой > Может еще в вектор конвертнуть предложишь, чтобы хранить каждый чар так, чтобы можно было по индексу взять его? Если у тебя строка на heape то так и будешь делать
>>2260339 > Это невозможно И это возвращает нас к вопросу "Что за хуйня у раста со строками?". > Если у тебя строка на heape то так и будешь делать Смотри как можно если хранить строки как в нормальных языках массив чаров: "Здраститя".charAt(0) И никакого O(n), как в педерастии.
>>2260341 > это возвращает нас к вопросу Какого хуя ты макака ебаная не можешь загуглить что такое utf-8 > И никакого O(n), как в педерастии. У тебя в фантазиях
>>2260350 Так если тебе нужен массив unicode codepoint'ов, то используй Vec<char>. А если тебе нужен utf-8, то ты настолько даун, что просто иди на хуй.
>>2260341 >И никакого O(n), как в педерастии. И никакого UTF-8, как в расте.
>>2260350 Как ты себе представляешь константный доступ к символам (а не байтам) в кодировке, где количество байт у символа не константное? Открывай https://ru.wikipedia.org/wiki/UTF-8 и читай что такое UTF-8, либо съеби в закреп.
>>2260352 Ты знаешь что такое массив чаров? Раст твой первый язык программирования? >>2260353 Мне нужна обычная строка, которая поддерживает и ascii, и utf-8, а также констатнтный доступ к любым символам строки. Как авторы языка этого добьются - массивом чаров или воскрешением демонов меня ебать не должно. >>2260356 Почитай про реализацию utf-8 в любых языках поддерживающих константный доступ к символам.
>>2260362 Проорал с вайтишника вкатывающегося в программирование через жопу(педерастию) и не знающего никакого другого языка и поэтому не знакомого с реализацией строк и utf-8 не через жопу.
>>2260373 > Java A String represents a string in the UTF-16 > python тут в целом char как такого нету, только строки но если принесешь пруф что тут за линейное время доступ к utf-8 символам, то буду удивлен
Забавно как в таких говно языках как го и раст всплывают вещи о которых во многих других языках даже не задумываются.
В раст и го забили тупо на строки, это просто массив байт (кококо, не правда, утф8 ето!) и если тебе нужно в 2022 году (уточняю, не в 1960!!!) работать кроме латиницы, ты сосёшь, потому что строки это массив из байт, которые надо конвертить, чтобы сделать что-то по индексу. Про String::from("") вообще молчу.
Такая же шляпа с ошибками, авторы просто забили болт на обработку ошибки средствами языка, в го тупо сделали мультивывод (и теперь хер функцию как аргумент передашь), а в расте засунули в опшены. Ну и всякие говно паники. Конечно, в 2022 году мы пишем программы роняя приложение, как иначе, да? В общем, забив болт, они переложили обработку ошибок на программиста и вот обезьянки уже прокидывют ошибки по стеку, но главное не это (мартышки заслужили), главное что не стектрейса во время ошибки и пойми потом в миллионом приложение в каком контексте и где упала та или иная функция (отсутствие стектрейса вообще непригодно для разработки современных сложных программ).
>>2260436 > A String represents a string in the UTF-16 Педераст начал гуглить, но не догуглил и закономерно обосрался. Иди гуглить дальше, где дойдешь до реализации строк и какую роль в ней играют индексы utf-символов, как они хранятся и почему имеют константный доступ, что в педерастии не осилили. > тут в целом char как такого нету, только строки >>2260446 Ты хоть сам свою же ссылку читал? > It works by Unicode code points. > String indexing takes constant time
>>2260459 > Педераст начал гуглить, но не догуглил и закономерно обосрался. Иди гуглить дальше, где дойдешь до реализации строк и какую роль в ней играют индексы utf-символов, как они хранятся и почему имеют константный доступ, что в педерастии не осилили. У тебя кодировки разные шизло, у тебя каждый символ 2 байта занимает
>>2260462 > у тебя каждый символ 2 байта занимает И что?
Каждый символ это поинтер. На сколько байт он указывает зависит от указываемого символа и в принципе тебя не должно ебать в принципе. Ну, в языках со строками из 21 века.
>>2260482 Байтоеб, долго же ты скрывался, экономя символа строк. Ссу на педераста-байтоеба O(n) струей смачно обосравшегося пытавшегося найти в других языках такое же кривое говно вместо строк.
>>2260493 > весь мир сейчас на utf-8 сидит, с пробуждением так сказать И именно поэтому в языке придуманном в 21 веке работа с 99% строк (utf-8 строки) сделана через жопу на уровне 60 годов, цитируя анончика выше. > ну да, это я Ох, ебать, ты мало того дебил-байтоеб, так еще и мелкобуква. Впрочем, это все объясняет. Ты экономишь байты сообщения.
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
>>2260493 Кому ты там сэкономил? Как только надо в юникод перевести твоя строка начинает весить по 4 байта. В той же жабе/шарфе строки весят по 2 байта (что покрывает львиную долю юникода), это честный массив символов и не требует преобразования из сырых байт в юникод.
UTF-8 это экономящий костыль, созданный больше для отображения текста с упором на ascii, никак не для программирования (где практичен UTF-16).
Еще раз, в го и расте нет строк, это массив байт, который укладывается в диапазон ASSCII и чтобы получить символ в юникоде, надо конвертить в "руны" (какие нафиг руны еще).
>>2260187 >Объясните пожалуйста что такое этот tokio, Асинхронный рантайм >зачем он нужен, Затем же, зачем нужен любой асинхронный рантайм - делать всякое I/O heavy, и при этом не блочить потоки CPU. >чем лучше своих аналогов Токио - это глобальный комбайн и дефолтный асинк рантайм в расте. Благодаря этому вокруг токио куча либ на все вкусы, и он закрывает 99% юзкейсов. Ближайший аналог - async-std, но он сосал по сравнению с токио. >и почему пользуется такой популярностью. По той же причине, почему все используют std, а не core + #[no_std]. Закрывает 99% юзкейсов, куча литературы, куча либ.
>>2261122 Я думаю и чисто мое мнение, что раст не станет популярным. Раст не привносит новых решений. Все программирование сводится к работе с умными-поинтерами, как в том же С++. Но в том же С++ есть полноценное ООП, которое роляет (и есть вообще выбор, программировать с подсчетом ссылок или нет, а в расте подсчет основа, значит есть подобие сборщика мусора).
Борроу-чекер вообще деградирующая технология, которая мешает программисту творчески мыслить. Вообще все эти запреты в некоторых новых языках, какое-то модное безумие, которое уже показало непригодность (не нужно программиста считать тупым). Насколько он вообще нужен, тоже отдельный вопрос, если разработка все равно сводиться к подсчету ссылок.
В расте unsafe является частью разработки, то есть это не исключение как в какой-то джаве или шарпе, это прям элемент неизбежности разработки (поиск в гитхабе unsafe это подтверждает). То есть, само наличие и часто использование unsafe говорит об огрехах дизайна языка.
Мимо, взгляд с прикладного уровня. И да, игра раст не написана на расте.
>>2261185 >Борроу-чекер вообще деградирующая технология, которая мешает программисту творчески мыслить. Лол, о каком творчестве ты говоришь, если эти языки придуманы корпорациями для своих кодомакак? Им не нужно творчество, им нужен хотя бы рабочий говнокод и стая дешевый макак с одной извилиной, чтобы они аыполняли типовые задачи и любого из них можно было быстренько заменить. Толькл при таком раскладе они получают максимальное количество зеленых бумаг.
>>2261282 Где-то уже была статья, типа раст самый любимый сколько-то годов, а популярность в жопе (только в вашем загоне он популярен). И журналюга там опросили, оказалось, что там кодеры потыкали в хеллоуворд, начитались маркетинга, но, а позже случился тот самый "пук-среньк", точнее случилась знаменитая "кривая обучения".
Но растеры все дрочат на эту стату о любимом языке, которая технически вообще не дает никакой инфы, это просто заслуга маркетологов.
Назовем это "ржавым эффектом". Кодеры около-питона в своем сосничестве в престижном местном ПТУ натыкались в С++, наплювались. А тут им убивца С++, который почти как нормальный выглядит и вообще замена, вот люди любовь и проявляют, но на практике дальше чем потыкать палкой не выходит.
>>2261454 Этот эффект правда связан с тем, что людям хочется универсальный язык под все, но при этом не сложнее С++. Люди устали что для холодильников один язык, для кофеварки другой.
>>2261563 Нет, это значит больше интересуются людей, а в этой доле есть люди которые спрашивают на SO. Глянь тот же питон, казалось бы, что там еще можно спрашивать то.
>>2261643 Rc — это специальный тип, который специально сделан так, чтобы считать ссылки в рантайме. И его используют крайне редко, стандартные ссылки в расте (амперсанд и амперсанд mut) в рантайме не считаются.
>>2261853 Ну ты питухонерам, шарпистам и прочим жавистам не объяснишь, что если язык притендует на лоулевельность, то нельзя просто взять и сделать строки которыми все будут довольны.
>>2261549 Технический долг. Необходимость в новой версии, под которую нужно все переписать, а раз уж переписываем, почему бы не взять более лучший язык, ведь в го скоро выпустят новую версию и придется опять все переписывать.
>>2261999 Какую лоулевальность, тебя уже ткнули лицом в твой юникод, строки в расте это вектор по 4 байта. Это больше чем в жабах и шарфах. Какая экономия и лоулевельность, когда строки у вас сырые байты и для итерации по юникод символам (кроме аскии) надо преобразовать в юникод.
В общем, по итогу оказалось для множественного владения нужен сборщик мусора. Ну и к чему вообще весь этот сыр бор и вся это пропаганда? Если все равно приходится прибегать к урезанной сборке мусора. Кококо в С++ есть умные указатели - да, но они опциональны, а в расте надо выходить за unsafe.
Представили лица тех, кто вкатывается в супер-пупер зероабстракшен язык, а под копотом за всем этими базвордами получаем программирование со сборкой. А ведь это говно проходит по циклу каждый раз при выходе владений, это даже может иметь больше накладных расходов чем в том же свифте или языке Ди, где подсчет ссылок как-то регламентирован по времени.
>>2253780 (OP) Пару вопросов. 1. Существуют ли нативные компиляторы с раста под 16-битный дос, восьмибитные платформы? И нет, трансляторы через си я уже видел, это не подходит (проще на уж си накидать) 2. Пишут ли на расте игры(любого класса). Желательно с примерами. Полноценных игровых движков, я так понимаю, нет?
>>2263323 >там вроед пол команды съебало Кульминация попенсорса. И как теперь вообще доверять этой разработке если они могут по настроению или циклу менструации менять проекты. Какие гарантии что тут не убегут?.
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
>>2263574 Мань, маня заебали твои маневры. Речь шла про принципиальную возможность. Потом ты сказал что тебе нужны реальные примеры. Потом, что этого мало и что все покрывают такие то лицензии. Тебе привели принципиальную возможность в рамках одной из них. Теперь ты опять просишь примеры. Это будет до бесконечности. Просто иди нахуй, ебаный демагог.
>>2263579 Это местный шиз, он лазает по форумам и просто со всеми не соглашается и спорит. Был задетектен еще лет 8 назад в первых го тредах, у него жена пекла торты в каком-то мухосранске.
>>2263584 Я подобного видал в питонотреде, где-то месяц назад, объяснял местным какой у них язык говно)) Это похоже на то как сантехник говорит строителю что его бетономешалка говно, а его вантуз заебись
>>2263779 Сейчас бы сравнивать компании с законченными продуктами, которые тупо не выстрелили спустя N-времени и кучкой хипстеров, которые заскучали от очередных скучных обоев.
>>2263836 >завязался на законченный, коммерческий сервис в своём проекте >законченный законченный, коммерческий сервис из-за пмс кабанчика закрыли нахуй и ты пошёл с горящей жепой переписываешь проект под ор кабанчика
>завязался на незаконченный, попенсорсный проект >контрибьюторы незаконченного, попенсорсного проекта разбежались — форкнул, подправил что надо и сидишь спокойно пердишь
>>2263895 Кабанчик своей денюжкой рискует за качество продукта и если загнулся, значит говнина была (не вписался в рыночек). А хипстота просто поигралась и метнулась к свежим обоям. А потом эти влажные мечты о форке, где в реале надо дополнительную команду нанимать, чтобы чужой продукт не завонялся.
Так, кстати, получают эти топ попенсорсы донаты, бизнесу глубоко насрать на идею, возможно и владельцам тоже насрать на все кроме донатов, а вот счастливые макаки за бесплатно строчат код.
Но зло это пропритарное говно, которое честно оплачивает труд всех его работников.
>>2263926 >Кабанчик своей денюжкой рискует за качество продукта Да нет, кабанчику в целом похуй, главное пораньше на рынок выйти и чтоб картинка норм была. Потом — можно продать проект конкуренту покрупнее, что регулярно и происходит.
>А потом эти влажные мечты о форке, где в реале надо дополнительную команду нанимать, чтобы чужой продукт не завонялся. Ну так и не тащи настолько сырую хуйню в проект, дебил.
>Так, кстати, получают эти топ попенсорсы донаты Ну получают и получают.
>Но зло это пропритарное говно Спок, школьник. Я просто ткнул тебя ебалом в проблему закрытого кода, на который ты надеешься втаскивая его в свой проект, и не собираюсь участвовать в твоей зумерской драме "попенсорс вс кабанчики".
>>2263939 >Ну так и не тащи настолько сырую хуйню в проект, дебил. Поэтому отказался от раста. С борщем может еще и зайдет, но лично для меня чуда не произошло, автору не хватила совести закрыть проект, когда уперся во множественное владение.
Так долго компилируется только первый раз? Я взял либу, которая пополам с сишкой, билдю с ней хеловорд и очень долго это происходит. Так будет постоянно или только первый раз?
Не пойму почему паника. Использую clap 2.33.0, такая конструкция
.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
>>2264884 Не юзал эту библиотеку, у тебя скорее всего возвращается Option<T> который возвращает Some(T) если аргумент есть, а если нет, то None. Метод unwrap() у Option проверяет если Some, то отдает результат, если None, то падает с паникой. Если тебе нужно продолжать работать при отсуствии аргумента и когда Option возвращает None, то его нужно обработать, например при помощи match.
>>2265210 На руки. >>2265211 Эмм... разница огромная. С деньгами в Саратове не очень хорошо. Что хорошего в Саратове? Лучше всего жить там, где живут самые богатые люди по своему выбору (на борту своей мегаяхты).
разрабам столько не платят ну переедет он в европку, и что? в саратове он миницарек, который вообще не считает деньги, может быть даже имеет личного водилу и домработницу. а в богатой европке сантехник будет зарабатывает ненамного меньше и ему придется ужиматься.
а есть здесь кто, кто не просто фанатеет от раста, а работает на нем?
при поиски вакансий исключительно всякая крипта, а у меня ощущения, что все это дичайших скам.
стоит заморачиваться, и подучить то, как работают блокчейн и прочее и перекатиться целиком в раст? или ну его, и просто пилить пет-продежекты? может еще где-то раст нашел применение, а я слепой?
>>2265232 В Саратове домработница его обворует, а водила вывезет в лес подписывать документы и копать себе могилу. В богатой Европке он проживет очень качественно на 15к/мес, это раза в 4 больше среднего. Доживет без забот до 100 лет.
>>2265255 Если нет убеждений что зашкваришься скам-криптой, то почему бы не изучить ее и не поработать пока бабло платят? Перекатишься потом в другую область, не проблема
Порог входа конечно пиздец прям. Сидеть нужно за докой недели две. Понравился язык, написал стандартные хэлоуворлды. Недавно увлекался деревьями, решил быстро накидать префиксное дерево, пососал хуяку. Ну думаю, это пока сложно, спустился до обычного бинарного дерева, понял, что тоже ещё рано. В итоге забил хуй и за час запилил на плюсах, при том что на них почти не пишу.
Есть какие нибудь род-мапы? Чтобы учить язык с минимальным зубрением?
>>2265468 >Есть какие нибудь род-мапы? Чтобы учить язык с минимальным зубрением? Нене, у тебя отлично получается. Просто пишешь на языке, который уже знаешь — так обязательно выучится.
>>2265468 Непонятно в чём проблема написать дерево. Всякие листы и графы тебя в рот выебут, а вот деревья в расте вообще не проблема, либо ты что-то делаешь не так.
Я пишу в vscode, использую такие штуки (не знаю как оно называется) #[cfg(feature="ololo"))] fn main(){} и
#[cfg(feature="azaza"))] fn main(){}
то есть у меня две функции main. vscode сыпет варнингами что нет главной функции, но если добавить заглушку в виде fn main(){} без cfg, то компилироваться не будет. Как сделать чтобы и варнинги не сыпало, и компилилось без постоянного удаления-добавления main() ?
В расте существует способ прямо в енумах задавать имплементацию полей при объявлении? А то вместо енумных стратегий сплошные матчи через матчи в impl начинают утомлять.
Ну то есть enum PenisType { Dvacher(4), Human(17), Negor(1488), } Где цифры это поле которое можно на варианте енума получить к примеру через penis_type.get_length().
>>2265554 Если у тебя раст-аналузер, то там где-то в недрах можно включать фичи для подсветки, но точно не помню, не пользовался никогда. Посмотри в доках. А если не раст-аналузер, то тебе ничем не помочь.
>>2265569 > fn get_length(&self) -> usize { > match self { / go brr / } > } Ну я так и пишу, но чет уже охуел от этих матчей. > Есть вариант сделать константы, например > > impl PenisType { > const DVACHER_LENGTH: usize = 4; > } Та один хуй нужен иф.
А нельзя при объявлении полей сделать значение по умолчанию для поля? Ну типа вот так: enum Shit { Govno{ voniuchest: &str = "oche"} }
>>2265588 Удивительно как язык яростно сопротивляется ООП, а так же вещам которые есть в других современных языках (значение поля|аргумента поумолчанию). Ладно, спасибо.
>>2265630 Ну зная чем занимались его авторы 10 лет — он был мертворождённым потому что им изначально занимались долбоёб дрочащий на милисикунды в в компиляторе и такой же, дрочащий на кучу микрофишек в языке.
Они concurrent gc с D1 портировали 10 лет, и так и не закончили режим nogc, спустя хуй знает сколько лет, лол.
>>2266410 Таки да, любая автоматическая сборка памяти это ГЦ, а то что там как-то как-то представляет в своей маня-фантазии уже не важно. Раст язык со сборкой мусора, так как нет безопасного решения со множественным владением как через автоподсчет ссылок (кстати проект верона поэтому и был создан, чтобы решить эту проблему, но вроде закрыли уже или сказали что закрыли).
Так как нету по дефолту ручной работы с память, борроу чеккер тоже теоретически можно отнести к сборке мусора
Если бы мне сразу указали про проблему со множественном наследование и что решается через сборку мусора (подсчет ссылок), я бы не получил эффекта что меня обманули.
Можно было сказать нечто типа, что раст язык без ГЦ, но местами есть исключения, где, скажем, множественного владение решается только через подсчет ссылок. И я бы читая раст знал об этом. Но в реале словил фрустрацию, мне залили в уши про зеро-абстракшен, а тут и массивы проверяются рантаймом и вообще, писец, есть подсчет ссылок.
Как, вы пориджы, хотите на вранье популизировать продукты?
>>2266423 >Его нигде нет, добро пожаловать во взрослый мир Пришло поколение зумеров, которые думают, что через ложь можно продвигать технические продуты, как обычные.
>>2266438 >люсы уже сколько десятков лет свой зеро кост абстракшен продвигают, что то никто не бухтит на этот счёт А че стал в массивах диапазоны проверять?
>>2266532 >Может кто рассказать, почему мозила отдала раст в фонд? Имхо, чтобы заработать себе очков доверия среди попенсорсеров и ГНУтых. Логика, примерно, такая: Если раст принадлежит корпорации, то он плохой. А вот если он принадлежит "независимому" фонду, то он хороший и можно тащить в ядро. Вот здесь можешь почитать претензии к расту от борцов за свободу: https://wiki.hyperbola.info/doku.php?id=en:main:rusts_freedom_flaws Эти чуваки начали хардфорк ядра openBSD, чтобы свалить с прогнившего линукса.
>>2266532 >Может кто рассказать, почему мозила отдала раст в фонд? Потому что пришла новая директор_ка и начала оптимизацию, дропая все проекты, не относящиеся напрямую к зарабатыванию денег. Был ещё срач что она себе премию выписала какую-то конскую после увольнения чуть ли не трети мозиллы, кек.
>И, собственно, как сейчас раст себя чувствует в фонде? Нормас, они даже амазону отказались продаваться. Т.е. со спонсированием, походу, всё ок.
>>2266685 > Был ещё срач что она себе премию выписала какую-то конскую после увольнения чуть ли не трети мозиллы, кек. Не, ну ей нужнее. Она же не хуемрась - белый программист расист.
Треды раста на сосаче прокляты нахуй. То траподрочеры по несколько тредов подряд срутся. То шарпошиз набегает и остальные сумасшедшие за ним, хотя до весны ещё далеко вроде. То какие-то залётыши с пикабу.
>>2266770 Я бы назвал это низкоуровневым синтаксисом, а вот зачем из пхп туда лезть, я хз, твой пхп 95-99% сидит ждет ответ с базы. Что ты там ускорить собрался?
>>2266770 Тупой вопрос, но сил нет гуглить. Могу ли я добавить своим методы, скажем к String. Могу я расширять, или это доступно только создателю структуры? Типа impl String { ... }
>>2266770 > Как перестать охуевать с синтакциса? Никак, это твой первый язык программирования. Первый язык программирования всегда тяжело идет, если у тебя до этого не было опыта программирования.
Что сначало изучить чтобы приступить к изучению Rust? Возможно Java? Немного работаю тестировщиком приложений на Rust и хочу понять как все это работает
Как складировать несколько файлов в каталоге и импортировать их? Т.е. у меня main.rs есть и рядом с ним каталог example, в котором mod.rs Из мейна испортится через mod example и example::some_method() Но не складывать же всё в mod.rs Как это организовывается?
>>2267234 Если нужно добраться до модуля hui, который вложен в модуль zalupa — добавляешь pub mod hui в mod.rs модуля zalupa, и так рекурсивно. Модуль в расте — единица инкапсуляции. В тех же плюсах и ко чтобы такое смастырить придумаля pimpl и и иже с ними.
Раньше изучал java, потом забросил. Сейчас немного поизучал раст, потом посмотрел и java несложной смотрится. Вот думаю пройду в java методы, и тд и займусь растом
Стоит ли перекатывать треды после 500-го поста, чтобы они сверху плавали? Или оставить как у крестовиков? Алсо, накидайте картинок для переката. мимоОП
>>2271982 >Стоит ли перекатывать треды после 500-го поста, чтобы они сверху плавали? Да, иначе тред хуй найдёшь, если не капчевал до этого с этого девайса.
>>2271982 Ты не заметил, что как тред перекатил за 500, он буквально стух сразу. Это тебе не жаба или шарп или жопоскрипт, где будет флуд еще на 2000 посте.
>>2272103 >Сейчас раст начнут реально использовать Не начнут. Так и останется полунишевым говном, которым половина буде хвастаться, что прочитали растбук, еще четверть будут гордиться что прочитали растбук и говорить, что они пироды в придачу и еще четвертая часть что-то может и будет пилить, но насильно продвигать раст даже туда, куда и нет необходимости.
>>2280434 В расте очень умный и безопасный компилятор, он видит что ты хочешь распечатать номер телефон и поэтому шифрует его в псевдографику, чтобы злой спамер не украл номер.
я в код не заглядывал, помню посты автора о том, как он боролся с отсутвием libc и стандартной библиотеки раста. думал и загрузчиком он справился без других языков
кстати, а вч ем вообще проблема сделать загрузчик без асма? если забить на старье и работать только с uefi - вроде там можно даже на плюсах запуститься или я никуя не знаю?
>>2281850 Ты можешь написать 100 строк на расте, 1к на языке ассемблера и 10к строк тестов на расте. Вопрос, на сколько процентов будет занимать раст, если не учитывать вспомогательные тесты/примеры? Щас ты пернешь снова, что низя несчитать без тестов.
>>2281851 Ты можешь написать 100 строк на расте, 1к на языке ассемблера и 10к пустых строк на расте. Вопрос, на сколько процентов будет занимать раст, если не учитывать вспомогательные комменты/пустые строки?
вспомогательные тесты) ну захотел написал, не захотел полностью без тестов пишешь, обычная практика
>>2281860 Когда бутлоадер будет работать, в какой момент твои тесты будут запускаться в момент его работы? Поссал на ебало чмохену, который обосрался, но не отступает. Да-да, тестошиз, это ты
>>2281900 >>2281830 Действительно, обоссан и не капли мимо, хватит маневрировать. Достали уже самоутверждаться на анонимном форуме, будьте инженерами, а не философами
>>2281900 Понял тебя, весь код который не запускается во время продакшена не в счет Кого только в этом треде не встретишь конечно можешь им написать, чтобы код из тестов не считали и не вводили людей в заблуждение!
>>2282035 Кусок говна, это когда последовательность надо конвертиртить в итератор, потом сделать один раз пук и снова конвертить в последовательность numbers.into_iter().map(|num| num.to_string()).collect(); Можно же было сделать так?? numbers.map(|num| num.to_string());
Да еще эта точка с запятой, это точно не ЯП из девяностых? Когда мозгов не хватало написать компилятор, который бы мог определить конец выражения.
>>2282506 Найс у маньки бомбануло аж своими сосисками по комменту промахнулся.
>numbers.map(|num| num.to_string()); И какое у этой хуйни должно быть поведение? Как оно должно работать с боров чекером? numbers должен быть перемещён в скоуп замыкания или остаться доступным только в этом скоупе? Как оно должно работать с мутабельностью? Ты хочешь иметь мутабильные/иммутабельные ссылки?
>>2282532 >Кококо скоуп, кококо борроу чекер Нахер это все нужно, если программы на расте не достижимы? То есть, без unsafe или сборки мусора (Rc), нельзя растом покрыть 100% потребностей системного языка.
Вот мы и видим только пет-программы, или утилиты консоли баша. Этот язык нужно было закрыть на уровне эксперементов, когда уперлись в то, что недостижимо написать программы в парадигме языка. Зачем этот баран-чекер, если он влияет только на хелло-ворд??
Привет, растаны. Помогите понять как мне конвернуть строку > let shellcode = String::from("\x1\x97\x7C\0\0\0\0\0\0\0\0\0") в байтики чтобы записать их в TcpStream.
Заметил, что в языках без ООП код читается лучше. Может потому что мой первый код был когда-то в процедурке, хз, но явно без ООП абстракции размазывают меньше.
> В ночь на 3 февраля кроссчейн-протокол Wormhole на базе Solana подвергся хакерской атаке. Злоумышленники воспользовались эксплойтом и вывели из пула проекта 120 000 WETH (свыше $319 млн по курсу на момент написания). https://twitter.com/CertiKCommunity/status/1489048459445424129
>>2285729 Ну бля, тебе же компилятор прямо в ебало ошибку выдал, подчеркнул что не так и рассказал как можно. У тебя e0 - это 224, а ascii хексы идут максимум до 7f, потому что в ascii 128 знаков. Если тебе нужен байт со значением 224, ебани массив байтов, а не строку.
>>2286253 >The instruction does not perform complete verification on the correctness of the input Раста конечно. Компилятор должен был дать пизды и заставить валидировать ввод в компайлтайме.