Опубликован релиз языка системного программирования Rust 1.52, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...Подробнее: https://www.opennet.me/opennews/art.shtml?num=55098
C++
Да
Нет
Очередной убийца Си
Единственный настоящий.
Очередной идинственный и настоящий убийца. Дадада.Расскажи это моему ржавому заду.
И смотри с этой заразой. Не подхвати, потом от гемороя не избавишься.
> Очередной идинственный и настоящий убийца. Дадада.
> Расскажи это моему ржавому заду.
> И смотри с этой заразой. Не подхвати, потом от гемороя не избавишься.Слово "РАст" в русском, славянском, на санскрите и прочих арийский и ведических диалектах имеет сакрально-позитивный смысл.
РА, РЖА(ной) - рожь/раж/жра(ть)
с другой стороны, про металл:
руда, рдеть, кРАсный"металл" - это смерть "люди гибнут за металл" (С)
"ржа" - это жизньДа, это заРАза - РА за РАз.
Это "зараза" ЖИЗНИ на "металле"!Для кого-то это плохо, иммунитета нет - ну и в карантин их!
Так что c РАст все хорошо!
Ну что-то слабенько в этот раз. Хотя с массивами прикольная штука
В следующий раз поломают, просто надо немного подождать.
Растаманы обеспокоены дырами в webrender-е FF, который написан на расте. Срочно латают.
а такими-то достижениями за неплоных 10 лет"в том числе стабилизированы методы:
char::MAX"долго придётся латать
Вы нипанимаите, это скрам! Аджайл!
ржачники заняты ублажением торвальдса - им неимётся обратить пингвина в свою ржачную религию. по-этому на этот раз мало что для пользователей.
> ржачники заняты ублажением торвальдса - им неимётся обратить пингвина в свою ржачную
> религию. по-этому на этот раз мало что для пользователей.ну убийцей Сей и Крестов Расту стать не удалось
ну так может хоть убийцей Kernel станет
чё, хоть и отрицательное, но тоже достижение
зависть
милосердие
ну пока все петросяны на ставке на опеннете, кому-то приходится выбирать и приоритизировать - сил на все не хватает
Да неважно о чем новость, при рекламе сомнительного товара главное чтобы новость БЫЛА как можно чаще.
DFinity запустила боевой (бета) майннет. В альфе это была локальная симуляция виртуального IC. А теперь уже ноды в нескольких ДЦ нескольких стран. Все серьёзно команда там бомбическая, денег тоже как грязи от Андрессен Хоровитц фонда.Долистайте презу до 14 страницы и посмотрите что они устраняют как "явление прошлого" для end-users/developers. Tamperproof/Whitebox computing.
Ну или если осилите 3.5 часовую презу для ультрагиков -
https://www.youtube.com/watch?v=xiupEw4MfxYС переводом =
https://www.youtube.com/watch?v=Vta8CPIkk8s
Да, хотел сказать то по теме (и забыл).
Что у них любой язык (который компилит в WebAssembly) для из виртуальной машины в канистре (Canister) по их понятиям.Но из сторонних (кроме своего нативного Motoko, скроенного под них изначально с упором на концепцию микросервисов Actors) - педалят Rust.
Раз у них столько бабла, то пусть сначала занесут интелу, а то в 2к21 простой переход по двойной ссылке через вебасм опасен потерей компа.
Я так понял они и это придумали. У них нельзя пока просто так стать домашней hardware нодой. Это только для крупных игроков уровня ДЦ. У них кастомные сервера с видимо доп сетапом, возможно поддержкой ECC защиты памяти, которая устраняет большую часть последних уязвимостей на корню, плюс какие то сетапы в стиле SGX наверное и прочие контроли изоляции и целостности.Подать заявку может любой ДЦ, для полноценной имплементации ICP.
Сообщество в целом, может голосовать за любые предложения это часть протокола.
Центр де юре foundation проекта в Цюрихе.
Так что там не дураки и все в курсе последних бед с процами. Именно поэтому система не теоретическая а именно практическая.
Сейчас бетка и они все выпустят в открытое плавание по части инфы.
Вот с 2016 года они только на днях полностью открыли все исходники самого интернет компьютера.
Попозже видимо и про железки будет. Нефиг пока дарить идеи на ранней стадии, пусть проект наберёт силу.
На поздних стадиях когда они обкатают, то
Как кто-то может что-то писать с таким синтаксисом? Не понимаю)
Так никто и не может)
Здесь ключевой момент именно ваше личное непонимание,
а не общественные проблемы с синтаксисом.ЯП - это такая вещь, которую нужно понимать, а не языком пересказывать, как вы это привыкли на вашем любимом "синтаксисе". И копипаста тоже здесь вам не поможет. Одна горе для вас здесь... Можете лишь тявкать из-под калитки.
Приятнее синтаксиса ЯП не видел!
Nim глянь
Какие тут желчные неосиляторы. Каждый положительный комментарий в сторону Rust Language топят в минусах.
После C++ это просто радость для глаз.
Вот да, дюжину вкусноты этому господину
Вот да, дюжину вкусноты этому господину
После C++ на это смотреть не возможно.
После C++ это не нужно.
После Rust C++ - это деградация (личный опыт)
Скорее всего наличие в данном опыте деградации от языка программирования не зависит...
> После Rust C++ - это деградация (личный опыт)не уверен что личный опыт деградации у тебя связан с C++, Rust или вообще каким-то языком
уверен, ты даже не поднимался до такого уровня, с которого можно деградировать, чтобы что-то про это рассказать "из личного опыта"
невозможно пишется слитно
> невозможно пишется слитноа вот если бы комментарии писали на Расте, таких дыр можно было бы избежать
Два сапога пара
Скорее всего смотря что делать.Решил я для ознакомления с Rust сделать двусвязный список со статическим размещением элементов и без их предварительной инициализации.
Если коротко - в си это просто. в rust это страх, в котором еще ошибку сделать на раз-два.
Буква "с" в 10 слове предложения - лишняя.
А еще сложнее задачу придумать не мог?
Пиши хелловорлд и не выпендривайся)
Одной строкой ;)let mut slist = vec![];
>let mut slist = vec![]А вставка миллиона элементов в начало списка длиной в миллион элементов много времени займёт?
A это не важно, главное хруст.
В стандартной библиотеке Раста для быстрой вставки в начало вектора есть специальный Vec растущий в обе стороны - VecDeque, но быстро добавлять элементы в середину он не даёт. Так же есть и связный список. Но эти все виды коллекций автору нельзя использовать, потому что они требуют аллокатора памяти, которого на его микроконтроллере нет.
Не подходит, я видел как этот перец спрашивал как сделать его связный список.У него уже есть весь рабочий код на C, из него он выбрал двусвязный список чтобы попробовать раст. Поэтому кусок на расте должен идеально повторять C. Это должно быть именно массив из структур содержащих сырую память и два указателя допускающих nullpointer-ы.
Я не настоящий сварщик, только говорят что все эти штуки очень не подходят для rust. Вне unsafe использовать неинициализированную память, нулевые указатели, и иметь по две изменяющие ссылки - нельзя.
То есть написать двусвязный список без всяких извращений невозможно ?
То есть написать двусвязный список без всяких извращений невозможно ? - у меня не получилось. можно залезая в nightly сделать незначительно получше, но корень проблемы не исправляет.В таком виде работает - посмотрел disasm вроде бы ничего криминального.
https://github.com/egan-ru/tesseract_ll/blob/main/src/klle.rs
Ну это же читать невозможно.pub unsafe fn addt(&mut self, new_tail : *mut klle_t<T>)
{
let ll : *mut klle<T> = (*self).ll.as_mut_ptr();
let ntail : *mut klle<T> = (*new_tail).ll.as_mut_ptr();
let otail : *mut klle<T> = (*ll).prev;
Лютый п..дец. На 'этом' реально кто-то пишет ?
Поэтому кусок на расте должен идеально повторять C - когда были продуманы основные алгоритмы, то естественно была оглядка только на возможности типовых МК, в которых это всё применяется(грубо говоря дальше ISA load/store архитектур никто не думал).Оказалось, что в Си нет проблем для того, чтобы работать с этим и особых знаний для реализации не требуется.
Оказалось, что в rust в лоб такие вещи решаются плохо и требуются нетривиальные знания, которые сложно нагуглить, их нет в примерах и даже скорее непонятно как искать.
Надеюсь летом довести основные алгоритмы до POC на rust. Чтобы так сказать понять, какая часть нормально, какая часть плохо.
> Оказалось, что в Си нет проблем для того, чтобы работать с этим и особых знаний для реализации не требуется.Требуется.
1. Люди до сих пор верят в превосходство списков по скорости, например. Когда берут бенчмарки, очень удивляются. Чтобы писать хорошие программы, надо очень хорошо понимать происходящее, и мало для этого прочитать Кнута.
2. Около двух третей багов, которые находят в программах -- это тупые сишные баги, которых rust позволяет легко избежать, так что "особых знаний не требуется" -- это иллюзия. Не требуется знаний, чтобы написать бажную реализацию. А вот чтобы безбажную... Вон, тут намедни была новость о том, что аудит ~400 патчей в ядро выявил, что ~40 из этих патчей было бажными. Хехе. "Не требуется знаний", ага, угу. Точно-точно. Интересно, сколько багов они пропустили в процессе этого аудита.
> Оказалось, что в rust в лоб такие вещи решаются плохо и требуются нетривиальные знания, которые сложно нагуглить, их нет в примерах и даже скорее непонятно как искать.
rustonomicon, и "rust with entirely too many linked lists". Или тебе хочется исключительно safe-кодом? Но safe-кодом, ковыряя какие-то заморочные алгоритмы, ты скорее всего утонешь в Rc, RefCell, и Option, которые будут многократно вкладываться друг в друга. Оно можно, конечно, но если твоя цель понять что такое rust, и как им пользоваться, то ты не забывай: когда ты многократно вкладываешь Rc, RefCell и Option друг в друга, ты пользуешься им не так, как им следует пользоваться. Это может быть и полезно для учебных целей, но есть другие, более простые способы освоить раст, чем писать код, который ты через две недели выкинешь, потому что поймёшь, что он бред.
Я б лучше порекомендовал, взять и написать что-нибудь, опираясь на библиотеки. Никаких unsafe'ов, никаких "статических данных" (в смысле никаких глобальных переменных, только константы, и то, только когда очень нужно). А потом, когда борроу-чекер въестся в мозги, и ты не запуская компиляции будешь предсказывать где и на что борроу-чекер начнёт ругаться, вот тогда, ты сможешь в документации к какой-нибудь знакомой библиотеке тыкнуть на ссылку src, возле функции/типа, которые делают что-то, что тебе непонятно как делать, и посмотреть как другие делают. В частности, это очень хорошо работает с std, я очень люблю читать её код, он очень поучителен. Это гораздо образовательнее, чем изобретать свои велосипеды.
Опыт C плохо ложится на rust, потому как impedance mismatch. Например, в C, работая со строками, ты будешь жонглировать ими как массивами байтов, и потом, в самых внезапных местах, ты будешь сталкиваться с тем, что не любой массив байт является валидной utf8-строкой, и тебе надо будет с этим как-то жить. В rust'е, массив байт преобразовывается в &str (ну или в String) где-то возле того места, где этот массив байт читается из файла, и именно там будут вылетать Utf8 ошибки, и именно там ты будешь их обрабатывать. Во всех остальных местах программы ни ты, ни std даже париться не будете о том, чтобы проверить валидность utf8: они гарантированно валидны, потому что проверены. Причём это будет касаться и подстрок тоже: любая подстрока будет гарантированно начинатся и заканчиваться на границах символов.
То же самое работает с указателями: в C ты указатель проверяешь на NULL в рандомных местах программы -- иногда при получении этого указателя от внешних API, иногда перед разадресацией, иногда совсем ни к селу, ни к городу, -- в rust'е ты проверяешь raw-указатель на NULL перед преобразованием его к нормальному указателю, что происходит скорее всего где-то возле того места, где ты получил этот raw-указатель. Во всех остальных местах проверки на NULL оказываются не нужными. Причём не только явные проверки не нужны, но и неявные тоже. Всё это довольно странно меняет ситуацию, и лучшего описания этому, чем impedance mismatch, я не знаю. Поэтому, пока ты мыслишь сями, ты будешь спотыкаться в rust'е на каждом шагу и борроу-чекер будет твоим врагом, а не другом.
То же самое работает в любой другой ситуации: любой объект валиден, потому что валидность его была проверена при создании. И каждое изменение объекта производится таким образом, чтобы не нарушить валидность. В то время как в C, объект может быть невалидным (просто куском неинициализированной памяти, например), и он может "внезапно" терять валидность. Внезапно для тебя, потому что, например, ты где-то недостаточно хорошо понял API, которым пользуешься. Отсутствие таких требований в C упрощает написание программы, которая скомпилируется, упрощает до того уровня, что реально никакой квалификации не надо, чтобы написать. Но с другой стороны, это резко усложняет написание программы, которая корректно работает.
И поэтому, лучше начинать не с реализации алгоритмов и структур данных из учебника, а с высокого уровня, когда ты пользуешься уже готовыми реализациями этих алгоритмов и структур данных. Вот когда ты свой импеданс подтянешь под rust'овый, когда ты поймёшь, что borrow-checker тебе не двусвязный список мешает сделать, а ругается на то, что ты потерял информацию о владельце объекта, или на то, что сейчас ты создаёшь две мутабельные ссылки на объект, открывая простор для data race, вот тогда.... вот тогда можно и своими структурами данных заняться.
Люди до сих пор верят в превосходство списков по скорости - об этом речь не шла. речь шла о правильности алгоритма.Очевидно, что если мне нужен какой-то алгоритм, то я сделаю именно этот алгоритм.
"Не требуется знаний", ага, угу. Точно-точно - это не имеет отношения к поднятому вопросу и я не готов обсуждать квалификацию и сложившиеся обстоятельства, которые привели в такому положению дел.
Вполне себе может быть, горели сроки и надо было срочно делать большой объем работы, при этом не хотелось бросать в подвешенном состоянии какую-то проблему - не удивительно, что какое-то вещи были плохо проверены.
Или тебе хочется исключительно safe-кодом? - нет. зачем мне safe, когда я об этом не просил?
потому что поймёшь, что он бред. - я проверил. возможно и работает. плохо, что пользоваться неудобно. а так - связный список, обернутый в MaybeUninit обернуты во wrapper. Если допилят unnamed fields и добавят существующие возможности nightly в stable станет гораздо лучше.
очень хорошо работает с std - часть функциональности, реализованная в std требует nighly для сборки. И да, естественно, я прочел всё, что смог найти по данному вопросу.
Например, в C, работая со строками, ты будешь жонглировать ими как массивами байтов - в Си нет массивов, как таковых. там только указатели. в целом в си очень простая и ограниченная функциональность. даже области видимости фактически только в полях структур.
То же самое работает с указателями: в C ты указатель проверяешь на NULL в рандомных местах программы - только в тех местах, где это нужно. где не нужно - не проверяю.
в rust'е ты проверяешь raw-указатель на NULL - в rust я смотрел disasm - можно точно также сделать, чтобы он без проверки всё, что надо преобразовал. фактически можно точно также работать с сырой памятью как и в С. муторней только. хотелось бы, чтобы попроще что-ли как-то.
Поэтому, пока ты мыслишь сями - еще раз повторяю, никто с не думает. на С просто реализовывать любые алгоритмы. хотя и не все - часть проще писать на asm.
когда ты пользуешься уже готовыми реализациями этих алгоритмов и структур данных - я привык начинать с начала, а не с середины. начало в моем понимании это то, что Вы называете алгоритмами из учебника.
> Поэтому, пока ты мыслишь сями - еще раз повторяю, никто с не
> думает. на С просто реализовывать любые алгоритмы. хотя и не все
> - часть проще писать на asm.Если ты так думаешь, значит ты думаешь на C и не умеешь думать ни на одном другом языке, вот и всё. Тебе просто не с чем сравнить, поэтому ты думаешь, что твой способ мышления единственно продуктивный.
> когда ты пользуешься уже готовыми реализациями этих алгоритмов и структур данных
> - я привык начинать с начала, а не с середины. начало
> в моем понимании это то, что Вы называете алгоритмами из учебника.А, ну да, догматизм. Продолжай как знаешь, это твои проблемы, а не мои.
А, кстати, цитировать бб-кодами, вместо предлагаемого форумом формата -- это тоже, потому что тебе кто-то в детстве сказал, что так правильно, и теперь тебя ничто никогда не переубедит, что можно по иному? Догматизм головного мозга?
ты сравниваешь теплое с мягким - хруст надо сравнивать с цпп, а не с голым си
> ты сравниваешь теплое с мягким - хруст надо сравнивать с цпп, а
> не с голым сиКому "надо"? Я пытался разобраться с C++, чтобы уметь сравнивать раст с ним, но меня стало неудержимо рвать. Я прекратил попытки и больше не пытался. Так что с C++ я не могу сравнивать. Не, ну если ты хочешь, я могу уподобиться местным критикам rust'а, и в том же стиле поливать жидким стулом C++, не зная C++. Но толку-то с этого?
Никакого отношения к связному списку это не имеет. Это алгоритмически другая структура.
Технически на базе массива возможно реализовать некоторые варианты списков, если использовать вместо указателей индексы элементов (оптимизатор же огого и выкинет лишнюю арифметику). Это не секрет и в литературе описано. Потому иногда читаю войны вокруг списков, в надежде увидеть подобное предложение от знатоков Rust. Но после "Одной строкой", наверное, нет смысла ждать.
Можно выкинуть часть указателя, договорившись что все данные списка лежат рядом.Но это просто секономит место. Простоты не добавит.
Замена указателя на индекс не позволит уйти от unsafe?
указателя на индекс не позволит уйти от unsafe - в общем случае нет: Вы неизбежно столкнетесь с фактом, что только 2 raw pointer могут указывать на один адрес. И это unsafe. И union unsafe. И вообще куча всего unsafe.Более того - я не хочу уйти от unsafe. Мне ясно, что это всё unsafe. Я гарантирую, что всё это проверено и работает - для этого я пишу тесты.
Я всегда хочу просто чтобы алгоритм работал прозрачно. Если за синтаксисом не видно алгоритма это плохо - это неизбежно ведет к ошибкам. Рано или поздно, так или иначе.
Сама ситуация выглядит странно. Насколько я понял, исходно Вы не специалист по Rust, решили проверить возможности языка, но возникли вопросы. Казалось бы, уместно возникнуть ответам от знатоков с примерами реализации, пусть и не 1 в 1 подходящих под исходные требования. Вместо этого предлагают кардинально иное и объясняют, что списки не нужны. А ответы с кодом пишите Вы сами.
> После C++ это просто радость для глаз.особенно когда анон в глаза C++ не видел (а о существовании 11/14/17/20 даже не подозревает)
Каким?
Синтаксис как синтаксис, разве что слегка отличается от совсем типичного
А мне Lisp нравится! ;)
Лисп - божественный язык. Как он может не нравиться?
FORTH таки лучше! :PPS. Жаль что практически помер.
На Python'е же пишут.
Ждем жертву маркетинга фрактала, он там расскажет за безопасность.
А что там рассказывать? Безопасность отменная, крупные компании выбирают Rust.
Нет не выбираеют. И не выбирут. Крупные компании делом занимаются а не сопли жуют.
Гугл для вас не достаточно крупная кампания? Они блютус стек на расте написали, и планируют ещё больше.
Но не внедрили это эксперимент.
> Нет не выбираеют. И не выбирут. Крупные компании делом занимаются а не сопли жуют.И правда, какие-то нонеймы как гугл, микрософт, фасебук, клаудфлер - куда им до мега-коропрации "Anonim@Divan"!
Ты не поверишь, но там вообще все языки используют. И даже у них ничего дельного на расте пока не получилось. Но в глазах фанатиков FAANG в полном составе все свои проекты на раст.
>> Нет не выбираеют. И не выбирут. Крупные компании делом занимаются а не сопли жуют.
> Ты не поверишь, но там вообще все языки используют./0
> И даже у них ничего дельного на расте пока не получилось.
>> Firecracker is an open source virtualization technology that is purpose-built for creating and managing secure, multi-tenant container and function-based services.
>> Firecracker is used by/integrated with (in alphabetical order): appfleet , containerd via firecracker-containerd , Fly.io , Kata Containers , Koyeb , OpenNebula , Qovery , UniK , and Weave FireKube (via Weave Ignite )./0/0
Если бы хоть одно из этого длинного списка названий было нужным - я бы на ноль не поделил.
Но да, /0
Раньше я был не в безопасности а теперь я с безопасным рустом и теперь я в безопOut of memory: process killed
Хаааааа, классика. Два чая господину.
Надо так: "Выпуск языка для создания сферичиских коней в вакууме Rust 1.52"
Выпуск языка для создания повышенной температуры седалища опеннетных экспертов всего и вся - Rust 1.52
> языка для создания повышенной температуры седалища опеннетных экспертовХрустоманы, хорош языками впустую чесать, седалища опеннетных экспертов сами себя не нагреют! 👅🍑
бездарности в панике, не знают что бы такое обидное сказать
- только еще больше сам себя обиженными чувствуете от каждого вашего же слова,
сообществу Rust наплевать на вас и ваше мнение
Илон Маск Рустоманов сажает в ракету SN15 и они у него отлично летают.
А я всё жду когда в новостях про Rust будет:Научились рабоать с памятью.
Всё жду жду, а они бедняги никак не осилят.
Ну так давно научились, не?
Я посто жду метаклассов в с++ и библиотеки что экранирует вcе указатели в RAII. И все, раст можно закопать назад.
> Я посто жду метаклассов в с++ и библиотеки что экранирует вcе указатели в RAII. И все, раст можно закопать назад.Эксперты опеннета во всей своей экспертной красе ...
В Расте много фишек, которые не связаны с безопасностью и которых не будет в C++ от 5-10 лет до никогда
По этой причине постепенно переползаю с C++.
Вам фишечки или чтобы работало?
Да!
Вся суть хруста в одном ответе.
На полшишечки
Каких? Там вообще есть что-то, не являющееся сахаром?
С++ - тоже системный язык?
с подключением
вопрос уровня "Раст - тоже язык программирования?"да, тоже системный (по крайней мере ему ничто не мешает быть таковым)
на крестах вполне успешно и часто пишут драйверы и прошивки для МК
Другими словами, rust - замена C++ для написания фейсбуков и майкрософтов.
> Другими словами, rust - замена C++ для написания фейсбуков и майкрософтов.именно так, замена "системного" языка для фейсбука и майкрософта
(учитывая, сколько фейсбук и майкрософ навыпускали для того же embedded - это просто убийца C/C++ в данном сегменте) :-D
хотя да, для растоманов, видимо, "системное" и фейсбуковеб - одно и то
же (забористая ж у вас мариванна, однако)
> хотя да, для растоманов, видимо, "системное" и фейсбуковеб - одно и тоже (забористая ж у вас мариванна, однако)
sed 's/растоманов/плюсовиков/g'
>> хотя да, для растоманов, видимо, "системное" и фейсбуковеб - одно и то
> же (забористая ж у вас мариванна, однако)
> sed 's/растоманов/плюсовиков/g'в твоём примере очевидная дыра,
видимо потому что пример написан не на расте
А ты лепишь друг к другу два разных языка, от разных разработчиков.
> А ты лепишь друг к другу два разных языка, от разных разработчиков.1) изначально я овтетил на вопрос конкретно про системное программирование на C++
https://www.opennet.me/openforum/vsluhforumID3/124169.html#1742) растоманы постоянно пытаются выдать проблемы криворуких за проблемы двух разных языков от разных разработчиков
постоянно лепят из своего святого грааля то "убицу сей и сишных дыр", то "убицу крестов и сишных+сишных++ дыр"не?
> 1) изначально я овтетил на вопрос конкретно про системное программирование на C++Нет, ты на него не ответил.
> 2) растоманы постоянно пытаются выдать проблемы криворуких за проблемы двух разных языков от разных разработчиков, и постоянно лепят из своего святого грааля то "убицу сей и сишных дыр", то "убицу крестов и сишных+сишных++ дыр"
Зависит от первого пункта. С++ - системный язык. Rust - системный яп. В опенсорсе единственный конкурент Си только - асемблер.
>> 1) изначально я овтетил на вопрос конкретно про системное программирование на C++
> Нет, ты на него не ответил.нет, ответил
конекртно на крестах (не на Си, а на С++) написано много (как ни странно ровно работающих) либ под различные МК (AT,ESP,STM) и драйверов
значит, да, С++ применим как системный
я даже не знаю, может тебе русскоязычную педивикию понятнее читать, открой статью "Языки программирования", секию "Объединение и развитие"
даже ссылку тебе дам, чтоб не запутался: https://ru.wikipedia.org/wiki/%D0%AF%D0%...>> 2) растоманы постоянно пытаются выдать проблемы криворуких за проблемы двух разных языков от разных разработчиков, и постоянно лепят из своего святого грааля то "убицу сей и сишных дыр", то "убицу крестов и сишных+сишных++ дыр"
> Зависит от первого пункта. С++ - системный язык. Rust - системный яп.
> В опенсорсе единственный конкурент Си только - асемблер.всё смешалось, кони, люди...
отпенсорс, системное программирование, ассемблер приплели к Сям как "конкурента" *facepalm.jpg*настоящий винегрет из селёдки,мёда,молока и лимона. хороший с тебя повар видно, гурман с "современными взглядами" на техники готовки
> конекртно на $подставь_любой_язык написано много (как ни странно ровно работающих) либ под различные МК (AT,ESP,STM) и драйверовзакрыл дыру
> отпенсорс, системное программирование, ассемблер приплели к Сям как "конкурента" *facepalm.jpg*
Добро пожаловать в Линукс!
Открой для себя умные указатели.
Постоянно появляются языки, которые обещают решить все актуальные проблемы индустрии раз и навсегда. Перл, Пых, Ява, Шарп, тысячи их. Но пионЭры продолжают смотреть на очередную серебряную пулю, как на новые ворота. Эта музыка будет вечной.
Перл никогда никому ничего, кроме обработки строк, не обещал.
Пых все проблемы решить не обещал, но таки фигову тучу решил.
Ява с шарпом обещали золотые горы, и таки даже обещанное частично исполнили, но взамен взяли полцарства.
> Ява с шарпом обещали золотые горы, и таки даже обещанное частично исполнили, но взамен взяли полцарства.Неочем
https://therules.ru/vowels-13/
Это - наречие, дядь.
Коммент неочем
Если анон не в курсе, как заливали разные евангелисты про разнообразные Явы, или с каким энтузиазмом сообщество относилось к новым модно-стильно-молодёжным языкам в не таком уж и далёком прошлом, то это вопрос к уровню познаний анона об окружающем мире, а не о том, что история в некоторой степени повторяется. И Си и Плюсы уже столько раз закапывали, что надо бы поумерить пыл и судить по реальному положению дел, а не по красивым заявлениям. Конечно же, С/С++ не будут безраздельно властвовать в своей нише вечно. Но уйдут они оттуда нескоро и заменит их не Раст.
Да, только вот плюсы всё-таки заменили Си в сфере игр, а раст лучший язык для обучения студентов. Джава на Андроиде.
> Джава на Андроиде.А NDK на чём?
А php тут причем?
> лучший язык для обучения студентовЭто говорили и про Basic, Pascal, Python
> Basic, Pascal, PythonПочти ровесники, все эти ЯП.
BASIC - 1964
Pascal - 1970
Python - 1991
Basic и Pascal в школе, раст для студентов.
Лучший язык для обучения студентов, кхых.Двусвязный список на расте: https://github.com/egan-ru/tesseract_ll/blob/main/src/klle.rs
Это ты свое че-то скинул.
Сделай лучше, порази нас красотой и лаконичностью языка, прекрасно подходящего для обучения студентов.зы: не мое. Я бы лучше пальцы себе сломал, чем такое писать.
, а Zig!
Что-то не помню ни одного ЯП, который обещал решить все проблемы. Вроде каждый фокусировался на вполне конкретных проблемах.
Сишечка жы.
Прекрасно подходит для решения всех без исключения проблем. Например, путем написания специализированных DSL для решения специализированных проблем.
Algol-60
pl/1
https://ru.wikipedia.org/wiki/%D0%9F%D0%...
Ну, в первом же предложении написано для чего язык - "разработанный в 1964 году язык программирования, созданный для научных, инженерных и бизнес-ориентированных вычислений."
> unsafe_op_in_unsafe_fn для определения обрамления unsafe-блоками unsafe-кода, используемого в unsafe-функцияхВы получили ачивку "ансейф на ансейфе и ансейфом погоняет" (5 unsafe в одном предложении).
Похоже, весь растамановский webrender в FF - один сплошной дырявый ансейф.
Xzibit всегда будет молодым.
> Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).А смысл, если его приспешник, LLVM-12, жрёт память и процессор при собственной компиляции как не в себя? А вот Java себе такого не позволяет.
> жрёт память и процессор при собственной компиляцииЧто значит "собственная компиляция"? Если сборка компилятора самим собой, то это очень важное замечание, ведь в нормальных ОС невозможно запустить программу, нескомпилировав компилятор для языка, на кактором написана программа, самим собой
>> жрёт память и процессор при собственной компиляции
> Что значит "собственная компиляция"?Бутстрап в школе не проходили? Тогда может читали о приключениях барона Мюнхгаузена, где он себя и коня за волосы из болота вытаскивал?
> Если сборка компилятора самим собой, то это очень
> важное замечание, ведь в нормальных ОС невозможно запустить программу, нескомпилировав
> компилятор для языка, на кактором написана программа, самим собойВ т.н. "нормальных" ОС компилятор не установлен — обходятся конечными блобами приложений, которые за пользователя изготовили другие (безусловно доверенные) люди. А пользователей только только вынудили скачать очередные "обновления".
Для использования Rust по прямому назначению на стороне специально обученных доверенных людей нужен установленный LLVM (в данном случае llvm-12). Он тоже не из воздуха появляется. Например, в FreeBSD его компилирует системный компилятор из базовой системы, который на версию ниже — LLVM/Clang-11.0.1. Приложения Firefox 88/Thunderbird 78.10 без llvm-12.0 и rust-1.51 не соберутся из исходников. Вот такие дела: заменили один маленький GCC комбайном размером около 1 ГБ — это если выкинуть отладчик и документацию из компиляторов.
> Бутстрап в школе не проходили?Я учился в нормальной школе, а не в ленсукоедной. Там меня учили всяким математикам и физикам, и, очевидно, большинству это нужно больше, чем абсолютно бесполезное для подавляющего большинства людей знание о бутстрапинге компиляторов.
> А пользователей только только вынудили скачать очередные "обновления".
Хз кто меня чему вынуждал. Я просто беру и качаю софт, и пользуюсь им. Я, конечно, понимаю, что ленсукоеду это сложно, ему надо пердольнуться, сначала в сборку ядра, потом мира, каждой софтины, и он, как маленький ребенок, будет радоваться чему-то сломаному, потому что можно продолжать пердолиться дальше. Зачем? Ну всякие извращуги бывают, есть и такие. А есть нормальные люди.
> Для использования Rust по прямому назначению на стороне специально обученных доверенных людей
> Дальше какая то лютая чушьКак это все меня, как пользователя, должно волновать? Ну жрет ллвм при сборке миллион памяти, что дальше? Как это влияет на конечную работу программы? Вот это вот предложение
> Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Оно про работу, а не про сборку. Но ленсукоеду все равно, для него работа с программой == бесконечная сборка программы по кругу.
>> iZEN
>> FreeBSD
> ленсукоедной.
> Я, конечно, понимаю, что ленсукоеду
> Но ленсукоеду все равно*слышен громкий плюх в лужу, смачный звук перде^W пускания ветров ... *
>> Опубликован релиз языка системного программирования Rust 1.52
>> Применяемый по умолчанию инструментарий LLVM обновлён до версии LLVM 12.
> большинству это нужно больше, чем абсолютно бесполезное для подавляющего большинства людей знание о бутстрапинге компиляторов....
> Я просто беру и качаю софт, и пользуюсь им....
> Как это все меня, как пользователя, должно волновать? Ну жрет ллвм при
> сборке миллион памяти, что дальше? Как это влияет на конечную работу
> программы? Вот это вот предложение...
> Оно про работу, а не про сборку. Но ленсукоеду все равно, для
> него работа с программой == бесконечная сборка программы по кругу.Приложи лед и закрой вкладку, о "пользователь", для которого знание "о бутстрапинге компиляторов" бесполезны и которому нужно "просто брать и качать софт, и пользоваться им."
Я тебя даже плюсанул, Аноним - твой коммент лучший за неделю:"Я программирование не учил, ничего в этом не понимаю, но вы, программисты, должны программировать вот так и вот так" (с).
>Я учился в нормальной школе, а не в ленсукоедной.Русскому там не учили видать.
> Приложения Firefox
> 88/Thunderbird 78.10 без llvm-12.0 и rust-1.51 не соберутся из исходников.Собираются с llvm-11.1 в Gentoo.
Они и гцц собираются прекрасно. Вот лто похоже сломали в гцц-11 (да, опять), по крайней мере мейнтейнеры говорят нодеяс не собирается. А вот сам шланг 12 компилируется 7 мать его часов (в 5 потоков), для сравнения 10 был всего полчаса,
Не ври. Шланг идят в качестве зависимости. Без Шланга Лису ты не соберешь.
На генту соберёшь. Там раст в качестве зависимости, следовательно нужен ллвм. Но не шланг.
>заменили один маленький GCC комбайном размером около 1 ГБ — это если выкинуть отладчик и документацию из компиляторов.Браво, Изя! Лови плюсик.
его уже не собрать на 512мб
количество потребляемой памяти при сборке зависит от числа потоков в первую очередь. Но это не особо важно, т.к. врятли вы llvm пересобираете каждый день.важно в рантайме, а во время сборки можно потерпеть и не запускать других тяжелых процессов.
ну и пр сборке любой крупной штуке (с -j = кол-во ядер) проц всегда 100%P.S. Я если что используя в качестве основной системы лфс и знаю о чем говорю
Какое отношение сборка LLVM имеет к рантайму программы на Rust? Такое же, как сборка GCC к рантайму программы на C.
Потыкал я это, оказалось, что без типов со счетчиком ссылок можно написать разве что хэллоуворлд. И чем это лучше shared_ptr в C++ ?
Тем что это обязательно использовать, а не когда приcралось.
c/c++ в плане написания, чтения кода не подарок, но и rust не лучше, а в некоторых моментах даже хуже. Пока приглядываюсь к нему. Проекту долгой жизни.
как раз, qdoc и librsvg допишешь
При соблюдении нехитрых правил и стандартов кодирования C++ код отлично читаем, особенно при использовании любой современной IDE. Вот с языком обсуждаемым в этой теме большие проблемы, по личному опыту через месяц ЭТО выглядит как брайнфак
По ТВОЕМУ ЛИЧНОМУ опыту ТВОЙ код на Rust выглядит, как Brainfuck. Сказки про соблюдение нехитрых правил оставь идеалистам, потому что в реальной жизни всем плевать. А так-то конечно, если соблюдать правила, код будет хорошим, на любом языке. Правда, всё равно из ближайшей трещины выползет опеннетчик и начнёт жаловаться на вытекающую из его глаз кровь. Но к врачу не пойдёт, ведь проблема точно не с ним.
Эк однако капса как много, эмоциональненько :) ты чтонить кодил в своей жизни кроме студенческих поделок? Стандарты кодирования есть в любой организации или комюнити ващет и без их соблюдения ничего путного не получится.
Складыввается мнение что нет, ты не кодил, вот заткнись и не отсвечивай тут
> ващет
> вот заткнись и не отсвечивай тутДетский сад. Да, представь себе, я участвовал в разработке коммерческих проектов и работал в команде. Складывается мнение, что именно ты не видел реальный код, в котором всегда есть ошибки, как бы разработчики ни старались соблюдать стандарты. Не сомневаюсь, что ты слышал о том, что около 70% багов по безопасности в сишных и плюсовых проектах вызваны некорректной работой с памятью, и это в таких компаниях, как Google и Microsoft. Но, конечно, кто они такие? Тебе виднее, ты точно знаешь, как натренировать "кодера", чтобы он писал идеальный код. Всё, что нужно - это задрачивать стандарты кодирования, и знаменитый человеческий фактор исчезнет сам собой. Надо полагать, и "кодеры" после тренировки перестанут быть людьми и станут сверхсуществами, утратив способность делать ошибки. Ну что же, с такими знаниями у тебя есть все шансы работать в NASA, там нужны идеальные кодеры.
> 70% багов по безопасности в сишных и плюсовых проектах вызваны некорректной работой с памятьют.е. по твоему мнению решение проблемы в том чтобы прямую работу с памятью превратить в боль (что раст успешно и делает)?
> let mut x: [usize; 2] = [0, 0];
> let p = &mut x as *const usize;Спустя 6 лет после появления стабильной версии Хруста в него добавили то, что есть в C и C++ изначально:
size_t x[2] = {0};
const size_t *p = x;Это прекрасно, я считаю.
В c++ это неявное преобразование, и в общем-то им гордиться нечего,
больше на ошибку похоже, когда хочешь передать фиксированной длины
массив а передаешь указатель, приходится извращения типа std::array городить,
который всего лишьstruct array {
T arr[N];
};то есть приходится массив оборачивать в структуру чтобы нормально передавать
> В c++ это неявное преобразованиеСерьёзно? Да ты что. Ух ты.
Почитай стандарт и что такое преобразование. Тут им и не пахнет.
А гордиться тут как раз есть чем, но для этого надо понимать что на самом деле происходит.
Преобразование он там неявное увидел. Тьфу.
ты бы ссылку на стандарт сразу давал, а не газифицировал водные рэсурсы.
> В c++ это неявное преобразование, и в общем-то им гордиться нечего, больше на ошибку похоже,Это "Standard conversions", глава 4 в C++14 N4140, а не ошибка.
> когда хочешь передать фиксированной длины массив а передаешь указатель
Массивы никогда не передаются в параметрах в функции. Они преобразовываются в указатели.
"After determining the type of each parameter, any parameter of type “array of T” or “function returning T” is adjusted to be “pointer to T” or “pointer to function returning T,” respectively."
Если хочешь передавать содержимое массива нужно использовать другой тип данных (например структуру, как у тебя и показано).
Хруст это новый хаскель весь такой модный и никому не нужный
Ну зачем вы так Хаскель обижаете?
И вот кстате да, я помню как задолбали Хаскелом лет 10 назад. Потом все резко пропало. Хаскел причем проталкивали куда только можно, даже драйвера на нем пытались писать :)
А вот я такого не помню. Он был на стадию тестинга всегда, а раст пихнули сразу в маинстрим, не проверяя. На хаскеле есть Xmonad, конфиг которого, собирается прямо из исходников.
> И вот кстате да, я помню как задолбали Хаскелом лет 10 назад.В смысле - разок увидел упоминание, попытался разобратся, не осилил, подорв^W вспылил и каждое последующее упоминания воспринимал почти как личное оскорбление? Первый хайп хаскеля был значительно раньше, второй, привязанный к общему "подросшее поколение открыло для себя фунциональщину" был позже и намного слабее ...
Даже на смузиподобном Go реальных проектов в десятки раз больше чем на хрусте
Если еще учесть что один из создателей Go это Роб Пайк, который еще с Керниганом вместе работал над Unix и Plan 9. То вышла годнота которой можно пользоваться. А популяный учебник по Go написал лично Керниган, соавтор той самой Керниган и Ритчи по Си книги. Так что тут такой, суровый смузи, 40х годов еще :)
yay - пакетный менеджер для aur, написан на Go.
Новость про раст каждые несколько дней, рас раст, чаще только про Илона Маска на майл.ру постят.
Понятно, что работа по агрессивному продвижению товара видимо должна неплохо оплачивается.
На навязчивый маркетинг похоже.
Зачем ты читаешь маилру?
теперь что опеннет с растом что майлру - один хрен, мусорные новости но на майлру бывают фото телочек в новостях ;P
Ждем релиза РжавойОС.
А кто подскажет - какие, такие религиозные убеждения не позволяют команде разработчиков Rust создать установку Rust для Windows в виде простого бинарника в архиве с командным скриптом установки переменных окружения, который легко скачать, легко проверить на вирусню и другие штучки-дрючки, легко разархивировать в нужное мне место? Зачем тянуть к себе непрозрачные инсталляторы и скрипты установки всяких непрозрачных шоколатье, которые непонятно что куда пишут тебе в системе, включая реестр? Пусть посмотрят как это сделано для языка Go.
Это лишь один из признаков, говорящих обходить это чудо стороной.
> Зачем тянуть к себе непрозрачные инсталляторы и скрипты установкиКакая вам, виндузятникам, разница - одним больше, десятком меньше?
Я не понял, тебе setup.exe нужен что ли? Чем тебя rustup не устраивает? Или тебе нужен портабл эдишн?
портабл, как у Go.
Вот оффлайн установщики:
https://forge.rust-lang.org/infra/other-installation-methods...
Человек, не надо думать, что все тупее вас и никогда не были на этой страничке.
Лучше научитесь внимательно и вдумчиво читать, что пишут другие.
Где вы среди списка представленных установщиков нашли пакет установки из архива (*.zip) для Windows?
А вот установка для языка Go для Windows в виде архива, о чем написано в первом сообщении: - https://golang.org/dl/go1.16.4.windows-amd64.zip
Ценители всегда могут собрать портабле сборочку и используя виртуальную машину от vmware
А где Виллем родившийся в 1982 году? Почему он тут не зажигает?
> Аноним(-)
> А где Виллем родившийся в 1982 году? Почему он тут не зажигает?Ай да Моська, знать она сильна ... © Крылов
Вот бы Zig так помогали и пропихивали... Глядишь току больше было бы, чем от этой дребедени.
Пока пилится, рано ещё форсить
Сам в шоке, охрененный язык. Лучшее из того что можно назвать "системный язык программирования". Надо его тут форсить.Поигрался с ним вечерок - в восторге. Надо что-то на нём написать.
"Поигрался вечерок" как-то маловато для честной оценки ЯП. Вот когда напишешь на нём что-нибудь раз пять, тогда будет хоть какое-то понимание. А форсить ничего не надо. Если Zig действительно так крут, то на нём и о нём, безусловно, будут писать. Лично я не впечатлён.
Тут уже "форсят" за спонсорские деньги какой то мутный язык (rust), может не надо больше ничего "форсить"? Жизнь и практика покажет насколько Zig приемлем. Пока что это малоизвестная наработка, такие каждый год появляются и исчезают.
move Zig!!
Они обещали перейти с LLVM на свой классный бэкэнд!!! Когда это сделают, половина опеннета узнает про него, другая обматерит
Хомячки ликуют. Фрактал обканчался. А на языке так ничего и не написали.
Почему – обкончался?!
А бендер вообще в шоке трясётся и боиться подхватить ржавчину.
>Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданийНичего из этого не может быть целью создания языка программирования, т.к. это инструменты и приёмы решения каких то общих вещей, которые появились в результате неудачных аппаратных и программных решений
Целями создания нового языка могут быть:
- синтаксис обеспечивающий более лаконичные выражения для решения специфических задач
- более короткий код для общих задач
- более прозрачные выражения, смысл которых понятен без понимания синтаксиса языка
- более эффективное использование ресурсов, за счёт новых выражений
- уменьшение вероятности по совершению ошибок при написании кодаТолько приняв эти критерии, можно проверить лучше язык или нет, можно прменять в производстве или нельзя. Про Раст таких серьёзных исследований не проводилось, ибо даже цель языка совсем не то, что ожидают разработчики от современного языка программирования на самом деле.
по всем указанным целям у раста минус.
Демагогия чистой воды. Но зато ник у тебя очень в тему.
Раст настолько олимпиадный, что даже интересно – а что в нём?..
голову людям дурят. есть уже отточеные инструменты, куча библиотек на любой цвет и вкус, новые версии языков не стоят на месте и сегодня учитывают все актуальне некогда проблемы. бери и исползуй как говорится. ну нет, нужно задурить людям голову, выковырить казюлю из носа и попытаться скатать из нее снежную бабу. к людям относятся к ак к быдло потребителю, уу, оо , новинка , теперь вам не нужно думать, компилятор все решит за вас !. фу.
> голову людям дурят. есть уже отточеные инструменты, куча библиотек на любой цвет
> и вкус, новые версии языков не стоят на месте и сегодня
> учитывают все актуальне некогда проблемы. бери и исползуй как говорится. ну
> нет, нужно задурить людям голову, выковырить казюлю из носа и попытаться
> скатать из нее снежную бабу. к людям относятся к ак к
> быдло потребителю, уу, оо , новинка , теперь вам не нужно
> думать, компилятор все решит за вас !. фу.Я правельно понимаю что программирую на плюсах вы сразу пишите код без ошибок?
все верно, при заведении указателя и выделении памяти, стразу прописываю ее освобождение, такой подход за достаточно короткое время входит в привычку вовсе не является чем то сложным или стреляющим себе в ногу как это любят говорить. если чтото в последствии изменяю по работе с указателем то автоматом проверяю все ли корректно будет отрабатывать в остальных частях кода, благо современные IDE позволяют отслеживать такие задачи. Это как езда на механической коробке, я как то уже приводил такой пример. После двух недельной практики езды на механике, мозг автоматически обрабатывает все ситуации, а руки и ноги делают свое дело, водитель не задумывается о происходяем, все внимание на движение и другие автомобили. Человеческий моз и есть тот смый авомат, но увы он не приносит денег производителям современных автомобилей, поэтому через рекламу и прочее, человеческие возможости перетекают в технические но платные вещи.
У здравого программиста все точно так же, задачи по корректному взаимоействию с памятью происходят автоматически, я еще раз повторюсь, у нормального программиста вопрос с корректным освобождением паняти отсутствует, это все происходит автоматически, т.е. присловутый гарбич коллектор вырабатывается у человека в мозгу, в остальном программист фокусирует свое мышление в бизнес логике. так же благо что современные IDE с анализатором кода, а так же классы контейнера, позволяют для новичков и вовсе не задумываться о вопросах выделения и освобождения памяти (но это если нужно быстро и сердито). Да, это относитя только к обектному С++ позволяющий абстрактно смотреть на бизнес логику. Ну если ваша бизнес логика заключается в том что бы обеспечить высокую нагрузку для банка или для телеком. подсистемы, то ваша бизнес логика сведется как раз к байтам, битам, эффективному выделеню памяти и оптимизацией ее освобождения, ну а тут уже либо с++ без контейнеров, все сам либо вообще си (если уж совсем хайлоад хайлоудов).
Еще один пример с фототехникой. Многие желающие стать фотографом, киноделом, хотят купить самый крутой фотик за дешево и универсальный объектив )) вот и в программировании так же ) у любого языка программирования есть свое фокусное растояние, диафрагма и как результат глубина резкости ) а так же наличие автофокусов и прочее.
Так вот много современных ЯП схожи либо с мыльницами либо с телефоном ) Бизнесу, проще выдать вчерашнему студенту такой аппарат и уже через час этот студент начнет выкладывать фотки в инстаграм, да на маленьком экране, но блин смотрица вполне себе ) а когда мы видим на фото снежного барса, или киношную картинку снятую на анаморфную оптику (вообще кстати на кино обективах не ставят автофокус - а как же так скажут юные киноделы ,, это что самому нужно крутит ??? :) можно же себе в ногу выстрельнуть закричат с пеною у рта и купят айфон т.к. он круче всех телефонов снимает ) Вот и в программировании точно так же. и вот если уметь пользоваться языком который позволяет снимаь и фото и киношное видео с фокусными растояниями от 8 до 800мм а при желании устанавить телеконвертор 2.0х и при этом от опыта программиста светосила на уровне 1.4 ))) ну какой нахер раст, нода жээээсс, или питон? ну это же дверные замки, максимум экшин камеры которые применяются в дверях либо крепятся на шлем велосепидиста и вовсе не покрывают весь спектор задачь. ну в общем как то так
> это же дверные замки, максимум экшин камеры которые применяются в дверяхдверные глазки )))
Столько воды, что хоть Африку орошай. Но за "гарбич коллектор вырабатывается у человека в мозгу" спасибо, посмеялся от души. И стиль, и содержание - всё прекрасно, этакий монолог на кухне после полторашки Балтики 9. Не сомневаюсь, что и код вы пишете такой же.
Давай остроумный шоколатье, покажи публике свой код на гитхабе, а то сомнения берут что ты кроме опеннета и не работаешь нигде вовсе xD
> Аноним(-)
> Давай остроумный шоколатье, покажи публике свой код на гитхабе, а то сомнения берут что ты кроме опеннета и не работаешь нигде вовсе xD/0/0
> Давай остроумный шоколатье, покажи публике свой код на гитхабе, а то сомнения
> берут что ты кроме опеннета и не работаешь нигде вовсе xDя не собираюсь кому то чтото доказывать, тем более ноунэйму (и даже в век ноунэймов)
да и потом, мы же не меня обсуждаем, а текущее положение дел. с чего вы взяли что я обязан быть крутым кодером на С++ что бы быть правым?
Зто не тебе было предложение а твоему чрезмерно болтливому оппноненту burjui так что релакс
> Зто не тебе было предложение а твоему чрезмерно болтливому оппноненту burjui так
> что релаксой ))
> Не сомневаюсь, что и код вы пишете такой же.Зря не сомневаешься. Он не пишет кода. Если бы он писал код, да ещё и на C++, он бы не писал здесь того, что он написал.
А вообще, ты читаешь комменты тут? Меня начинает забавлять когнитивных диссонанс опеннета: они рассказывают о том, что rust слишком простой, и использование раста приводит к потере навыков, и тут же рассказывают о том, что раст сложный и сквозь борроу-чекер не прорваться и какие-то там алгоритмы им реализовать не удаётся. Мне интересно, какая точка зрения в итоге победит, или они так и продолжат придерживаться обеих одновременно?
К сожалению, читаю. Уже начинаю понимать, какая это ошибка. Если это обсуждение Rust, то здравствуйте флеймы, троллинг и просто откровенный бред. Впрочем, уровень дискуссии и в других новостях невысок. Жаль, что неадекваты кричат громче всех и создают видимость того, что весь Опеннет неадекватен. А победит в итоге индустрия. Рано или поздно кода на Rust будет столько, что им придётся его читать и собирать по работе, и тогда заработают шестерёнки в головах и придёт понимание, что мир не чёрно-белый. Научатся и читать синтаксис, и дружить с borrowck, а там, того гляди, начнут писать что-то своё и даже получать от этого удовольствие. Самые упёртые продолжат сидеть в своём echo chamber и плеваться - ну и баг им судья.
Изучил еще лет пять назад, программировал для интереса, стараюсь не допускать этого дерьма в тех проектах которые контролирую по мере сил.
Можно сказать это попытка протиснуть на рынок "свой" язык с правами на него от крупной коммерческой компании, т.е. буллщит.
А какое дерьмо вы допускаете в этих проектах?
да, я тоже надеюсь на то что когда то наступят временя, что раст допилят, на нем напишут линукс, создадут все нужные кросплатформенные гую, и наступит о дивный чудный мир. а пока берем в руки топоры и рубим дерево что бы построить дом и разжечь костер.
> а пока берем в руки топоры и рубим дерево что бы построить дом и разжечь костер.Снова аналогии. Ну, раз вы их так любите... Прошли те времена, когда достаточно было топора, чтобы построить цивилизацию. Сложность техники и коммуникаций вокруг нас уже давно переполнила ёмкость одного человеческого мозга. Простой инструмент хорош ровно до тех пор, пока не столкнётся с достаточно сложной задачей.
а что вы можете против топора? где будет вся ваша цивилизация в таком противостоянии?
зря вы про тапорик так, недооцененно.
как то вот в одном городе прошел ледяной дождь, все были уверены в цивилизации. Посмотрите видос на ютюбе, последствия ледяного дождя в городе владивосток 2020. люди несколько недель жили без воды, без еды, не помытся не смыть за собой. Люди замерзали, не было ни газа, не эллектричества не тепла.
В этом вся проблема современного общества, отсутствие понимание что такое это мир, как он устроен.
а топор он и через 10 000 лет будет эффективным инструментом в руках настоящего мужчины, если конечно всех в педиков не передалают.
> люди несколько недель жили без воды, без еды, не помытся не смыть за собой.
> Люди замерзали, не было ни газа, не эллектричества не тепла.Но вот если бы у них были топоры...
> а топор он и через 10 000 лет будет эффективным инструментом
Ну, уж точно не для обработки металла, из которого сделана важнейшая его часть.
> в руках настоящего мужчины, если конечно всех в педиков не передалают.
Вижу, настоящих мужчин очень беспокоит угроза нашествия педиков. Вы там осторожнее, а то, не дай баг, и вас переделают.
а у них и были топоры, достали из кладовых, заказали машину дров и грелись две недели, что тут не ясного то?
Знаете таких идиотов которые нож об нож ударяют, что бы посмотреть у кого лезвие прочнее. Для обработки метала используют молот, но и у топора есть обух, что бы гвоздь забить, согнуть или подплющить.
Я не беспокоюсь, за педиков, если это право их выбор, меня не устраивает нездаровая мода на подобные забавы.я же говорю, ваше мышление оно двуполярно, либо плохо либо хорошо, вы не можете видить вещи под разными углами, оттого вы прыгаете из крайности в крайность.
времена не меняются, меняются образы и упаковка )
> К сожалению, читаю. Уже начинаю понимать, какая это ошибка.Почему ошибка? Очень забавно.
> Жаль, что неадекваты кричат громче всех и создают видимость того, что весь Опеннет неадекватен.
О, это везде так. Все эти фейк-ньюс, альтернативная наука порождали исследования нацеленные на то, чтобы высмотреть пути, как с ними можно бороться. И исследования чётко показали, что людям, кто подсекает в теме, надоедает раньше. Сторонники альтернативной реальности упорнее, и они берут тупой долбёжкой в одну точку. Собственно именно поэтому ресурсы, желающие выдерживать чистоту от отрицания реальности, имеют ровно один путь для достижения этого -- ковровые баны.
> А победит в итоге индустрия.
Да, и это приводит к тому, что альтернативщики с каждым годом уходят во всё большую альтернативу реальности. Они вынуждены: им с каждым годом приходится всё большую и большую часть реальности отрицать. И именно за этим наблюдать очень забавно.
Примера со связным списком на хрустах хватило чтоб однозначно ответить - да. маркетинговый булшит залит прямо в неокрепшие головные кости, кои в силу своей школотронности не могут понять что их обайфонили
>> Не сомневаюсь, что и код вы пишете такой же.
> Зря не сомневаешься. Он не пишет кода. Если бы он писал код,
> да ещё и на C++, он бы не писал здесь того,
> что он написал.
> А вообще, ты читаешь комменты тут? Меня начинает забавлять когнитивных диссонанс опеннета:
> они рассказывают о том, что rust слишком простой, и использование раста
> приводит к потере навыков, и тут же рассказывают о том, что
> раст сложный и сквозь борроу-чекер не прорваться и какие-то там алгоритмы
> им реализовать не удаётся. Мне интересно, какая точка зрения в итоге
> победит, или они так и продолжат придерживаться обеих одновременно?вопрос не в том что раст сложный или нет, вопрос в том что неокрепшим умам без опыта навязывают идеологию построенную на обмане. как пример, когда говорят что указатели это зло - это обман (но это номр 1 причина в пользу моных ЯП), указатели это неограниченные возможности в умелых руках, и да в руках идиота это пистолет с патроном и снятым предохранителем. Другой пример - когда говорят что в си нельзя импотрировать как в питоне - лож, есть целый линукс с кучей пакетных менеджеров и репозиториев, и есть возможность запускать эти программы из своих програм устанавливая между ними канал связи как между tcp клиентом и сервером. СИ и С++ создали для себя целую экосистему, и какое право диванные эксперты имеют что бы уменьшать значение в возможностях этой экосистемы? Да Си/С++ это кирпичики, на основе которых строятся структуры, классы, библиотеки, отдельные программы, это все можно использовать в своем коде. А что современые ЯП? запихнут часть экосистемы Си под капот и назовут это фичами ЯП ) + самудрят синтаксиз, добавя при этом что вот на С++ все очень сложно с этим ))
Много вранья, я как бы про это хочу донести. А язык, ну хочешь пиши на питоне если нравится и задача не требует ресурсо экономии, хочешь на пхп сгенерируй страничку, хочень перл если писал на нем с института и есть проект. Речь не про языкы, а про идиотизьм который образуется вокрух всех этих споров и навязывание ярлыков.
ну а хочешь писать системный код то забудь про все знания и навыки на си и с++, забей на все .so и так далее , и начни изучать новый язык, новый синтаксиз идиом, перечеркни все к чертям собачим и начни путь джедая с нуля )) и у тебя польется чистейший безопасностью код на сервера корпораций , а в обратку куча бабла ) больше системный языков!!!ааа, ты новичок в системном программировании? тогда главное чо тебе нужно то это не затупить с памятью, все остальное мелочи и как раз раст решает твою проблему, а значит считай что ты системный прораммист, да прибудет с тобой сила бабла!
Да-да, я именно об этом когнитивном диссонансе и говорю, ты хорошо его демонстрируешь.
тогда удачивам ! )) живите и радуйтесь ! ))
я алкоголь не употребляю. Я не планировал тебя переубедить в чем то, ибо это так же глупо как утверждать что фото сделанное на смартфон это не фото, ведь это все же это фото, хоть и имеет ряд недостатков в пост обработке, так и в момент сьемки в рамках самого смартфона. Люди выкладывают 100к руб не для того что бы мирится с реальностью, а для того что бы гордо говорить что у него тел круто снимает, но в итоге снимать одни и теже плоские фотки автоматом програмно обработанные. и если бы у таких фотографов был бы вкус, и понимание основ композиции, то его работы даже снятые на телефон, можно было бы назвать творчеством. А так, это не блее чем маркетенг для продажи новых телефонов, и наводнение контентом ресурс который по факту рекламный бизнес. У программистов все один в один по аналогии. А вам если угодно оставаться при своем мнении и в таком вот юморном настроении то я весьма рад что сумел вас повеселить. Юмор это наше все.
Вижу, вы очень любите аналогии (учитывая это, странно, что моё высказывание о полторашке Балтики 9 вы восприняли буквально) - настолько, что становится сложно найти ваших словах конкретику. До сих пор не ясно, почему в вашей аналогии Rust - это телефон, а C++ - фотоаппарат. Rust может всё, что может C++. Приведите хоть один аргумент, доказывающий обратное. Только давайте без плюсовой специфики, а то "телефоном" может оказаться уже С++, если взглянуть с другой стороны. И без аналогий, которые не являются фактами, а лишь призваны прояснить смысл оных.В любой новости о Rust всегда очень много болтовни о том, что это - бесполезная хипстерская поделка, но аргументы практически всегда эмоциональные, а не фактологические. Возможно, вы положите начало доброй традиции цивилизованных споров, строящихся на фактах и логике. Я понимаю, где мы находимся, но всё же.
полторашка балтики как то не уместно, тем более явно переходит на личности.
речь не про то что есть что, речь про человеческие навыки. речь об инструменте где техническая часть делает свое дело при этом навыки человека позволяют использовать инструмент без ошибочно и в купэ дают гибкость и не ограничивают возможности. Любые перевесы как то усложняющие типа ассемблера или пленочные камеры, или в противоположенность ЯП со сборщиком мусора или крутым айфоном, ограничивают в свободе.
Я прихожу к мнению что вам трудно понимать меня т.к. мы по разному воспитаны и устроены. мы по разному понимаем мир и свободу выбора. потому вам проще и дешевле остаться при своем.К слову С++ может вполне стать и айфоном используя тот же QT ) а может быть и пленочнфм фотоаппаратом, а может быть крутым RED или blackMagic с киношным обективом стоимостью как сама камера. тут все зависит от опыта и правильного выбора компонет коих много, нужно только потратить время на их сравнения ) С++ дает выбор, свободу и это есть сейчас.
Раст возможно станит таким же языком но не сейчас, потом когдато. но в современном С++ уже есть такие инструменты которые обеспечивают безопасное программирование. тогда вопрос, к чему изобретать велосипед? к чему тратить ресурсы на переписывания всего и вся? а через 5 лет начнут пиарить еще один "системный язык" где под капотом идиома типа {x*Y}-$%% будет варить вам кофе, и все будут кричать что на расте такого нет, что будущее за языком "{{{" начнут опять переписывать библиотеки и прочее. и к чему это все? вы пользуетесть ssh в терменале, вас чтото не устраивает? далее я через QProcess подключаюсь к серваку через ssh и использую его как сокет ввода вывода.. ну что не так? где страдает безопасность? вся системная ниша уже давым давно написана и вылизана. а вы предлагаете пройти еще раз этот путь только через бесконечные патчи и пр.?
Мой посыл научить человека думать а не плыть как кусок какашки в канализации общественного мнения.
Как я и предполагал, никакой конкретики.
а конкретики нет ) и не может ее быть, каждый инструмент имеет право быть и заслуживает что бы им пользовались, если друго нет )
ваше сознание не может вырватся за пороги которые вам обозначены )
вы не можете принять простые вещи , понять причины пиара того или иного , навязывания пятого или десятого ) вы не понимаете что связывает вам руки а что развязывает )Просто мы по разному смотрим на мир, языки тут второстепенны )
У тебя точка на клавиатуре сломалась что-ли? Почему каждое предложение заканчивается скобочкой?
перешел на модный стиль языка ) избавляемся от ; и .
>правельноСлюнявчик поправьте.
> Добавлена lint-проверка unsafe_op_in_unsafe_fn для определения обрамления unsafe-блоками unsafe-кода, используемого в unsafe-функциях."В unsafe-программах" забыли упомянуть? :-):-):-)
Чего-то стOящие языки программирования создаются для решения конкретных задач.
А для чего rust?
Почитал www.rust-lang.org:
- rust позволит всем создавать надежный и эффективный софт.
- rust поразительно быстрый и эффективно использующий память. Подходит для серверов, встраеваемых устройств и легко интегрируется с другими языками.
- rust имеет большую систему типов и модель владения и этим обеспечиваем безопасность памяти и потокобезопасноть.
- rust повышает продуктивность (программистов?), так как имеет великолепную документацию, удобный компилятор с полезными сообщениями об ошибках и лучший набор вспомогательных утилит (менеджер пакетов, инструмент сборки, редактор с автодополнением, автоформатированием и проверкой типов, и многие другие инструменты и утилиты)То есть обычная рекламная презентация.
Так, все-таки, для каких задач нужен (создавали) rust?
Его создавали чтобы получать зарплату от тормозил-ла фаундейшн под обещания переписать на этом прогнивший движок Gecko.
> rust поразительно быстрый и эффективно использующий память. Подходит для серверов, встраеваемых устройствНе позволяет, он течёт и падает на опредиленни свободной памяти.
Не подходит, потому что он там нафик не надо. В нормальной страиваемке этих пробле отродясь небыло. Учите матчасть.
Выпускают выпускают, а толку по пренему ноль
Для установки всё ещё нужно качать и запускать какой-то блоб?
Выпуск худшего языка программирования по версии анонимных комментаторов с opennet