Представлен выпуск инструментария uutils coreutils 0.0.12, в рамках которого развивается аналог пакета GNU Coreutils, переписанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Одновременно выпущен пакет uutils findutils 0.3.0 с реализацией на языке Rust утилит из набора GNU Findutils (find, locate, updatedb и xargs)...Подробнее: https://www.opennet.me/opennews/art.shtml?num=56609
О, Rust - это хорошо, ownerships и lifetimes - моё почтение
А почему растаманы бросили свою редокс?!
Любительские проекты забрасывают независимо от языков. Да и потом, раст медленно внедряется в линь.
Зачем внедрять раст в линь, если есть редокс? Или на расте что-то невозможно сделать, что работает в лине?
Потому что вы скажете "зачем нам этот редокс если есть линь?"
А тут раст будет в ядре.
Правильно. Зачем гадить у себя когда можно нагадить у вас. Темболее линурасты позволяют, да еще и говорят вот садитесь гадьте, вам кофейку?
Какой же кошмар - гадить качеством!
> гадить
> качествоминноагент попался, дежри его!
затем что переизобретать велосипед не надо. написал адин раз и всё, на каком языке - второй вопрос
Потому что ОС взялась писать группка энтузиастов, а писать ОС в нынешних условиях - это едва ли подъемный проект. Разве только на какое-то необычное железо прошивку писать. На обычных процессорах, увы. Скорее всего проблема в драйверах, устройств очень много, и под все драйверы не напишешь. Разве что линуксовые как-то подрубать, но это требует нехилого слоя поддержки, скорее всего
А может потому, что поддерживать код в рабочем состоянии не получается? Новая версия компилятора и все, тонны вчерашнего, но уже "легаси" кода перелопачивай вместо разработки.
GNU Hurd на Си, но его состояние не лучше.Что касается новых версий компилятора, сейчас Rust уже более зрелый, там мало breaking changes
Потому, что, в своё время, выбрали Mach и привязались к нему. А оно ещё и под 64 бита не заточено, устарело.
Похоже, чукча не читатель, чукча - писатель. Ты не в первый раз подобные глупости пишешь. Может, найдёшь время и осилишь, наконец, редакции Раста?
> Похоже, чукча не читатель, чукча - писатель. Ты не в первый раз
> подобные глупости пишешь. Может, найдёшь время и осилишь, наконец, редакции Раста?https://github.com/rust-lang/rust/blob/master/RELEASES.md
Читай, не обяпайся.
--
Я кому-то здесь уже писал что первейший признак растокомьюнити - глупость.
https://doc.rust-lang.org/edition-guide/editions/index.html
Читай, не отлынивай.> Я кому-то здесь уже писал что первейший признак растокомьюнити - глупость.
А первый признак глупости - Урри.
> Я кому-то здесь уже писал что первейший признак растокомьюнити - глупость.Неосиляторы Раста - урриподобные сущности, но виновато сообщество при этом. Ага. В зеркало почаще смотрись. Ты хоть сам читал то, что предлагаешь?
Замечу что когда писались новости по редоксу растоманы кричали не "писать ОС в нынешних условиях - это едва ли подъемный проект", а "линуксу конец, на расте писать быстро, пару лет и у нас будет защищенная ос".
> Замечу что когда писались новости по редоксу растоманы кричали не "писать ОС
> в нынешних условиях - это едва ли подъемный проект", а "линуксу
> конец, на расте писать быстро, пару лет и у нас будет защищенная ос".Интересно, а кто-то помимо Военов Сопртивления Расту эти крики слышал?
Например ты.
> Например ты.Я не АнтиРастоВоен, поэтому увы - не слышал.
Но ты, вместо возмущенного попукивания, можешь просто дать ссылку на комменты.
Это они имели в виду, что через два года их лапы дотятнутся до этого нашего линукса. И он будет у них.
> Это они имели в виду, что через два года их лапы дотятнутся
> до этого нашего линукса. И он будет у них.Ну пока сбывается, только годы у них как и у всех инопланетян не земные.
Не устал вопрос то повторять сто раз?)
Ты бы хоть раз бы да ответил.
Nак я не разработчик редокса. И почти на 100% уверен, их тут нет. Не проще ли к ним пойти и у них спросить?
p.s. На сях то заброшенных проектов вообще нету))
если ему ответят, то он больше не сможет задавать вопрос. поэтому ответы не ответы.
Веселые и приятные вопросы можно вечно спрашивать.
Говорят, шутка, повторенная дважды, становится глупостью.
Кто говорит? Глупцы небось?Есть шутки, которые не устаревают сколько их не повторяй.
Вроде, Марку Твену приписывают.Но да, согласен, некоторые шутки до некоторых людей и с третьего раза не доходят.
Во-первых, Redox не бросали -- он всё ещё развивается. И если посмотрите на статистику коммитов, то что год назад, что сейчас -- активность одинаковая.
Во-вторых, авторы разных проектов -- обычно разные люди. Задавать под каждой веткой про Rust вопрос про Redox -- это просто глупо.
В-третьих, сами проекты несут разные цели. Redox, вроде бы, никогда и не рассматривался, как замена Linux и других систем. Из-за чего ваш вопрос про Redox под этой новостью выглядит крайне неуместно.Насколько по-вашему было бы адекватным под каждой новостью о чём-то на C или C++ писать а-ля "Почему Сишники бросили ReactOS?"
ясно, понятно: редох == очередной болгеос от попова.
Ясно, понятно. Очередной аноним в бессильной попытке очернить труд других людей в логику не смог.
> rust
> трудсизифов
В чьём-то очень больном воображении, разве что.
ReactOS, как раз таки, пилится. Ну конца ему не видно, поскольку, проект-догонялка всегда в отстающих.
https://gitlab.redox-os.org/redox-os/redoxЧто-то не похоже на заброшенность, коммиты есть, пулл реквесты тоже. Но надо же вбросить.
> Что-то не похоже на заброшенностьСлышал притчу о Неуловимом Джо?
А ты про логику хотя бы в общих чертах?
> А почему растаманы бросили свою редокс?!А почему нерастоманы бросили свой хурд?
Микроядро.
> Этодругое!А, ну тогда да.
Кстати, а почему нерастоманы бросили свой
Adelian, Aksel, Amoeba,
Arcrascent OS, CakeOS, CapROS, Caracal, Cédille, Clicker, Crocos, d264b, Derrick Operating System ... Valix, WISDOM, XOmB
(более полный список есть в https://wiki.osdev.org/Abandoned_Projects )
Странный вопрос. Даже в новости она упоминается. Интересно, сколько человек дочитывает до конца перед тем, как бежать и комментировать?
Си прощай, здравствуй Rust !
Привет от редокс! Ау! Где она?
> Привет от редокс! Ау! Где она?Привет от Хурд! Ау! Где он?
В данной статье упоминается, например. Или чукча не читатель?
Знаешь, мало что-то упомянуть... Неуловимого Джо тоже упоминают...
Сходить на гитхаб и посмотреть статистику коммитов тебе религия не позволяет?
Не нужно переубеждать фанатиков - это бессмысленно.
Лучше бы серию статей про редукс кто-то где-то сделал,
а может быть и целый ресурс на подобии OpenNet что бы там
почитать что там нового и интересного, а то я подозреваю,
что там могут решить ряд производительных проблем Линукса,
а для знающих и понимающих людей это может быть очень ползеноНо вот дефицит знаний и умений этого Redux очень мешает его изучению и внедрению
> Лучше бы серию статей про редукс кто-то где-то сделалДак там нечего рассказывать... Её еле-еле запускают на железе растаманов. А софта под неё вообще нету.
> что там нового и интересного
Борьба с утечками памяти, вот там что нового и самого интересного.
И Zig!Думаю они как-нибудь вместе с Rust уживутся на отжатой у С поляне.
Скорее Zig станет преемником Rust-а, так как он унаследовал от него лучшее, отбросив никому не нужное.
Можно подробности про "никому не нужное"?
Добро пожаловать, бэкдоры от засланных казачков в секте культистов cargo.
Зачем на Rust? Кому оно будет нужно?Вот написали бы на верифицируемом SPARK - это истинная безопасность.
Поддержка Windows комуто может понравится, а как дела с поддержкой POSIX?
https://www.gnu.org/software/coreutils/manual/html_node/Stan...
export "POSIXLY_CORRECT=TRUE"
export "_POSIX2_VERSION=200809"Сколько тестов POSIX проходит это поделие?
>Зачем на Rust? Кому оно будет нужно?Мне. Этого, считаю, вполне достаточно.
> Вот написали бы на верифицируемом SPARK - это истинная безопасность.
Речь не только о безопасности, но ещё и кроссплатформенности и скорости выполнения. Если всё перечисленное выше возможно реализовать на SPARK - дерзай.
> > Зачем на Rust? Кому оно будет нужно?
> Мне. Этого, считаю, вполне достаточно.Зачем тебе оно на Rust?
> Речь не только о безопасности, но ещё и кроссплатформенности и скорости выполнения. Если всё перечисленное выше возможно реализовать на SPARK - дерзай.
Заявлена потдержка:
OS:
Linux, Microsoft Windows, Mac OS X https://en.wikipedia.org/wiki/SPARK_(programming_language)
FreeBSD, Linux, Solaris/SPARC, Microsoft Windows, Mac OS X https://en.wikipedia.org/wiki/GNAT
Платформ:
amd64 https://packages.gentoo.org/packages/dev-lang/spark
Приоритет у SPARK высокая надежность и безопасность https://www.adacore.com/about-sparkЗа скорость верификации, компиляции и исполнения бинаря я не знаю :(
Язык поддерживает програмирование систем реального времени как и C: http://www.getadanow.com/ Бортовые системы в авиации, системы управления вооружением, прошивки в микроэлектронике не будут писать на тормознутом языке, а на SPARK - пишут!!!
Ок, если всё действительно так хорошо, разрешаю тебе начать писать coreutils на SPARK. Ты начни, главное. А там, глядишь, и другие подтянутся.
Когда то говорили что комерческие компиляторы SPARK лучше, теперь говорят что GNU компилятор стал очень хорош и пригоден для промышленного SPARK.Начать не вопрос. Мне даже первому начинать не смущает.
Вопрос кому оно надо? Где спрос? Кто за это даст мне мешок денег?
> Вопрос кому оно надо? Где спрос? Кто за это даст мне мешок денег?Как это кому? Людям, у кого повышенные требования к безопасности софта (авиация, космонавтика, энергетика, медицина и т.п. сферы).
А вот насчёт других - уже сомневаюсь. Чем безопасней софт, тем дороже обходится его разработка при прочих равных.
> Чем безопасней софт, тем дороже обходится его разработка при прочих равных.За язык программирования SPARK уже заплатили. Платили мешками зеленых бумажек более 40 лет. GNU утверждает что компилятор SPARK наконец готов!!!
Разработка ПО на SPARK теперь обойдется не дороже разработки на Rust или C. А по надежности и безопасности SPARK на первом месте, как бонус получаешь математическую верификацию всего кода на SPARK на отсутствие уязвимостей.
Верифицируемое ПО дешевле писать на SOARK. Rust и C требуют ручной верификации глазами и мозгами человека...
> Зачем тебе оно на Rust?А зачем оно до сих пор на Си было? Раст более безопасный язык, в остальном ничем не уступающий Си. Почему бы не сделать мир чуточку лучше?
Что бы сделать мир чуточку хотя бы лучше, надо писать что-то новое, а не переписывать то, что и так работает хорошо и протестировано годами использования. Какой-то мартышкин труд. Очень похоже на какие-то комплексы и отсутствие реально полезных идей у людей.
Когда-то и в проекте GNU занимались переписыванием UNIX-программ, разве нет?
это юридический вопрос
Очень смешно, учитывая что многие (большинство?) утилиты из GNU Coreutils - переписанные под GNU варианты старых UNIX утилит
Ну вот, пришло время переписать из заново. И в отличие от тупого переписывания на том же языка под другую лицензию, это переписывание имеет явные преимущества. Кроссплатформенность, например.
> явные преимущества. Кроссплатформенность, например.https://www.opennet.me/openforum/vsluhforumID3/126614.html#426
> Раст более безопасный язык, в остальном ничем не уступающий Си.А SPARK еще более надежен и еще более безопасен. В нем даже растового ансейв нету. Все проги верефицируются метематически на уровне исходных кодов.
Сделай мир еще лучше перепиши все с Rust на SPARK.
На счет задач жесткого реального времени не знаю может ли SPARK сравнится с C.
> А SPARK еще более надежен и еще более безопасен.Можно ли SPARK использовать для системного программирования?
> Сделай мир еще лучше перепиши все с Rust на SPARK.
Кто предложил, тот и делает обычно. Так что давай, клаву в руки и вперёд.
> На счет задач жесткого реального времени не знаю может ли SPARK сравнится с C.
Есть мягкое реальное время?
> Можно ли SPARK использовать для системного программирования?SPARK это верифицируемое подмножество языка програмирования ADA.
ADA это изначально спроектированный и разработаный как супер надежный и супер безопасный язык системного программирования.
Пример OS на SPARK: https://muen.sk
> Кто предложил, тот и делает обычно. Так что давай, клаву в руки и вперёд.
Идея ищет мешок денег для реализации.
> > На счет задач жесткого реального времени не знаю может ли SPARK сравнится с C.
> Есть мягкое реальное время?На ASM и C можно такты процессора считать, для жесткого реального времени.
Необходим програмист который писал задачи жесткого реального времени на C чтобы он глянул возможности языка SPARK (ADA).
> Пример OS на SPARK: https://muen.skСпасибо за ссылку. На первый очень поверхностный взгляд - хороший-годный язык. Не понимаю, почему его так не пиарят, как тот же Rust. Но в спецификацию пока не заглядывал, поэтому первое впечатление может быть обманчивым.
> Идея ищет мешок денег для реализации.
Ты не знаешь, куда обратиться? FSF же! Если будешь достаточно убедителен, думаю, они вполне могут глянуть в твою сторону.
> На ASM и C можно такты процессора считать, для жесткого реального времени.
ИМХО, система реального времени - это ведь не про то, быстро или медленно. Это про гарантированное время исполнения.
> Не понимаю, почему его так не пиарят, как тот же Rust.За этот язык платило DoD US, хорошего компилятора свободного не было. Только недавно, говорят, GNU удалось написать хороший компилятор этого языка.
Пиарить язык программирования на котором ведется разработка ПО в департаменте обороны США не хотели или не могли.
> Но в спецификацию пока не заглядывал, поэтому первое впечатление может быть обманчивым.
Меня ; после end чуток напрягает. А так код кажись читабельнее и понятнее получается чем в C.
> ИМХО, система реального времени - это ведь не про то, быстро или медленно. Это про гарантированное время исполнения.
Ща сишники придут и расскажут что они смогут дать гарантии исполнения за определенное количество тактов процессора, а все остальное это "мягкое" реальное время.
> Меня ; после end чуток напрягает. А так код кажись читабельнее и
> понятнее получается чем в C.Очень похож на PL/SQL. Смотрю на SPARK, вижу Oracle PL/SQL. :)
>> Меня ; после end чуток напрягает. А так код кажись читабельнее и
>> понятнее получается чем в C.
> Очень похож на PL/SQL. Смотрю на SPARK, вижу Oracle PL/SQL. :)Базовый синтаксис языка SPARK(ADA) придумали Французкие математики в конце 1970-тых.
Ну так и Oracle PL/SQL основан на Ada.
https://git.codelabs.ch/?p=muen.git;a=tree;f=kernel/srcПример ядра OS на языке SPARK. По нему и драйверам, например дисков, можно судить о возможностях SPARK для написания ПО для задач жесткого реального времени.
> Ещё одним важным отличием uutils является распространение под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.Ах как хочется продаться... Ну, вы поняли.
Пермиссив хотя бы свободнее. GNU не даёт использовать в проприетарщине, жирный минус на мой взгляд
> GNU не даёт использовать в проприетарщинеСам пиши, а не воруй чужой код!
Если вы решили выложить в паблик, выкладывайте уж честно - для всех. А то что за опен такой, который и использовать-то нельзя, зачем он тогда? А не хотите, чтобы использовали - ну оставьте проприетарным, какие проблемы-то?
> что за опен такой, который и использовать-то нельзяТо-то весь мир использует - видимо просто не догадывается, что нельзя.
Ну в закрытых проектах не получается нормально использовать, без хаков. В конце концов, корпорации без хаков используют FreeBSD, а с линуксом нужны выверты. Из-за лицензии линукса на нем нельзя ZFS даже. Так что freebsd - куда свободнее
То есть ты хочешь и чужим кодом попользоваться, и свой огородить? Хехе, вот именно от таких субчиков и спасает GPL.
А что в этом плохого? В этом - свободаСвоим opensource кодом я тоже разрешаю пользоваться всем
> Своим opensource кодом я тоже разрешаю пользоваться всемТы разрешаешь. Это твое право и я его уважаю. Потому что ты пишешь свой код, возможно используешь открытый код других и открываешь результат.
А предыдущий аноним не разрешает. Я бы его тоже уважал. Он ведь тоже пишет свой код и тоже использует чужой открытый код. Но в отличие от тебя он, зараза, не хочет открывать результат.
Поэтому я пишу свой код, юзаю чужой и открываю результат НА ТАКИХ ЖЕ УСЛОВИЯХ (с тобой поделись -- делись и ты с другими).
Пермиссивные лицензии делают кучу компаний зависимыми от СПО. Вы недооцениваете важность этого момента. Поэтому пермиссивного СПО уже больше и дальше его доля будет только расти, в отношении к копилефт.
> Пермиссивные лицензии делают кучу компаний зависимыми от СПО.Я не уверен, что понимаю вашу логику. В любом случае, компании знают, на что подписываются.
> Поэтому пермиссивного СПО уже больше и дальше его доля
> будет только расти, в отношении к копилефт.Мне от этого не холодно и не жарко. Если кто-то сознательно избегает копилефта, значит мне с этим жлобом не по пути.
> Я не уверен, что понимаю вашу логику. В любом случае, компании знают,
> на что подписываются.Ну у них выбор не большой: либо покупать требуемый софт и сидеть на крючке у поставщика, либо брать СПО и зависеть от него, участвовать в доработке. Второй вариант зачастую лучше.
>> Я не уверен, что понимаю вашу логику. В любом случае, компании знают,
>> на что подписываются.
> Ну у них выбор не большой: либо покупать требуемый софт и сидеть
> на крючке у поставщика, либо брать СПО и зависеть от него,
> участвовать в доработке. Второй вариант зачастую лучше.Мне этот выбор видится немного по-другому.
Если нет планов "участвовать в доработке", то выбор между платным (возможно, с поддержкой) и бесплатным (без поддержки). Лицензия здесь играет незначительную роль -- может быть опенсорс с платной поддержкой, а может быть платная проприетарь без никаких гарантий (ибо бесплатных аналогов нет).
Если есть планы дорабатывать, но нет планов распространять, то абсолютно безразлично, что выбирать.
А только лишь в случае, когда хочется распространять доработанное, придётся серьёзно выбирать. Но не между проприетарью и СПО, а лишь между типами СПО лицензий. В зависимости от выбранного варианта, где-то надо открывать наработки, а где-то необязательно.
Ну, по личному опыту скажу, что компании охотнее имеют дело со свободным ПО, распространяемым по пермиссивным лицензиям. Хотя вроде и не планируют свой продукт, построенный с использованием СПО, распространять. Имею ввиду именно то ПО, которое дорабатывается и исходники которого включаются в состав ПО компании (то есть разного рода программыне библиотеки), а не то ПО, которое просто используется функционально.
Так это типичный эксперд opennet, ставший легендарным в анналах истории.Он сам ни строчки кода в open-source не написал. Ни под Apache, ни под GNU.
Скорее всего он вообще никуда ни строчки не написал.
Но любит порассуждать за абстрактную свободу и идеалы (естественно чужими руками).
> А что в этом плохого? В этом - [МОЯ] свободаЯ исправил.
Это не свобода. Потому как ваша свобода заканчивается там, где начинается свобода другого.
А когда "моя - свобода, а ты иди на_ер" - то это, ммм..., даже не знаю как культурно назвать.
Так моя свобода не ограничивает в данном случае свободу других, другие могут прийти по той же ссылке и взять тот же пермиссивный код, что взял я. А вот со своими доделками я и другие распоряжаемся как хотим, а не принудительно в паблик
>А вот со своими доделками я и другие распоряжаемся как хотим, а не принудительно в пабликЕсли ваша доделка в виде бинарника попала в руки допустим мне, то вы таким подходом ограничили мою свободу.
Никто же не запрещает пользоваться своими доделками исключительно лично, без распространения.
Ну так я может вам свободы на свой бинарник и не давал. И в этом моя свобода - не давать А вот на тот пермиссив нам с вами дали - пожалуйста, пользуйтесь им, как и я. Соберите из исходников нужный вам бинарь
что и указано ранее: "моя - свобода, а ты иди на_ер". Все-таки мы про свободу или вседозволенность?
> Все-таки мы про свободу или вседозволенность?Не ходите по кругу, то, что я взял, не отнимает у вас свободу взять там же, где взял я. Всё хорошо, все свободны, каждый распоряжается как хочет тем, что он взял
это работает до тех пор, пока вы не распространяете продукт своих изменений.И с чего вы взяли, что я могу взять что-то там же где и вы? Чего делать если хостинг сдулся или гитхаб забанил репозиторий?
> это работает до тех пор, пока вы не распространяете продукт своих изменений.А мои изменения не имеют никакого отношения. Из того источника берите - пожалуйста, а мои изменения - ну если я разрешу, то да. В этом и свобода, что каждый может менять как хочет и распространять эти изменения, как он хочет. Вы тоже можете поменять и ни с кем не делиться
> И с чего вы взяли, что я могу взять что-то там же где и вы? Чего делать если хостинг сдулся или гитхаб забанил репозиторий?
Ну это уже ко мне не относится, я вот успел взять. Вы не успели - печально, искренне жаль вас
Вы поймите правильно, я ж не против GPL per se. Я против того, чтобы называть это свободой, ибо GPL налагает условий мама не горюй
>GPL налагает условий мама не горюйВы как-то очень вольно трактуете слово "свобода". Вот разработчики, выкладывающие свой код под лицензией GPL, тоже обладают свободой выбора лицензии. Если вам не нравится эта лицензия, вы свободны не пользоваться их кодом.
Взять можно с одинаковой лёгкостью код и под той и под другой лицензией. Делиться своим кодом тоже можно с лёгкостью и под той и под другой лицензией. Но вот взять и не делиться своими доработками проще в случае с пермиссивными лицензиями.
И в таком ракурсе становится очевидно, зачем вам пермиссивные лицензии - чтобы брать и не делиться. В биологии это называется паразитизмом. Паразитизм - это не взаимовыгодное сотрудничество. Поэтому успех пермиссивных лицензий во многом определяется соотношением альтруистов и паразитов в обществе.
> Вы как-то очень вольно трактуете слово "свобода". Вот разработчики, выкладывающие свой
> код под лицензией GPL, тоже обладают свободой выбора лицензии.Я не против GPL per se и не против их свободы её использовать - я против называния GPL "более свободной". Свободнее - пермиссив, самый свободный - общественное достояние. Вот
А что не так? Вас чтото беспокоит когда люди берут свободное и зарабатывают? Вы так и не научились отделять лицемерное "свободное" от действительно свободного?
> А что не так? Вас чтото беспокоит когда люди берут свободное и
> зарабатывают? Вы так и не научились отделять лицемерное "свободное" от действительно
> свободного?Не подменяй понятия, мой анонимный друг. GPL не запрещает зарабатывать. GPL всего лишь просит поступать с другими так же, как поступили с тобой. Юзаешь -- дай юзать другим. Изменил -- дай изменить другим. Скачал чужое -- дай скачать свое.
> Юзаешь -- дай юзать другим.Принцип хороший, я не спорю. Но где тут свобода? Плюс никто ж не запрещает вам взять код из того же места, где взял я, и сделать те же самые доработки, которые сделал я.
Ядро под GPLv2, ну и где, мой юный друг, свободные и открытые Nvidia драйвера графики и кучи всего остального?
а что, Nvidia взяли где-то свободный драйвер для Nvidia и закрыли свои доработки для него? Или драйвер Nvidia основан на ядре?
Они взяли наработки ядра Linux, управление памятью, структуры, инициализация, поддержка процессорных архитектур и тд и тп.И написали к нему расширение, которое работает в пространстве ядра. Ядро под GPLv2.
Повторяю свой вопрос. Где открытый и свободный Nvidia драйвер под GPL?
Или ты думаешь что остальные 10-20 млн. строк кода ядра - это не наработки?
Какой % кода ядра содержится в драйвере?GPL там обошли с помощью обертки, как и в других проектах.
Вы так пишете, что проприетарных проектов на линуксе быть вообще не может: софт без ядра работать не может (без управления памятью, обработки сетевых пакетов и т.д.), не говоря уже про libc и прочее.
Он не может работать в пространстве ядра в одном адресном пространстве.Это уже давно известно.
Для пространства пользователя сделано особое исключение.
И не важно какой процент, не занимайтесь казуистикой.
Ни одна строчка в ядре не может быть проприетарной. Никакие обёртки не являются законными.
Однако...
обертка с ядром не распространяется и в бинарном виде в состав не входит, ответственность за ее компиляцию и использование лежит на конечном пользователе, а пользователи сборки не распространяют. Так что проприетарных строчек в ядре нет.а про zfs что скажете? На линукс ее портировали другие люди, в состав ядра она тоже не входит. Теперь надо искоренить ее на всех серверах или это повод заставить оракл изменить лицензию?
> Они взяли наработки ядра Linux, управление памятью, структуры, инициализация, поддержка процессорных архитектур и тд и тп.Т.е. stable_api_nonsense у лап4@тых тоже под жопээлью? Ясно-понятно.
> Где открытый и свободный Nvidia драйвер под GPL?Вот же,.. этот, как его... nouveau, хавай не обляпайся. А _драйвер_ для вас теперь по остаточному принципу. Докудахтались.
Да да, мы знаем вам хочется чтобы весь мир был ЕЕЕ
Так вот они и написали, а ты весь уже от зависти сгорел, что GNUтые утилиты стали никому не нужны теперь.
Про GCC вы уж сколько лет поёте, что он теперь ненужен, что его заменит пермиссивно-проприетарный Шланг.
И он это сделал. GCC остался удел только для legacy C и C++. Все новые проекты написаны под LLVM.Например, Swift, Zig, Rust.
Oдин проек офигительней другого.
В прошлом треде уже видели как раст линкуется с глибц и либгцц. Мне кажется вы зря плюете в колодец из которого пьете. ;)
Пока линкуется.
> В прошлом треде уже видели как раст линкуется с глибц и либгцц.Э-э, расскажи поподробнее за glibc на венде или фре.
Ну и заодно, за другой "официальный" API к сисколам:
https://man7.org/linux/man-pages/man2/syscalls.2.html
> System calls are generally not invoked directly, but rather via wrapper functions in glibc (or perhaps some other library).Только чур, чтобы не нужно было мейнтейнить кучу версий под каждый дистр.
Для меня - давно заменил. С версии 9 только им и компиляю.
>Сам пиши, а не воруй чужой код!Напишите это гпльщикам, ворующим апаче-код и не возвращающих код в альмаматер. Но стрелочка обратно не поворачивается, да, фанатик?
>Пермиссив хотя бы свободнее. GNU не даёт использовать в проприетарщине, жирный минус на мой взгляджирный минус тебе за твой взгляд
MIT это тоже самое что as is
>MIT это тоже самое что as isСловосочетание "as is" то есть, "как есть" используется абсолютно во всех лицензиях, в том числе и в пермиссивных. Его смысл - "автор не несёт ответственности" за работу своего кода. Это юридическая формальность, которая защищает от паразитов-вымогателей. Например, кто-то поюзал твой музыкальный плеер, а затем испытал моральные страдания, и вот к тебе прилетает иск.
> Например, кто-то поюзал твой музыкальный плеер, а затем испытал моральные страдания, и вот к тебе прилетает иск.Например, кто-то поюзал твой музыкальный плеер и получил угробленную до стадии полной невосстановимости файлуху из-за случайно перепутанного в коде плеера плюса с минусом и вот к тебе прилетает иск
GNU не даёт использовать в проприетарщине безвоздмездно, жирный плюсюще.
В чём плюс? Проприетарный код двигает мир
Куда, в стойло?
Ха-ха, а ты посмотри кто делает коммиты я ядро линукса :)
И увидешь там страшных корпорастов: IBM, intel, google...А то решили тут комунизм устроить
> Ха-ха, а ты посмотри кто делает коммиты я ядро линукса :)
> И увидешь там страшных корпорастов: IBM, intel, google...а проприетарный код где?
> А то решили тут комунизм устроить
ГПЛ это о рыночных отношениях: я тебе - ты мне.
> ГПЛ это о рыночных отношениях: я тебе - ты мне.Вообще-то нет. Рынком здесь и не пахнет. Потому что один из признаков рынка - это конкуренция. Кто с кем соревнуется, делая вклад в GPL-софт? Никто ни с кем. Речь идёт только об экономии бабла на программистах, которых или нанимают сообща (через FSF, например), либо делая пожертвования отдельным личностям/коллективам.
>Кто с кем соревнуется, делая вклад в GPL-софт?редхат соревнуется ораклом, с зюзей, с компаниями оказывающими поддержку дебиана, и тд и тп.
Почему я не удивлён что растаманя считает опенсурс экономией бабла на программистах? Хах, классика дегенеративизма, или, как говорят в народе: беда не приходит одна.
>ГПЛ это о рыночных отношениях: я тебе - ты мне.GPL - это коммунистическая собственность. Слово "коммунити" - не случайность. В GPL действует принцип "от каждого - по способности, каждому - по потребности".
Не умеешь писать кодеки, СУБД, сетевые серверы - пиши хотя бы утилиты командной строки. Не умеешь писать сам - хотя бы делй тести и патчики отправляй. Не умеешь делать тесты или патчи - пиши документацию. Не умеешь писать документацию - переводи чужую документацию, правь опечатки, исправляй логические ошибки. Не умеешь переводить и править опечатки - отвечай на вопросы, помогай другим разбираться с их проблемами. В общем, делай то, на что способен.
При этом пользоваться можно абсолютно всеми разработками, находящимися в общественной собственности.
А лицензия GPL нужна свободному ПО, как государство коммунистам - чтобы обороняться от капиталистов. Когда и если капиталисты исчезнут, отпадёт необходимость и в лицензиях и в государствах.
А что будет если какой-нибудь высокопоставленный коммунист окажется замешан в связях с капиталистами в то время как работяги в добровольно-принудительном порядке будут на всё это дело пахать? Своим - всё, врагам GPL в лицо. GPL вовсе не мешает крупным компаниям, более того, они ФАКТИЧЕСКИ этот коммунизм возглавляют и Rust кстати - очередной их поводок. Я верю лично в ВАШ коммунизм, учитывая то, что вы как и любой советский человек тонете в собственной наивности до тех пор, пока не окажетесь у ГУЛАГе.
>>ГПЛ это о рыночных отношениях: я тебе - ты мне.
> GPL - это коммунистическая собственность. Слово "коммунити" - не случайность. В GPL
> действует принцип "от каждого - по способности, каждому - по потребности".
> Не умеешь писать кодеки, СУБД, сетевые серверы - пиши хотя бы утилиты
> командной строки. Не умеешь писать сам - хотя бы делй тести
> и патчики отправляй. Не умеешь делать тесты или патчи - пиши
> документацию. Не умеешь писать документацию - переводи чужую документацию, правь опечатки,
> исправляй логические ошибки. Не умеешь переводить и править опечатки - отвечай
> на вопросы, помогай другим разбираться с их проблемами. В общем, делай
> то, на что способен.Или не делай, это публичная оферта. Принимаешь условия -- у тебя такие-то права.
> При этом пользоваться можно абсолютно всеми разработками, находящимися в общественной
> собственности.А можешь не пользоваться. Если принимаешь -- у тебя кроме прав есть и ответственность перед остальными "всеми разработчиками".
> А лицензия GPL нужна свободному ПО, как государство коммунистам - чтобы обороняться
> от капиталистов. Когда и если капиталисты исчезнут, отпадёт необходимость и в
> лицензиях и в государствах.тоесть никогда, а сейчас лицензия регулирует рыночные отношения. Ой вей, столько слов зря потратил.
Хаха, они бы не делали коммиты в ядро, будь оно не под GNU.
> GNU не даёт использовать в проприетарщине безвоздмездно, жирный плюсюще.Ну не томи, покажи нам уже Ext патчи для ядра от гугла!
Или "Это было давно и поэтому уже почти неправда!"
Никакой свободы врагам свободы
..моя политика. в менты берут после двух лет психоаналитика
Их уже 5 лет никто особо не покупает. Глупо думать, что "человеческая глупость" имеет хоть какие-то мотивы.
Забавно выглядит переписывание хорошего кода (местами не очень, но в целом норм) на "безопасном" языке, не обеспечивающего никакой безопасности.
> Забавно выглядит переписывание хорошего кода (местами не очень, но в целом норм)Там в первоисточнике написано, кстати, что в процессе они зарепортили несколько багов в сильных кореютилсах. Так что да, да
> в процессе они зарепортили несколько баговВот это действительно хорошая работа. Теперь понятно, для чего Раст нужен -- пока на него переписывают, находят и исправляют ошибки в оригинальном коде. В результате код на раст-е становится не так сильно и нужен
А в чём смысл, если Сишные утилиты будут рано или поздно заменены растовскими?
> А в чём смысл, если Сишные утилиты будут рано или поздно заменены
> растовскими?Ну вот какое отношение будет иметь раст к тому языку, но котором напишут настоящую замену Cишым утилитам? Где раст, с его говно*** (зачеркнуто) с восходом солнца вручную (зачеркнуто) с безопасным управлением памяти и где C с его копиркой ассемблера в осмысленные конструкции?
У питона куда больше шансов заменить С, чем у раста.
А чем вам так не нравится безопасное управление памятью?Я вот сам лично топлю за функциональные языки, Haskell там. Но они достаточно высокоуровневы. Rust же чуть поближе к железу, но при этом берет передовые концепции функционального программирования и языков на вооружение, win-win ситуация
> А чем вам так не нравится безопасное управление памятью?Потому что это "безопасное управление памятью".
1. Ошибки выхода за границы там решаются очевидно бредовым способом (проверяя каждый раз границы)
2. Ошибки с потерей "хозяина" релоцируемой памяти я в своей жизни не встречал
3. Ошибки с потерей "хозяина" стековой памяти вещь очень специфическая
В результате получается новый класс ошибок, с "копированным объектом".
Ошибки типа, убили "компонент" и не оповестили всех "пользователей" решать дарением копии "компонента" выглядит как какой-то садо-мазо (не спорю, многим нравится, но тут вопрос не вкусов).
А в том, чтобы писать на Расте за деньги я ничего страшного не вижу.
1. Поэтому их лучше вообще не решать? И это не бред?2. Но они есть. А твой опыт в данном случае ничтожен.
3. Их тоже не надо решать?
Про убивание компонента вообще какая-то дичь. Что это было?
> 1. Поэтому их лучше вообще не решать? И это не бред?Лучше знать о проблеме, и её учитывать на этапе проектирования/реализации, чем проверять то, что не нужно по 5/10 раз на итерацию.
> 2. Но они есть. А твой опыт в данном случае ничтожен.
А если учесть, что видны они на этапе написания кода, то мой опыт как раз показателен.
> 3. Их тоже не надо решать?
Ну как же их решать, если у кодера уже хватило мозгов сохранить ссылку на стековую переменную?
> Про убивание компонента вообще какая-то дичь. Что это было?
Да, выразился непонятно, я имел в виду инверсию зависимостей и как можно в это вляпаться, если использовать Раст и игнорировать "Мы так не делаем" от RustMen-ов.
> Лучше знать о проблеме, и её учитывать на этапе проектирования/реализации, чем проверять то, что не нужно по 5/10 раз на итерацию.Ты со статистикой крупных проектов знаком? Около СЕМИДЕСЯТИ ПРОЦЕНТОВ ошибок в общем их количестве связаны с некорректной работой с памятью. MS, в начале двухтысячных было дело, на несколько месяцев пришлось остановить процесс разработки, только чтобы обучить своих программистов, как правильно работать с памятью. С тех пор количество ошибок поуменьшилось, но не исчезло полностью. В остальных проектах примерно всё то же самое.
Если используемый для реализации инструмент изначально дыряв, то как ты ни проектируй потом софт, всё равно получишь "шайбу".
> А если учесть, что видны они на этапе написания кода, то мой опыт как раз показателен.
Если такие ошибки возникают, видны или нет - уже человеческий фактор, другими словами - зияющая дырень.
> Ну как же их решать, если у кодера уже хватило мозгов сохранить ссылку на стековую переменную?
Бить по рукам на этапе компиляции, например?
> я имел в виду инверсию зависимостей и как можно в это вляпаться, если использовать Раст
И что с инверсией зависимостей не так? Причём здесь Раст, который не совсем чтобы объектно-ориентированный?
> Если используемый для реализации инструмент изначально дыряв, то как ты ни проектируй потом софт, всё равно получишь "шайбу".Конкретно в этом случае дырявый явно не язык программирования.
> человеческий фактор ... зияющая дырень
По моему, при такой постановке нужно не новые языки придумывать для этих мешков с мясом...
> Бить по рукам на этапе компиляции
Для этого нужно вначале сделать безопасный язык с поддержкой базовых абстракции ООП, чтобы не приходилось в структуры в роли объектов гонять по коду. Или, ну не знаю, как-то стимулировать, чтобы человеки выучил основы работы с памятью.
> Раст, который не совсем чтобы объектно-ориентированный
Отсутствие базовых конструкций для проектирования ОМ не отменяет того, что базовые абстракции мешков с мясом включают объекты, верхний уровень абстракции на 98% состоит из них (не у всех в явном виде). От того, что при реализации код можно нормализовать убрав из него явные ОО конструкции не говорит, что ОМ нет -- просто код становится труднее читать и при дальнейшей модификации появляются неявные ошибки.
> Конкретно в этом случае дырявый явно не язык программирования.ЯП, который позволяет человеку делать всё, что угодно, да ещё по умолчанию - дыряв и убог. Понятно, что я не имею ввиду, что там компилятор багованый. Как показывает история развития языков, их авторы, проектируя новые ЯП, стремятся оградиться от возможных факапов, которые способен допустить человек (программист), и от которых можно защититься на этапе то ли компиляции, то ли во время исполнения (для интерпретируемых сред).
> По моему, при такой постановке нужно не новые языки придумывать для этих мешков с мясом...
Увы, пока компьютер не в состоянии понимать человека. Так что приходится создавать языки со всё более и более продвинутыми абстракциями.
> Для этого нужно вначале сделать безопасный язык с поддержкой базовых абстракции ООП,
> чтобы не приходилось в структуры в роли объектов гонять по коду.Чем тебе Rust не подходит в этой роли? Инкапсуляция - есть. Вместо наследования - принцип композиции. Вместо полиморфизма - параметрический полиморфизм. Обобщённое программирование есть. Работа с памятью безопасна по умолчанию (но если нужно, можно повыпендриваться, используя unsafe (сразу замечу, без этого в некоторых случаях никак)). Только не говори, пожалуйста, про уродливый синтаксис. Обычно так говорят люди, которые не знают языка от слова "совсем". Он вполне себе обычный: не хуже, не лучше других языков, да хоть тех же Плюсов. Да, есть необычные конструкции, но чтобы их понимать, надо просто разбираться в языке.
Структуры в Rust - это и есть своего рода аналог объектов из мира ООП.
Кстати, а что такое структуры в Плюсах? ;)
> Или, ну не знаю, как-то стимулировать, чтобы человеки выучил основы работы с памятью.
Человеки не глупые, выучить могут, и учат. Человеки НЕВНИМАТЕЛЬНЫЕ, они не могут гарантировать 100-процентную концентрацию внимания во время работы над кодом. Поэтому без помощи со стороны компилятора (линтера, анализатора, санитайзера и прочих приблуд) могут ошибаться и ошибаются.
Урри тут уже предлагал использовать CI, QA. На мой вопрос, почему в одной из самых популярных Сишных библиотек дырень висела 15 лет, он попросту слился. А правильный ответ всё тот же - утеря концентрации внимания. Ни один человек от этого не застрахован, каким бы усидчивым и внимательным он ни был.
Если ЯП не гарантирует корректную работу с памятью, такие проверки приходится проводить дополнительными средствами, которые, в свою очередь, тоже несовершенны. Кроме того, это в целом удорожает процесс программирования.> Отсутствие базовых конструкций для проектирования ОМ не отменяет того, что базовые абстракции
> мешков с мясом включают объекты, верхний уровень абстракции на 98% состоит
> из них (не у всех в явном виде). От того, что
> при реализации код можно нормализовать убрав из него явные ОО конструкции
> не говорит, что ОМ нет -- просто код становится труднее читать
> и при дальнейшей модификации появляются неявные ошибки.Сорри, этот абзац полностью я не распарсил. Если ты про то, что без ООП жить нельзя, хочу тебе напомнить про функциональные ЯП. Программисты, их использующие, прекрасно обходятся без классов, объектов, методов, наследования и прочей лабуды из мира ООП.
> Отсутствие базовых конструкций для проектирования ОМ не отменяет того, что базовые абстракции
> мешков с мясом включают объекты, верхний уровень абстракции на 98% состоит
> из них (не у всех в явном виде). От того, что
> при реализации код можно нормализовать убрав из него явные ОО конструкции
> не говорит, что ОМ нет -- просто код становится труднее читать
> и при дальнейшей модификации появляются неявные ошибки.Глянул на два поста выше, понял о чём ты. Так что не так с инверсией зависимостей, всё-таки?
> Сорри, этот абзац полностью я не распарсил. Если ты про то, что без ООП жить нельзя, хочу тебе напомнить про функциональные ЯП. Программисты, их использующие, прекрасно обходятся без классов, объектов, методов, наследования и прочей лабуды из мира ООП.С тем, что в функциональный язык точно так же ложится на ОМ как и ОО язык, просто не используются языковые конструкции. Более того, если взять обычный императивный ЯП добавить базовые абстракции, типа кортежей и операторов и заоптимизировать это до потери пульса (в первую очередь ленивой работой с памятью и поддержкой патчей на данные) Мы получаем возможности функционального программирования (и, возможно, не хуже имеющихся языков). Проблема многих функциональных языков, что они с самого начала игнорируют некоторые классические подходы (из-за методических ограничений).
> Глянул на два поста выше, понял о чём ты. Так что не так с инверсией зависимостей, всё-таки?
С тем, что на эти вопросы разработчики, поначалу, положили болт с формулировкой "у нас так не принято". Сейчас уже есть различные решения (помимо Cargo), первое, что попалось https://crates.io/crates/shaku , но на чистом Rust-е так не получится (придётся работать с "клонами", что совсем "другое" или городить велосипеды).
Двойное освобождение памяти тоже не встречал?Утечку памяти из-за неосвобождения не встречал?
Переполнение буфера фигня вопрос?
И про некорректное приведение типов не слышал?
Не осилил, так и скажи.
> Не осилил, так и скажи.Да, конечно :-D
на каких платформах?
Два хрустальных шара этому господину...
Лучше титановых. И запасные зубы, он их так забавно раздает...
Сидит такой очередной эксперд и рассказывает людям, пытающимся улучшить имеющийся код, какие они глупые. Просто прелесть. А ведь код становится лучше, и заметно лучше местами.>"безопасном" языке, не обеспечивающего никакой безопасности
Ну раз ты так говоришь, как тебе можно не поверить. Ведь в Амазоне, MS, Huawei, Google и прочих спонсорах одни идиоты работают, м-да...
Умора, одним словом.
Как будто бы в этом есть что-то плохое.
Так для этого всю эту кашу с переписыванием на другом языке и замутили. Чтобы потом выкинуть GNU Coreutils, как сейчас выкидывают GCC и пихают везде Clang.
Куча сломанного софта, куча функций современных ОС не реализована, но растовики переписывают то, что и так (пусть не идеально) работает.Чтобы им пусто было.
И да, чтобы не быть бессмысленным занудой: вот свой Servo для Firefox бы пилили -- было бы дело. Скорость, безопасность, всё вот это ровно там бы очень было нужно.
> Чтобы им пусто было.Что вы так хейтите, вам-то чем эти люди помешали?
Болезнь есть такая.
Ага, растамания головного мозга.
> Ага, растамания головного мозга.Это когда везде растоманы мерещатся? Так на опеннете это уже на эпидемию смахивает.
почему это вас заботит? пусть что хотят то и делают, демократия и капитализм же
> почему это вас заботит? пусть что хотят то и делают, демократия и
> капитализм жеДемократия и капитализм разрешают мне хейтить всё, что мне захочется хейтить. Я же не с пушкой у них над ухом стою.
спору нет, но на хейт ИМХО уходит много позитивной энергии, которую вы могли бы потратить на улыбки окружающим, к примеру
> потратить на улыбки окружающимВместо того, чтобы хейтить сиси++, растаманы могли бы потратить время на улыбки окружающим.
Сиси это не для них, вероятно.
Моя энергия - как и куда хочу, туда и трачу.
> демократия и капитализмА что, критика при демократии и капитализме - запрещена?!
Не запрещена, как и критика критики
Критика уязвимых запрещена!
Удваиваю.
Еще и МИТМ лицензию впихнули.
> И да, чтобы не быть бессмысленным занудой: вот свой Servo для Firefox бы пилили -- было бы дело. Скорость, безопасность, всё вот это ровно там бы очень было нужно.Вы же понимаете, что Servo и заменой coreutils занимаются разные люди из разных организаций и с разными конечными целями и задачами? Или вы считаете, что если кто-то решил для своих целей использовать Rust, то он должен заниматься Servo?
Servo уже запилен. Да так, что работает быстрее чем движок CSS хрома на C++ (а он, на минуточку, написан сильнейшими программистами мира, которых гугл смог нанять!).
Какое разработчикам должно быть дело до вашего мнения? Вам надо в и разрабатывайте
О, Rust - это хорошо, было куча архитектур - стало две.
хаа, лол
Согласен, лол. Стало три.
Свидетели "очень нужных архитектур" подьехали...
Сейчас раскажут что обязательно нужно поддержать код-мамонта 30 летней давности.ps Урри, привет тебе чего-то не было видно в теме про CVE в либе с 95го года.
Может прокоментируешь)
Я не уверен, какие наверняка нужные, но точно знаю ненужную(е): арм.
А знаешь что я люблю, анон?! Сообщество нетбсдшников. Не, не тогда когда они переименовывают блэклист в денайлист. А когда они портируют код на какую-нибудь железку, грузят нетку на этом гвне мамонта, и показывают топ. И оказывается, что она и там летает.Красиво, чшорт побери. И код у нетки красивый, и хакеры, с их любовью к машинам, с их желанием их оживить -- это красиво.
А вы, модные пацанчики, с растом наперевес, и любителями то греп хоронить, то си, то ядро линукса, то архитектуры, вызываете лишь сожаление. Не в смысле "мне вас жаль", этого высокомерного апломба :-D Просто грустно за вами наблюдать.
Не грусти. Галоперидольчику поди попей. Успокойся. Всё будет хорошо.
> Не грусти. Галоперидольчику поди попей. Успокойся. Всё будет хорошо.Как скажешь, док.
Люто плюсую :)Очень рад, что здравомыслящие люди пока ещё есть. Жаль только, что вот так наткнуться на них становится всё менее вероятно.
Способность запускаться и работать как на архитектуре 30 летней давности, так и на современной - это показатель качественного кода. Вот в NetBSD так и поступают, качественный красивый код, к-й без костылей работает на всех поддерживаемых архитектурах.
мамонты обсуждают мамонтов
Ничего кроме раст! Раст - это будущее!
> успешно выполняются 214 тестов, но 313 тестов аналог на Rust пока не проходит.
минусующие реально не понимают иронию?
Итак, товарищи, столица автоматически переносится в НьюРастюки!
Не нравится раст - придумай ЯП лучше!
Давно уже придумали, js называется.
Как там с написанием модулей ядра на нём? Что лучше в ядро засунуть: V8 или SpyderMonkey?
Уже есть такой C++ называется!
C++. Никакого контроля от компилятора за ошибочным кодом. Дожили
Кофемолка - мелет кофе.
Пылесос - собирает пыль.
Стиральная машина - стирает.
Компилятор - компилирует.Неужели у смузихлебов недостаточно мозгов, чтобы овладеть двумя высококачественными, специализированными под две совершенно различные задачи, инструментами?
Сейчас недостаточно компилировать код, нужно следить за ошибками. Взгляни, как строги компиляторы в функциональных языках программирования, таких как Haskell или Idris. Rust - это попытка сделать более низкоуровневый язык с таким же сильным компилятором. Почему этому идёт такое яростное сопротивление - не понятно, идея-то классная
Чем сложнее компилятор, тем тупее ошибки делают растаманы. Как там в FF было: при проверке индекса массива растаманы перепутали сравнения больше-меньше.
Растаманы, растаманы, а сишники или джависты не делают ошибок в логике?
> нужно следить за ошибкамиДля этого разработаны другие специализированные инструменты и полноценные процессы. Гуглить по ключевым словам "CI", "QA".
> Взгляни, как строги компиляторы в функциональных языках программирования, таких как Haskell
Хаскель не занимается отлавливанием ошибок. Хаскель - компилятор. Хаскель - компилирует. И все. О чем и речь.
> Rust - это попытка сделать более низкоуровневый язык с таким же сильным компилятором
Вы, растоманы, даже значения айтишных слов не знаете. А туда же, рассказывать как правильно.
Компиляция - трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке. Все.
> Почему этому идёт такое яростное сопротивление - не понятно, идея-то классная
Идея (про строгую математику владения объектами) - классная. Зато вот реализация (вся, не только этой математики) - через жoпу.
А сопротивление почему я вам объясню:
Представьте себе ситуацию. Работает некий отдел проектирования, который разрабатывает мосты. Они уже лет 50 это делают, их мосты построены по всему миру и каждый день по ним проезжает несметное количество транспорта. Понемногу даже они развиваются и если раньше строили мосты каменные, то сейчас давно возводят железобетонные.
И тут забегает к ним в отдел некая обезьяна, только вчера слезшая с пальмы, и начинает вопить "вы все идиоты", "вы неправильно все делаете", "вот я знаю как надо", "достаточно взять гoвнo, пару палок, слепить все в кучу и будет самый лучший в мире мост!".
На вопросы "какой именно мост? путепровод, виадук, железнодорожный, автомобильный?" обезьяна громко заявляет "это все одно и то же!", "моя концепция говна и палок делает любой мост, при чем абсолютно надежный, дядюшка Кирику математик, он посчитал", "И вообще, вон мои друзья бандар-логи слепили один такой, там за углом лежит, воняет. зато как настоящий!".
Даром что эта обезьяна не отличает компилятор от анализатора^W^W^W виадук от моста, даром что концепция ее палок меняется каждых полгода - вопли не прекращаются.
Вот поэтому вас и не любят.
> Гуглить по ключевым словам "CI", "QA".Тестирование - это, конечно, хорошо, но хочется предотвращения и доказательства корректности.
> Хаскель не занимается отлавливанием ошибок. Хаскель - компилятор. Хаскель - компилирует. И все. О чем и речь
А кто соответствие типов проверяет? Ошибки типов как раз компилятор и отлавливает.
> Зато вот реализация (вся, не только этой математики) - через жoпу.
Что конкретно плохо? Компилятор компилирует, программы работают. Конкретно в новости программы не проходят всех тестов потому, что кореютилс имеют столько флагов и режимов, что все их реализовать не так-то просто и не так-то быстро (при том, что не факт что они шибко популярные, ну да ладно, есть и есть)
> И тут забегает к ним в отдел некая обезьяна, только вчера слезшая с пальмы, и начинает вопить "вы все идиоты", "вы неправильно все делаете", "вот я знаю как надо", "достаточно взять гoвнo, пару палок, слепить все в кучу и будет самый лучший в мире мост!".
Ну никто же не пришел к чувакам из coreutils с такими криками. Наоборот, люди сами строят мост.
С другой же стороны, на opennet'е набрасываются на любую разработку на Раст, что она будет априори говно. Чем это лучше?
> Тестирование - это, конечно, хорошо, но хочется предотвращения и доказательства корректности.Хочется, не спорю.
> А кто соответствие типов проверяет? Ошибки типов как раз компилятор и отлавливает.
/устало/ компилятор - компилирует.
Он не отлавливает никакие ошибки типов - он работает в соответствии с правилами языка. Если язык декларирует неявное приведения числа к строке, то компилятор компилирует приведение числа к строке в соответствующий код. А если не декларирует, то компилятор не компилирует и выдает сигнал о несоответствии текста программы правилам языка (в просторечии - ошибка компилирования).
Всевозможные ошибки (в корректно написанной по правилам языка программе) отлавливают всяческие анализаторы. Например, не к ночи будь помянутая, pvs-studio.
> Что конкретно плохо?
Уже сотню раз писал, влом долго перечислять.
Коротко:
1) отсутствие продуманного дизайна языка,
2) перегруженный бессмысленными символами синтаксис (привет, регэкспы),
3) каша из компилятор/менеджер-пакетов/статический-анализатор/кофеварка-с-пылесосом,
4) невероятно глупое коммьюнити (глупее даже джаваскриптеров, хотя казалось бы такое невозможно)
5) постоянные заплатки, заплатки, заплатки...И как итог - громадный и все время растущий технический долг.
> Ну никто же не пришел к чувакам из coreutils с такими криками. Наоборот, люди сами строят мост.
Ну я как бы выше и выразил приветствие именно этому проекту.
> С другой же стороны, на opennet'е набрасываются на любую разработку на Раст, что она будет априори говно. Чем это лучше?
"Репутация-с" (с)
Заслужили - теперь расхлебывайте. Не вижу противоречия.
> Он не отлавливает никакие ошибки типов - он работает в соответствии с правилами языка. Если язык декларирует неявное приведения числа к строке, то компилятор компилирует приведение числа к строке в соответствующий код. А если не декларирует, то компилятор не компилирует и выдает сигнал о несоответствии текста программы правилам языка (в просторечии - ошибка компилирования).Ну вот - ошибку типов ловит же, раз не компилирует. Но вот как раз суть - в этом и есть, чтобы некорректные программы были запрещены самими правилами языка. Чтобы их срубал ещё компилятор как несоответствующие. Естественно, в соответствии с теорией полностью забанить все неверные программы нельзя, мы неизбежно будем или допускать какие-то невалидные, или запрещать какие-то валидные (а в общем-то и то, и то будем). Но можно пойти по пути усиления ограничений, и по этому пути пошёл Раст, вслед за другими функциональными языками.
> 1) отсутствие продуманного дизайна языка,
> 2) перегруженный бессмысленными символами синтаксис (привет, регэкспы),С символами - ну черт его знает. Кому-то бессмысленными, кому-то осмысленными. Но в С++ перегруз тоже ужасный. В целом, да, Раст можно ругать, но есть альтернативы? Кто-нибудь ещё брался за эту же идею так же основательно, как Раст?
> 3) каша из компилятор/менеджер-пакетов/статический-анализатор/кофеварка-с-пылесосом
Карго да, мне не очень нравится, но вот компилятор, я считаю, должен сращиваться со статическим анализатором. Если код не пропускает анализатор - банить такой код (см. тезис выше)
> 5) постоянные заплатки, заплатки, заплатки...
А где их нет?
> 4) невероятно глупое коммьюнити (глупее даже джаваскриптеров, хотя казалось бы такое невозможно)
Субъективщина. Всякие бывают, конечно, но все эти наборы на коммьюнити языков - тот ещё аргумент
> Карго да, мне не очень нравится, но вот компилятор, я считаю, должен
> сращиваться со статическим анализатором. Если код не пропускает анализатор - банить
> такой код (см. тезис выше)Удачи потом в реализации компилятора. Даже если соберётесь с другом васяном в гараже. Даже маленькой компашкой. Даже организацией, без финансирования. Даже организацией с финансированием. Потратьте сколько, 10 лет на создание компилятора?)))
Ну взгляните на функциональные языки, тот же Haskell как нафарширован. В Idris можно вообще доказывать завершаемость функций. Доказуемое подмножество, правда, не Тюринг-полно, но вот в том-то и прикол, что Тюринг-полнота в части вопросов скорее вредит, чем помогает
> Ну взгляните на функциональные языки, тот же Haskell как нафарширован. В Idris
> можно вообще доказывать завершаемость функций. Доказуемое подмножество, правда, не Тюринг-полно,
> но вот в том-то и прикол, что Тюринг-полнота в части вопросов
> скорее вредит, чем помогаетмаргинальщина, имеет право ;)
> ошибку типов ловит же, раз не компилирует.Не ошибку типов, а несоответствие текста программы языку. Это прямая и единственная работа компилятора.
> чтобы некорректные программы были запрещены самими правилами языка
Хотел бы я посмотреть на такие правила...
Правило компилятора 1: некорректные программы запрещены!
Правила компилятора 2: не смей дискриминировать слово-на-н, пока программируешь!
и т.д.> Чтобы их срубал ещё компилятор как несоответствующие.
Это не забота компилятора, это забота анализатора.
> Но можно пойти по пути усиления ограничений, и по этому пути пошёл Раст, вслед за другими функциональными языками.
На самом деле раст попытался пойти по правильной дорожке. Сама идея то отличная.
Но рукожопы и безмозглые идиоты превратили его в гнилые макароны.> Но в С++ перегруз тоже ужасный.
На С++ можно писать очень сложные, большие и синтаксически простые программы. На расте - нельзя.
> но есть альтернативы?
Миллион. Точнее пара десятков - все те языки, на которых сейчас успешно создается ПО.
> вслед за другими функциональными языками
Вот этот пассаж не понял. К чему тут функциональная парадигма с их чистыми функциями, рекурсией и продолжениями?
> компилятор, я считаю, должен сращиваться со статическим анализатором
Один единственный плюс: обезьяну вместо трех движений учить двум.
Зато минусов огромная куча: невозможность раздельной разработки и сопровождения, невозможность смены анализатора на другой, сложность сопровождения срощенного куска вместо модулей...> А где их нет?
В расте их как-то слишком много. Отсылаю к чейнджлогам понаслаждаться.
>> невероятно глупое коммьюнити
> Субъективщина.Не-а. Посмотрите на создаваемый код (на патчи к свеженькому cve, недавно обсуждали). Посмотрите на вопросы на форумах. А, главное, посмотрите на рассуждения апологетов раста. Я, если честно, не устаю удивляться насколько можно быть глупым.
Даже мой сын, который совсем недавно осилил паскаль и которого пока что никто ничему не учил - и то в программировании больше понимает.Ну то есть умные люди есть, конечно. Кто-то же разрабатывает, пишет. Но само коммьюнити феноменально глупое.
> Для этого разработаны другие специализированные инструменты и полноценные процессы. Гуглить по ключевым словам "CI", "QA".Ну расскажи-ка, член якобы неглупого коммьюнити общества воинов АнтиРастового Сопротивления, почему баги по 15 лет висят в одной из самых-самых популярных си-шных либ?
> А сопротивление почему я вам объясню
Вот тебе куда лучшее объяснение. Твоё хреновое. Сидят такие старперы, привыкшие по старинке на глазок прикидывать да пальцем в небо тыкать в надежде найти очередной баг в своей на ладан дышащей конструкции очередного моста, который чудо, если уцелеет от какого-либо более-менее нештатного поведения окружающей среды. А тут приходит инженер с компьютером, с лазерной рулеткой, с новой более совершенной и быстрой технологией проектирования мостов, и говорит: "А задолбали ваши говномосты, уважаемые старперы. Вот вам новая технология. С её помощью вы получите новый мост в более сжатые сроки и более лучшего качества, чем то говно, которое вы привыкли проектировать не один десяток лет". Но мозги у старперов уже не те, что раньше (да и раньше особо не блистали по большей части), когнитивные способности тю-тю, что-то новое освоить уже не могут. Как выйти из положения, не лишаться же работы. "А попробуем-ка мы ором взять", - решают старперы и начинают делать то, что лучше всего умеют делать сейчас - пердеть на каждом форуме, в каждой теме о том, какие плохие новые технологии, на них, оказывается, можно тоже логические ошибки делать (как будто на их старых эти ошибки были в принципе невозможны).
> Хочется, не спорю.
Если хочется, пользуйся. Rust не даёт тебе сделать многие ошибки из тех, к которым ты так привык на Си.
> 1) отсутствие продуманного дизайна языка,
Субъективщина.
> 2) перегруженный бессмысленными символами синтаксис (привет, регэкспы),
Субъективщина.
> 3) каша из компилятор/менеджер-пакетов/статический-анализатор/кофеварка-с-пылесосом,
Есть сборщик, есть компилятор, есть менеджер пакетов. Каша - в твоей голове. Но Раст здесь точно ни при чём.
> 4) невероятно глупое коммьюнити (глупее даже джаваскриптеров, хотя казалось бы такое невозможно)
Ты это понял по паре-другой постов на данном форуме? Очень репрезентативная выборка. Ты или недотролль, если так действительно думаешь, либо яркий представитель того самого коммьюнити глупцов.
> 5) постоянные заплатки, заплатки, заплатки...
В каком языке, который сопоставим по сложности и функциональности с Rust, это не так?
> И как итог - громадный и все время растущий технический долг.
В каких КОНКРЕТНЫХ ФАКТАХ это выражается? Потому что твои фантазии буйные на эту тему могут интересовать только твоего психоаналитика, если у тебя таковой есть.
> Но рукожопы и безмозглые идиоты превратили его в гнилые макароны.
А всё финансируют тоже идиоты из Amazon, Google, Microsoft, Huawei, Meta и ещё пары десятков контор с мировым именем. Забыли у великого Урри спросить, куда и на что им деньги потратить.
> На С++ можно писать очень сложные, большие и синтаксически простые программы. На расте - нельзя.
Трындец. А Редокс, Серво и прочие крупные хоть и пока малочисленные проекты - это что по-твоему?
"Шарик! Бросай ружьё да всплывай поскорей!", ты как-то глубоко погряз в своих фантазиях, которые далеки от реальности.
Процитирую тебя же напоследок. "Я, если честно, не устаю удивляться насколько можно быть глупым".
> Не ошибку типов, а несоответствие текста программы языку. Это прямая и единственная работа компилятораВы придираетесь к словам, чтобы увести от сути.
>> Чтобы их срубал ещё компилятор как несоответствующие.
>Это не забота компилятора, это забота анализатораА надо добавить анализ как можно раньше, чтобы было больше у анализатора возможностей. По сути - срастить с компилятором
>На самом деле раст попытался пойти по правильной дорожке. Сама идея то отличная
О, по этому пункту мы согласны, отлично
> На С++ можно писать очень сложные, большие и синтаксически простые программы. На расте - нельзя.
Простые...
> Вот этот пассаж не понял. К чему тут функциональная парадигма с их чистыми функциями, рекурсией и продолжениями?Поощрение неизменяемых данных, более строгая семантика языка в целом, упор на систему типов
>>Это не забота компилятора, это забота анализатора
> А надо добавить анализ как можно раньше, чтобы было больше у анализатора
> возможностей. По сути - срастить с компиляторомДа забей уже.
Когда в соседней новости сему "Знатоку" указали, что сематнический анализ - вполне считается частью компилятора, тупо приведя цитату из "Книги дракона", он с гордым и независимым видом свернул дискуссию "Это отсылка к авторитетам, а не аргумент! Это слив!".
В общем, обыкновенный опеннетный "непризнанный гений".
И то верно!
> Вы придираетесь к словам, чтобы увести от сути.Нет, я точно называю вещи своими именами. Чтобы не возникало "я вам про Фому, а вы мне про Ерему".
Это у дебилов нет разницы между "трансляция", "компиляция" и "синтаксический анализ". Мы ведь не такие, правда?> А надо добавить анализ как можно раньше, чтобы было больше у анализатора возможностей. По сути - срастить с компилятором
Я уже писал почему это идиотская идея. Повторяться лень.
>> Сама идея то отличная
> О, по этому пункту мы согласны, отличноКонечно. Только дурак будет утверждать, что возможность исключения целого класса ошибок не нужна. И только дурак, при этом, будет утверждать что если есть плюс, значит можно игнорировать минусы.
А раст - это один единственный плюс, и миллион минусов. Начиная с потрясающей лоскутности и заканчивая идиотской макаронностью из языка, анализатора, пакетного менеджера и препроцессора.
Пусть кто-то создаст другой язык на тех же принципах, возможно он действительно взлетит. Но прежде чем его создавать - надо хорошенько подумать. Не так, как принято сейчас среди смузихлебства "нечего думать, кодить надо!", а действительно продумать что и к чему.
> Начиная с потрясающей лоскутности и заканчивая идиотской макаронностью из языка, анализатора, пакетного менеджера и препроцессора.И ты можешь конечно обосновать свою позицию. Да? Потому что в очередной раз вываливать лозунги вместо аргументов - так только идиоты поступают.
>Rust - это попытка сделать более низкоуровневый язык с таким же сильным компилятором. Почему этому идёт такое яростное сопротивление - не понятно, идея-то класснаяНо воплощение этой идеи - дерьмо.
Есть варианты лучше?
> Есть варианты лучше?Есть. Умные указатели.
Это заплатка поверх имеющегося языка, не ограничивающая использование старых небезопасных указателей. А нужно брать ограничить использование старого. Плюс в С++ даже некоторые операции с умными указателями дают UB. А UB вообще должно быть запрещено и вызывать ошибку компиляции
> А нужно брать ограничить использование старого.Не нужно. Я хочу иметь возможность рискнуть, но достичь выдающихся результатов. Яркий пример - написать код функции на встроенном ассемблере. С одной стороны - это самое опасное, что можно сделать. С другой стороны ускорение узкого места в 50-100 раз того однозначно стоит.
> UB вообще должно быть запрещено и вызывать ошибку компиляции
Если бы C++ поддерживал те же полторы платформы, что и раст - то да.
А так как и С и С++ поддерживают все (почти) существующие аппаратные платформы, которые зачастую могут очень сильно друг от друга отличаться (начиная с битности, математики переполнений, литл-/биг- эндиан, разным результатом деления 0 на 0 и т.д., и т.п.), то в принципе невозможно обойтись без "undefined behavior".
> Я хочу иметь возможность рискнуть, но достичь выдающихся результатов. Яркий пример - написать код функции на встроенном ассемблере. С одной стороны - это самое опасное, что можно сделать. С другой стороны ускорение узкого места в 50-100 раз того однозначно стоит.В наши времена компайлеры могут ускорять лучше людей. Но даже если принять этот тезис -
> в принципе невозможно обойтись без "undefined behavior
Оно должно быть явно включаемым. Как unsafe. Чтобы было ясно, где UB может быть, а где нет.
Ну а так вообще - для большинства прикладного софта лучше уж согласиться на просадку производительности, и то - чисто гипотетическую! Не факт что реальную - чем на опасный код.
Ну или писать как в NASA, у них там был гайд "10 правил" для Си. Суровая штука, надо сказать
> В наши времена компайлеры могут ускорять лучше людей.Странно, заказчики деньги платили мне, а не компилятору. Вот дураки, правда?
> Оно должно быть явно включаемым. Как unsafe. Чтобы было ясно, где UB может быть, а где нет.
Это записано в стандарте. Но, впрочем, возможно и нужно - для неосиляторов-вайтишников, которые не способны научиться элементарным вещам.
> Ну а так вообще - для большинства прикладного софта лучше уж согласиться на просадку производительности, и то - чисто гипотетическую! Не факт что реальную - чем на опасный код.
Философский вопрос: что лучше, падение программы раз в неделю, или постоянно отожранные 16 гиг в свопе и круглосуточные 80 градусов на камне...
> Ну или писать как в NASA, у них там был гайд "10 правил" для Си. Суровая штука, надо сказать
В любом, действительно профессиональном сообществе, есть свои "10 правил". Причем писаных. Причем явно добавленных файлом к репозиторию.
> Философский вопрос: что лучше, падение программы раз в неделю, или постоянно отожранные 16 гиг в свопе и круглосуточные 80 градусов на камнеНу да, ну да, ничего между этими двумя пугалами нет.
> Это записано в стандарте. Но, впрочем, возможно и нужно - для неосиляторов-вайтишников, которые не способны научиться элементарным вещам
Ну и в мусорку такие стандарты, разрешающие такую порнографию
> Я хочу иметь возможность рискнуть, но достичь выдающихся результатов. Яркий пример - написать код функции на встроенном ассемблере.Так и делай это ЯВНЫМ ОБРАЗОМ. Понимаешь разницу, между плохим поведением ПО УМОЛЧАНИЮ и хорошим?
> Если бы C++ поддерживал те же полторы платформы, что и раст - то да.
Rust поддерживает больше полутора платформ. Среди них, в частности, есть и с разными форматами того же эндиан. Такой "гений" и таких простых вещей не знать. Ай-яй-яй.
> А так как и С и С++ поддерживают все (почти) существующие аппаратные платформы, которые зачастую могут очень сильно друг от друга отличаться (начиная с битности, математики переполнений, литл-/биг- эндиан, разным результатом деления 0 на 0 и т.д., и т.п.), то в принципе невозможно обойтись без "undefined behavior".
То есть ты утверждаешь, что ВЫСОКОУРОВНЕВЫЙ ЯП C++ (к Си не буду цепляться, это, считай, высокоуровневый ассемблер) писали под эту всю кучу железнячего говна? Разъяснить тебе, горе-специалисту, что такое высокоуровневый язык программирования, и чем он отличается от низкоуровневых или сам справишься? А ещё про элементарную терминологию тут трындел. Рука-лицо, в общем. Если весь лагерь воинов АнтиРастового Сопротивления такой, то у меня для вас печальная новость - ваши дни как профессионалов сочтены.
> Это записано в стандарте. Но, впрочем, возможно и нужно - для неосиляторов-вайтишников, которые не способны научиться элементарным вещам.
Готов поставить тысячу долларов, что ты в их числе. Потому что запомнить наизусть спецификацию Плюсов объёмом в полторы тысячи страниц в миру никому не под силу (тебе так точно).
> Философский вопрос: что лучше, падение программы раз в неделю, или постоянно отожранные 16 гиг в свопе и круглосуточные 80 градусов на камне...
Тоже мне, мамкин философ. Если это твой нахрен никому не нужный, кроме твоего ЧСВ, домашний серверок, то всем насpать, что там и как часто падает. А если это приложение с десятками тысяч запросов в секунду и с миллиардными оборотами в день, то любое падение такого софта - это огромные убытки.
В сравнении и растом - да
Сами по себе - нет
:)
В C++ для этого есть отличные отдельные утилиты. А в Rust защиту от дурака приходится встраивать в язык. Дожили.
Ну да, защита от дурака должна быть встроенной. Если бы ее встроили в С++, было бы лучше всем
> Ну да, защита от дурака должна быть встроенной. Если бы ее встроили
> в С++, было бы лучше всемНет. Только дуракам.
А так как дураки в IT не нужны, то, следуя формальной логике, никому.
А откуда тогда в коде не дураков уязвимости постоянно? С этим же надо что-то делать. Нельзя быть настолько самонадеянным - думать, что можно писать код без ошибок
> А откуда тогда в коде не дураков уязвимости постоянно?Все люди ошибаются.
> Нельзя быть настолько самонадеянным - думать, что можно писать код без ошибок
Только дураки думают, что можно писать код без ошибок. Умные пользуются процессами под названием 'Continuous integration' и 'Quality assurance'.
> Умные пользуются процессами под названием 'Continuous integration' и 'Quality assurance'.Да. Но и добавить раннее отслеживание в компилятор ничуть не вредно
Вредно, ибо это не работа компилятора. Любая ошибка (а она будет) в коде этой проверки превращается в тяжелейшую гирю на поддержке.
С возможностью отключить проверку - не вредно
> С возможностью отключить проверку - не вредноВредно, это в любои случае увеличивает кодовую базу, вероятность багов, и как следствие сопровождение. Не говоря уже о таких вещах как архитектура, и что это нарушает примерно сразу все 4 характеристики worse is better.
Если код правильно организован (привет архитектуре), то по большому счёту пофиг, где он будет находиться - в компиляторе в виде подключаемой библиотеки, или в отдельном бинарнике.
В теории да, на практике нет.
Были печальные прецеденты? Хотелось бы подробностей.
> Вредно, ибо это не работа компилятора.Кто сказал?
> Любая ошибка (а она будет) в коде этой проверки превращается в тяжелейшую гирю на поддержке
Ошибку в компайлере найти на дистанции легче, чем в 9000 приложений.
> Нет. Только дуракам.
> А так как дураки в IT не нужны, то, следуя формальной логике, никому.О, мы словосочетание, оказывается, такое знаем "формальная логика". Давай-ка вместе поразмыслим вслух.
Ниже ты признаёшь, что люди ошибаются. Но при этом утверждаешь, что предохраняться от ошибок не надо. Забавная логика, повеселил.
Но я хочу продолжения банкета. Это дураки придумали строгую типизацию в Плюсах (по сравнению с почти полным отсутствием оной в Сях)?
> Но при этом утверждаешь, что предохраняться от ошибок не надо. Забавная логика, повеселил.Нет, я такого нигде не утверждал. Я много раз писал по CI и QA, про статические анализаторы и процессы верификации программ.
Очередной растодебил пытается выбраться из лужи с помощью вранья. Как неожиданно (на самом деле - нет).
> Я много раз писал по CI и QA, про статические анализаторы и процессы верификации программ.Напоминаю, с чего началась ветка. Тебе предложили подумать над тем, что неплохо бы включить в компилятор тех же Плюсов дополнительную проверку от дурака. Ты сказал, что такая защита не нужна, потому что дураки в ИТ не нужны.
А потом очередной сидиот слился на простом вопросе про то, кто же придумал строгую типизацию в Плюсах (которая принципиально, ничто иное, как очередная защита от дурака). И эти люди рассказывают там что-то про формальную логику. А теперь этот сикретин пытается выбраться из лужи, в которую сам себя и загнал. Ой.
Более вероятный вариант, что в очередной стандарт С++ какие то из фич Раста возьмут, чем будут переписывать на другой язык.
Феномен "маленького фатального недостатка" (сделано не нами) - никто не отменял.
ну и как, где там операционные системы написаные на ц++? ну была симбиан когда то и та померла.
Windows
Windows написана на C. Причём даже реализация ООП на C. Это забавно, учитывая что пользовательские инструменты, вроде Visual Studio заставляют использовать скорее C++, чем C. На C++ в винде только высокоуровневые вещи, но и они вытесняются C#-ом. Упомянутая Visual Studio написана на C++ и C#.
В ОС не должно быть оверхеда, который привносит реализация ООП в компиляторах и ОС должны писать опытные разработчики, а не выпускники Урюпинского техникума, чтобы не стрелять себе и другим в ноги. Поэтому и используется язык С.Помню в конце 90-х годов была хохма, якобы от лица Страуструпа, где он хвастается, что написал на С++ систему DOS, которая весит 60 MB. Хотя в то время DOS фирмы Microsoft, написанная на C и ассемблере, умещалась на дискету в 512 KB.
Так мне то это можно не объяснять, мне скорее интересно, почему сами Microsoft "стесняются" своих C-истоков)) и в их основной IDE нельзя просто отдельно выбрать проект на C, а надо выбрать ПРОЕКТ НА C++ и в настройках включить компилятор в режим C.
> в их основной IDE нельзя просто отдельно выбрать проект на CА в чём смысл? Запретить компиляцию цпп-файлов?
> надо выбрать ПРОЕКТ НА C++ и в настройках включить компилятор в режим C.
Компилятор сам определяет режим по расширению файла.
> C++. Никакого контроля от компилятора за ошибочным кодом. ДожилиКак это нет? Навороченная система типов в наличии.
Ada/SPARK
Ада годная, кстати, сам хотел бы попробовать
Ада кстати НЕ годная. Более того Ada троллили в своё время все кому не лень), даже Вирт. Кстати АБСОЛЮТНО ТЕ ЖЕ тезисы ВЕЛИКИХ подходят и в отношении Rust.
И чем же для вас современный Spark(Ada) негоден? Своей доказательной натурой - если скомпилировалось, то, это значит, что в программе нет ошибок?
>Не нравится раст - придумай ЯП лучше!
Так придумали же уже, причём как "самоделки" так и крупные компании. К слову Kotlin и Go Lang вышли ПОСЛЕ Rust и никаких проблем ни у кого с ними нет, Go lang в отличие от Rust широко используется и составляет ГОРАЗДО большую конкуренцию C++, C# и JVM-языкам. Из мелких языков - язык V сделан вообще один человеком. Язык Vala для гномов. И НИ С ОДНИМ из появившихся языков ни у кого нет проблем и догматов. Rust - это уже РЕАЛЬНО религия. Я лично за то, чтобы в очередной раз пробудились LISP-еры, они хотя бы что-то полезное делали, а LISP как инструмент вообще стоило бы всем разработчиком потрогать и поиграться.
> К слову Kotlin и Go Lang вышли ПОСЛЕ Rust и никаких проблем ни у кого с ними нет,
>> Rust 1.0 - 15 мая 2015
>> Go 1.0 - 12 Марта 2012Может, хватит уже газифицировать лужи?
> Go lang в отличие от
> <весь остальной анализ такой же, поэтому поскипан>
>> Rust 1.0 - 15 мая 2015да уж, с вами разговаривать бессмысленно по определению. Давайте вообще Rust припишем ещё нолик слева, чтобы на него не смели ругаться xD. Кроме демагогии от вас ничего и не ожидалось.
>Может, хватит уже газифицировать лужи?Это весь ваш словарный запас? Окай.
>>> Rust 1.0 - 15 мая 2015
> да уж, с вами разговаривать бессмысленно по определению. Давайте вообще Rust припишемС тобой, клоуном - тоже.
Как обычно - раздутое ЧСВ, незнание предмета, а вместо пруфацов своих смелых "тезисов" - унылый юлеж и перевод стрелок.
>Как обычно - раздутое ЧСВ, незнание предмета, а вместо пруфацов своих смелых "тезисов" - унылый юлеж и >перевод стрелок.Вы не только мне, а вообще никому НИЧЕГО не ответили по теме. ЧСВ, перевод стрелок и "юлеж" здесь только у вас. Вы сами то пишите на Rust?
> К слову Kotlin и Go Lang вышли ПОСЛЕ Rust и никаких проблем ни у кого с ними нет,
>> Rust 1.0 - 15 мая 2015
>> Go 1.0 - 12 Марта 2012
> Вы не только мне, а вообще никому НИЧЕГО не ответили по теме.Что, еще и память как у рыбки?
> ЧСВ, пук-пук-пук
>
> Не нравится раст - придумай ЯП лучше!SPARK: https://www.opennet.me/openforum/vsluhforumID3/126614.html#419
Надо Windows переписать на раст!
Уже написали одну - редоксом называется... Что с ней? Куда пропала?
Ну коммиты ещё делают понемногу, кстати
как про неуловимого джо?
Никуда не пропадала, и Redox не является перереализацией Windows.
Если Microsoft захотят прикончить Винду, обязательно перепишут. На практике же цель Microsoft в будущем - это сделать доминирующий дистрибутив Linux (не можешь победить - возглавь!). Тем более что Linux со временем лишается множества его "классических" недостатков даже для нормальных людей (не разработчиков ПО). На новом и нормальном железе там сейчас даже поиграть можно с такой же производительностью.
Тем временем топовые коммитеры (с небольшим исключением) - оффтоп-юзеры (win, mac) и/или веб-приматы
Ну mac-то годная nix-подобная система, на открытом ядре даже, чё вам не нравится-то?
> на открытом ядре дажеА, ну-ка, запусти-ка Mac на открытом форке(?!) ядра!
Зачем?
Чтобы отвечать за свои слова "на открытом ядре даже".Во-первых, открыт только форк. При этом не известно, что это за форк и форк чего.
Apple выкладывает код Дарвина на официальном гитхабе и на сайте. Так что всё открыто.
И?Как говорится: на заборе "дарвин" написано, а за ним лежат дрова.
Apple врать не будет - почтенная корпорация
Самого главного Apple не выкладывает.
А почему они должны выкладывать то что написали сами для своего железа?
А кто-то утверждал, что они должны? Просто не выкладывают, это факт, неважно почему.
А в результате от открытого Darvin толку 0.
Это уже другой вопрос. Это вопрос о том, что коммьюнити ничего не может без корпорации. Им дали код, а что они? Ничего!
>Apple выкладывает код Дарвина на официальном гитхабе и на сайте. Так что всё открыто.OK, ну так собери и запусти его на Маке, чтоб нас носом ткнуть.
А зачем тыкать? Есть код - значит открытый. А собирает его Эппл.
Ну, т.е., кроме Эппола никто собрать не может. Значит, толку от открытости Дарвина никакого. Эппол может собирать и из несколько других исходников, но он вам об этом не скажет.
Ну вот видишь - сообщество беспомощно без корпораций
> Ну вот видишь - сообщество беспомощно без корпорацийну, если овец эпла называть сообществом...))
Негодная система для девиантов, ты хотел написать.
Нормальная ОСь. Как и Линукс. Как и Винда. А вот что не очень понятно - это стремление некоторых ругать другие ОСи
Nope, это ужасная ось. Как минимум потому, что закрыла OpenGL и Vulkan, до такой низости Microsoft опустился годы назад, когда ущемлял в правах OpenGL, а сам агрессивно продвигал DirectX (одна из причин, по которой Microsoft возненавидели ещё тогда!), но потом забили и сейчас, тупо из-за драйверов, многие разработчики на OpenGL и Vulkan всё равно сидят на Винде. Apple в пользу своего Metal закатывает под каток СОБСТВЕННЫХ ЖЕ разработчиков, но у Apple лапки! То есть если MS набрав шишек от прогулок по граблям стал более открытым (даже не упуская выгоду для себя), Apple продолжает творить хрень.
Опять пермиссивщина
За что так пермиссив не любят? Он же истинно свободен
>Он же истинно свободенКак оно может быть свободно, если тебе могут вручить закрытый код, который ты не сможешь модифицировать?
Ну так ты тоже этот код можешь получить из пермиссивного источника. И в отличие от гну сможешь его закрыть, если нужно. В этом и свобода, что можно делать почти что угодно
>Ну так ты тоже этот код можешь получить из пермиссивного источника.Ну да, "этот же", ага.
Это однобокая свобода - свобода корпораций брать. И все.
Ну не только корпораций, а любого бизнеса/программиста. Пользователь же в любом случае зависит от поставщиков.Да и что плохого в корпорациях? Весь прогресс они двигают последние лет 40+
>Да и что плохого в корпорациях? Весь прогресс они двигают последние лет 40+Сильное заявление.
Ну да, Афон и КОВИД неоспоримые свидетельства прогресса.
Это смотря что называть словом "прогресс". Если запланированное устаревание, которое заставляет основную массу народа корячиться и корячиться, генерируя добавленную стоимость для золотого миллиона, то это плохо.Или развитие ядерной энергетики, благодаря которому бесполезные паразиты имеют дешевую электроэнергию для генерирования набора чисел и хранения цепочек "я сгенерировал, потом вот этому отдал" в миллионе копий? Или машиностроение, благодаря которому миллионы перестают двигать конечностями, садясь за руль чтобы съездить в булочную за углом, при этом отстаивая по 4 часа каждый день, прогревая и загрязняя атмосферу своими двигателями внутреннего сгорания...
Вот только это бессмысленное потакание лени и перевод ресурсов.
Ну то есть я, конечно, рад что могу смотреть как какой-то мужик трахает недоступную мне красавицу на телеке на всю стену в 8к, полеживая на мягком удобном диване и попивая вискарик. Хотя с тем же, в общем то, успехом мог бы др..ть и на нарисованную от руки картинку, попивая свой же домашний квас.
--
В общем "прогресс" - это дело сложное, он не однозначно "белый и полезный" и словом "прогресс" нельзя аргументировать спор.
Сам же пользуешься плодами этого "прогресса", интернетом, персональными компьютерами.> Или машиностроение, благодаря которому миллионы перестают двигать конечностями, садясь за руль чтобы съездить в булочную за углом, при этом отстаивая по 4 часа каждый день, прогревая и загрязняя атмосферу своими двигателями внутреннего сгорания...
> Вот только это бессмысленное потакание лени и перевод ресурсов.Ну да, давайте как луддиты, избавимся от всех машин, чтобы ходить пешком, и не по 4, а по 12 часов в день
Конечно пользуюсь, я же не идиот отказываться от того, что есть из чисто идеологических соображений.> Ну да, давайте как луддиты, избавимся от всех машин, чтобы ходить пешком, и не по 4, а по 12 часов в день
Ну да, давай как безмозглый тролль оперировать в споре доведением до абсурда.
А мог бы устроиться кодить на питоне и каждый день трахать новую красавицу.
А можно просто выключить свет, и уже без разницы, красавица ли...
> ... в корпорациях? Весь прогресс они двигаютУвы, нет. Что сделал гугл за своё существование? Ничего. Все продукты куплены/захвачены/украдены. Более ста позиций.
Без инвестиций Гугла, где бы эти все продукты были?Да и поисковый движок делал именно Гугл
Не делал.20 сентября 2001, Outride, Поисковая система
> Без инвестиций ГуглаУ гугла тогда не было денег от слова совсем, за ним стояли инвесторы, которым впоследствии продавались поисковые запросы: кто, где и что ищет. Движок был куплен на деньги инвесторов.
Ну вот видишь, деньги инвесторов на проекты - это тоже польза. Гугл может профинансировать и поднять что хочет. Где бабло, там и развитие
Посмотри отчет кто финансирует написание линукса.
Внезапно корпорации, а не бедняки-комуняки
Не только брать, но и участвовать в разработке того, что они берут. То есть и отдавать тоже.
>За что так пермиссив не любят? Он же истинно свободенА кому нужна эта "истинная свобода"? А, халявщикам-проприерастам код ныкать в свои проприетарные поделия.
Ну и это же хорошо, я проприетарщиков поддерживаю. Они реалисты
Форкните и перелицензируйте под GPL :)
Опять что-то переписывают.
Не говори, лишь бы ядро не переписывать
Дак они не смогли написать даже свою редокс. А ещё в линь лезут.
То ли дело опеннетные анонимы - не смогли написать даже свою Хурд.
А ещё в линь лезут (ведь маечку с пингвинчиком носят - а значит почти ядерные разработчики!)!
Кровати передвигают...
Только раст способен дать будущее программирования!
Нахер такое будущее
Лучше уж Python чем Rust!
Эскобар декларирует несколько альтернативную точку зрения.
Еще один способ убить всё легаси не x86 железо :)
Недооцененный комментарий.
Ага-ага, x86 совсем не легаси ;)
А что, КореУтилс нельзя было на Паскале переписать? Можно было. Просто язык непопулярен. в массах. А так можно было б. И что - получилось бы плохо? Да нет. Получилось бы нормально. Если выбрать стабильный релиз FPC.
Но и на Расте не хуже
Представляю, что будет, когда в сабже начнут одну за другой находить уязвимости.
Ничего страшного, в Сишных же находят
А если нет разницы, зачем тогда раст?
Писать удобнее, вот и всё, а если все тоже самое, зачем нужен ваш си?
Писать удобнее как раз на С.
Кому как
Дырявый говнокод? Определённо.
> А если нет разницы, зачем тогда раст?Ты уже нашел сравнимое количество уязвимостей?
Или очередная пук^W опеннетная оналитека вида "я что-то придумал и на основе этого сделал выводы, а значит это правда!"
Разница есть.
Можно и на Фортране переписать и на PL/1, но зачем ?
Щас вызову когнитивный диссонанс у местной растодвинутой публики...Урри поддерживает это переписывание!
Аргументирую:
Во-первых, это бесплатные тестеры, которые копают очень глубоко.
Во-вторых, это отличный учебный проект, чтобы научиться на живом качественном примере программировать и уйти во взрослые языки.
В-третьих, это прекрасный способ отвлечь мартышек (ту часть растолюбителей, которые в принципе не способны обучаться) на безопасную для всех возню.--
А в остальном бояться нечего - оно же все равно умрет с парочкой новых версий компилятора (и очередных cve), ибо с ростом количества кода технический долг перевесит и все похоронит (простыми словами: в какой-то момент скорость переписывания старого кода под новый компилятор станет ниже выходов новых компиляторов и все естественно заглохнет).
> в какой-то момент скорость переписывания старого кода под новый компилятор станет ниже выходов новых компиляторов и все естественно заглохнет).Новые версии Раста почти не ломают обратную совместимость
почти не ломают...
> Новые версии Раста почти не ломают обратную совместимостьТакое можно сказать почти про любой язык.
кроме питона
ага, уже три месяца не могу обновиться с 3.8 на 3.10, половина софта отваливается
Я недавно одному любителю давал ссылку на чейндлог.
https://github.com/rust-lang/rust/blob/master/RELEASES.mdСмотреть пункты "Breaking Changes" и с некоторых пор стыдливо заменивший его "Compatibility Notes".
Почитал - в списке именно этого пункта всякие фиксы, чтобы не было неопределённого поведения.Например: Ipv4::from_str не принимает восьмеричную и шестнадцатиричную форму записи айпи адресов чтобы избежать путаницы (как кстати рекомендует спецификация https://datatracker.ietf.org/doc/html/rfc6943#section-3.1.1 ).
Пойду лучше на сисиплюс писать, там хотя бы все UB сохранили ради обратной совместимости.
> Почитал - в списке именно этого пункта всякие фиксы, чтобы не было
> неопределённого поведения.
> Например: Ipv4::from_str не принимает восьмеричную и шестнадцатиричную форму записи айпи
> адресов чтобы избежать путаницы (как кстати рекомендует спецификация https://datatracker.ietf.org/doc/html/rfc6943#section-3.1.1
> ).Здравствуйте, дорогие наши подписчики-растоидиоты. Мы тут кое-что в очередной раз _в комиляторе_ изменили чтобы ваши программы перестали работать. Пожалуйста, займитесь вместо разработки проверкой ваших исходников.
То-то ресдох сдох - задолбались написанный и оттестированный код переделывать.
Не то что я, старпер, который спокойно собирает и запускает код 10-летней давности, не тратя время на переписывание. А мог бы вечным переписыванием заниматься, правда?
Сколько ты потратил времени при переезде на новую версию компилятора Rust? С какой версии на какую? А сколько растовых строк кода в проекте при этом?Я, например, в своем проекте на 140 000 строк кода при переезде на последнюю версию с предыдущей потратил меньше получаса на фиксы clippy warnings, потому что он поумнел и появились новые линты. Причем это были никак не ломающие изменения (warning), и вообще сам clippy - это отдельная тулза, которую можно и не запускать. И эта ситуация в моем проекте - типичная при обновлении.
У нас прогресс!Вместо "ничего не ломается" у нас уже "ломается, но совсем чуть-чуть!".
Ждем логического продолжения?
>> linter поумнел и выдал больше предупреждений
> У нас прогресс!
> Вместо "ничего не ломается" у нас уже "ломается, но совсем чуть-чуть!".
> Ждем логического продолжения?Не, не похоже что у вас прогресс - как читали опой, так и продолжаете.
Евгений Ваганович от программирования, ты уже Редакции Rust осилил? Вот тебе ещё раз ссылка, которую другой аноним дал тебе чуть выше. https://doc.rust-lang.org/edition-guide/editions/index.htmlМожет, сына позовёшь на помощь, если сам никак?
Не, его не буду - боюсь надорвется пока ржать над вами будет.Я в курсе, что в раст встроили новый костыль под названием "editions", чтобы постоянные поломки не так больно входили.
> Не, его не буду - боюсь надорвется пока ржать над вами будет.Или над тобой.
> Я в курсе, что в раст встроили новый костыль под названием "editions", чтобы постоянные поломки не так больно входили.
Ну-ну.
>> 15.05.2015 · Today we are very proud to announce the 1.0 release of Rust,...
https://doc.rust-lang.org/edition-guide/rust-2015/index.html
>> The edition system was conceived in late 2017
>> .. 2015 is the edition that you get when you don't specify any particular edition, for backwards compatibility reasons.В общем, очередное:
"Это не лужа! Это лечебно-грязевая ванна! Вот!"
> боюсь надорвется пока ржать над вами будетГоворят, дураку только палец покажи — смеется. Сын в папу пошёл, то есть. Ясно, понятно.
> Я в курсе, что в раст встроили новый костыль под названием "editions", чтобы постоянные поломки не так больно входили.
В чём же заключается неудобство пользования этим "костылём"?
И если знаешь, то почему в каждом треде трындишь про поломанную совместимость, которая рождает кучу технического долга, и про прочий бред, который несёшь с таким уверенным видом? Кстати, в количественном выражении у тебя есть статистика про этот самый долг? Или очередной плод больного воображения?
> Я недавно одному любителю давал ссылку на чейндлог.
> https://github.com/rust-lang/rust/blob/master/RELEASES.md
> Смотреть пункты "Breaking Changes" и с некоторых пор стыдливо заменивший его "Compatibility Notes".Вполне нормальные, для незастойного ЯП. Да ещё и не все не всех затрагивают. Я бы сказал, что пересечение мало.
Сам-то читал? Или у тебя от самого наличия такого пункта пригорает?
> для незастойного ЯПНеплохой эвфемизм для "гoвнoязык", надо запомнить.
Сам то хоть понял, что сказал-то? Хотя какое там понял...
> отвлечь мартышек ... которые в принципе не способны обучаться ... на безопасную для всех вознюВ точку!
> прекрасный способ отвлечь мартышек (ту часть растолюбителей, которые в принципе не способны обучаться) на безопасную для всех возню.Такая же мысль приходила в голову. Чем бы дитя не тешилось.
> в месяц добавляется 400-470 патчей от 20-50 разработчиков вместо 30-60 от 3-8 разработчиков год назадСрамота! Busybox Брюс единолично начинал пилить в 96 без ентих ваших гитхапов и смузи иде. Потом ещё двое присоединились. Это что получается, на новом прогрессивном языке чтобы писать - нужно х10 кодеров на тоже самое?
Кстати да, лучше бы они написали нормальный аналог BusyBox на Расте, если уж так хочется что-то переписать.
> аналог BusyBox на РастеНе влезет на флэшку эмбеда :)
Так пишут ToyBox, если не ошибаюсь в названии, под бздунской лицензией. Или не на Rust? Так переписать её!
> под бздунской лицензиейНадеюсь, свой коммент ты запостил из под links в фреймбуфере, используя прокси?
Из под Falkon.
Это атака на GNU? Зачем? Хотят вытеснить его?
Присоединиться. Расширить. Победить.
А выжав Столмана, можно ещё попробовать и возглавить.
Столлмана в обиду не дадим. Пусть каждый корпораст это знает.
>называется желание создать кросс-платформенную альтернативную реализацию CoreutilsТак раст же менее кросс-платформен чем сишка.
Так эта декларация - ложь. Все дело в том, что написать coreutils легко. Относительно, но легко. Опыт огромный: все юникс-лайк системы. Дергаешь вызовы либц. Всё. Даже такой гмнкодер как я вполне осиливаю пилить себе suckless'овский sbase. Никакого рокетсаенса. Проблема только в растрапоне, т.е. в стилистике раста и накладываемых ограничениях на растаманей самим компилятором. На этом они и виснут.Настоящая цель здесь как у сперматозоида: оплодотворить яйцеклетку. Корутилс везде. Если удастся занять его место, даже на 3х с половиной платформах, можно будет декларировать успех. И это действительно успех для такого паразитарного подхода.
Собрать JS или Python под платформу, где их ещё нет, тоже легко, или относительно легко, для опытного программиста.
Но он же, даже не станет планировать ПО на JS/Python писать под платформу, где нет их поддержки, и тем более стабильной, проверенной.
Он же опытный программист, а не энтузиаст, у него в задачах конечный результат.
А те кто не могут собрать JS или Python, тоже не станут писать..
Круг замкнулся.
Вот и с кроссплатформенностью Руст аналогично.
>добавление оптимизаций для уменьшения размера исполняемых файловАга! У растаманов бинарники получаются огромных размеров.
Может там вся библиотека языка и ещё что-то. Были языки типа си непопулярными - тоже приходилось бы таскать libc с собой и размер был бы тяжелее. Или они например принципиально собирают всё статически.
Откуда информация?
Вот одна-единственная программа на Rust, которую нахожу полезной и периодически пользуюсь. Переписанный (c) less с подсветкой форматирования.$ stat /bin/bat | head -n 2
File: /bin/bat
Size: 4815256 Blocks: 9408 IO Block: 4096 regular fileДля сравнения сам less
$ stat /bin/less | head -n 2
File: /bin/less
Size: 202808 Blocks: 400 IO Block: 4096 regular fileи nano, целый текстовый редактор с такой же подсветкой, из-за чего кстати почти не пользуюсь bat.
$ stat /bin/nano | head -n 2
File: /bin/nano
Size: 352904 Blocks: 696 IO Block: 4096 regular fileВесь пакет nano занимает на диске 2.45 MiB, уже распакованный и установленный - почти в половину меньше bat.
Анонимушко, торагой, зачем ты паришься по поводу размера этого блоба, если для самого блоба надо еще компилер собрать? =)
> Для сравнения сам less
> $ stat /bin/less | head -n 2
> File: /bin/lessХреновое сравнение. Или у тебя less с нано собраны статикой?
Хреновый из тебя телепат.
> Хреновый из тебя телепат.Поэтому и был задан вопрос - посмотри в зависимости nano и скажи, оно у тебя не использут сишные либы?
А теперь расскажи, сколько растовых либ "притянул" в зависимостях bat - потому что размер 4МБ совпадает с дебианским пакетом, собранным "статикой".
Так возми и посмотри вместо того чтобы удобрять раздел комментариев. Про статику bat - глянул его зависимости, долго смеялся, спасибо за хорошее настроение.
> Так возми и посмотри вместо того чтобы удобрять раздел комментариев.Какой громкий и смелый пук, вместо ответа на вопросы.
Т.е. я должен угадать дистры анонима (хотя аноним сам утверждал, что телепат из меня хреновый) или смотреть все 100500 варинтов опакечивания?
Ну на,
$ pkg rquery %n-%sh bat nano
bat-3.66MiB
nano-2.59MiB
т.е. с "почти в половину меньше bat" ты соврамши. Хотя bat не тянет никаких растовых либ, т.е. собран "статикой".> Про статику bat - глянул его зависимости, долго смеялся, спасибо за хорошее настроение.
смотрим зависимости:
$ pkg rall-depends bat
oniguruma-6.9.7.1
libgit2-1.3.0$ pkg rall-depends nano
indexinfo-0.3.1
gettext-runtime-0.21"Смех без причины - признак ..."(с)
Ай маладца, наконец появилась хоть какая-то фактология. К сожалению для тебя она лишь подтверждает сказанное мной про жирноту несчастного аналога less. Кстати маленькая подсказки: там отображаются не все зависимости, но куда до таких мелочей гордому Зарастовоену! Да и про статику ты так ничего и не понял.
>> с "почти в половину меньше bat" ты соврамши.
> Ай маладца, наконец появилась хоть какая-то фактология. К сожалению для тебя она
> лишь подтверждает сказанное мной про жирноту несчастного аналога less.Отмазывайся теперь, балаболка.
На будущее: факты обязан предоставить утвержающий что-то. И да, вылезай уже из лужи со своим
"несчастного аналога less" - less не умеет _сам_ в подсветку, как и не умеет в git.> Кстати маленькая подсказки: там отображаются не все зависимости, но куда до таких мелочей
> гордому Зарастовоену! Да и про статику ты так ничего и не понял.Смотрите, дети: балабол не понял сути претензий, но важно надул щечки и попытался наехать в ответ ...
Так бывает, когда пытаются с умным видом набросить, но не имеют даже элементарного знания матчасти.ЗЫ:
Даю подсказку, ламерок: непосредственные зависимости бинаря обычно неплохо показываются ldd (-a), про статику тебе уже была подсказка: сколько растолиб в зависимостях у bat?
Повторяю для тебя, слепошарого, то что ты не заметил ниже, увлекшись передергиваниями и оскорблениями:$ stat /bin/nano-static | head -n 2
File: /bin/nano-static
Size: 2590952 Blocks: 5064 IO Block: 4096 regular file$ ldd /bin/nano-static
not a dynamic executable$ stat /bin/bat | head -n 2
File: /bin/bat
Size: 4815256 Blocks: 9408 IO Block: 4096 regular file$ ldd /bin/bat
linux-vdso.so.1 (0x00007ffee1fe7000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f7b56d49000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f7b56d2e000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f7b56d0d000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f7b56bc9000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f7b56bc2000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f7b569f6000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f7b5724a000)
> Повторяю для тебя, слепошарого,Юли Емеля, твоя неделя!
> $ stat /bin/nano-static | head -n 2
> File: /bin/nano-static
> Size: 2590952 Blocks: 5064А теперь открой в нем файл с подсветкой и git diff
https://camo.githubusercontent.com/c436c206f2c86605ab2f9fb63...
Упоминать, что подсветка в nano - костыль на регексах, в отличие от полноценной поддержки сублаймовского формата с грамматикой
https://github.com/sublimehq/Packages/blob/master/Perl/Perl....
так и быть, не буду.
> $ stat /bin/bat | head -n 2
> File: /bin/bat
> Size: 4815256 Blocks: 9408du -b /usr/local/bin/bat
3816432 /usr/local/bin/bat
"Криворук и ламероват - это раст все виноват!"
Это сравнение статически слинкованного нано (все равно он был мне нужен) против ни разу не статического bat (аналог less), статикой у него только свое растаманское, остальное как обычно - зависимости от С/С++ библиотек. Сравнение максимально невыгодное для nano, при том, что объем реализованного функционала несопоставим, это простой пейджер против текстового редактора. А то некоторые особо неадекватные растафанатики опять начали передергивать факты и нести какую-то чушь.$ stat /bin/nano-static | head -n 2
File: /bin/nano-static
Size: 2590952 Blocks: 5064 IO Block: 4096 regular file$ ldd /bin/nano-static
not a dynamic executable$ stat /bin/bat | head -n 2
File: /bin/bat
Size: 4815256 Blocks: 9408 IO Block: 4096 regular file$ ldd /bin/bat
linux-vdso.so.1 (0x00007ffee1fe7000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f7b56d49000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f7b56d2e000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f7b56d0d000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f7b56bc9000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f7b56bc2000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f7b569f6000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f7b5724a000)
Блин, десять минусов. Это какой-то анти-раст фанатизм. По мне, так это просто язык программирования со странным синтаксисом и интересными идеями в плане безопасности.
Когда эта дрянь всё заполонит благодаря популярности у миллионов приматов, возмущаться уже будет поздно.
Разработка этой "дряни" финансируется крупнейшими фирмами планеты Земля. Не хочешь поделиться с ними своим ценным видением, о, опеннетный эксперт?
Значит впервые в истории крупные компании финансируют вредную пустышку? На примере Microsoft: пытались выйти на мобильный рынок, потратили кучу средств на Windows Phone и Windows RT, даже купили мобильное направление NOKIA (предварительно эксклюзивно зашкварив её о Windows Phone, чтобы та не могла выпускать смарты на Android). Кстати в техническом плане у MS всё было даже не так уж плохо, провал исключительно стратегический. Далее Microsoft обоср@лись в войне консолей, остались в паритете с новым F# (сам проект убыточен, но за научно-технологический вклад в индустрию все благодарны и это +к репутации). Всё перечисленное - не благотворительные проекты. Когда Балмер объявил об уходе с поста, акции Microsoft тогда РЕЗКО ВЗЛЕТЕЛИ, на чём кстати САМ Балмер умудрился навариться xD. На него даже хотели в суд подавать за использование "инсайдерской информации", Билл Гейтс замял дело (всё это есть в изданиях того времени и проверяемо!).
>Разработка этой "дряни" финансируется крупнейшими фирмами планеты Земля.Крупнейшим фирмам этой планеты нужна лишь возможность экономить на рабочей силе и быстрее выкатывать сырой софт.
И с неадекватным сообществом.
и с неадекватными программистами```
$ cargo build --release...
error[E0658]: arbitrary expressions in key-value attributes are unstable
--> /home/programmer/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-3.0.10/src/lib.rs:8:39
|
8 | #![cfg_attr(feature = "derive", doc = include_str!("../README.md"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #78835 <https://github.com/rust-lang/rust/issues/78835> for more information
```
> и с неадекватными программистами"зато язык незастойный" (с) какой-то растоман выше.
Проект clap поддерживает сборку только двумя последними версиями компилятора, у них в репозитории это написано.
Ты что, это же доку читать надо!
cargo new claptest --vcs none
Created binary (application) `claptest` packagecat Cargo.toml
[package]
name = "claptest"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
clap = { version = "3.0.13", features = ["derive"] }cargo build --release
Finished release [optimized] target(s)
"Криворук, ламероват - это Раст всё виноват!" (c) Какой-то Анонимус.
Там скорее всего был старый компилятор, версии младше 1.54. Последние версии clap требуют Rust 1.54 или новее.
Пусть так. И неадекват с одной стороны порождает неадекват с другой стороны. Крассика.
Можно переписать coreutils на шелле, а потом некоторые примитивы для быстроты реализовать как программы на си...
Так изначально было. Давным давно, когда большинство местных даже в планах у родителей не было.
Ух ты, интересно.
Так завоют же местные: "Bash-портянкиии!"
Bash-портянкиии!
Dash-портянки?
Каким образом cut то у них работает быстрее?? Это-ж работа с файловой структурой. Или эти дурачки кэшируют запрос и выходят статус операции не получив?
Это, видимо, как в другой теме - rustоман скомпилировал код в 8 байт, в которые даже "hello opennet" не помещались... Я поржал.
true;
Речь про что-то такое -- https://github.com/kmcallister/tiny-rust-demo ?
> Речь про что-то такое -- https://github.com/kmcallister/tiny-rust-demo ?Речь про ламероватых Анти-Расто-Военов, которые использовали du для сравнения сишного хелло-ворда с хелловордом растовым (где вывод был в байтах).
https://www.opennet.me/openforum/vsluhforumID3/126607.html#90
> du a.out
> 32 a.outА когда им, прикола ради, вывели такой же выхлоп
> && du hello
> 8 hello"компуктерный Эксперт" выше решил что это выхлоп в байтах (причем его не смутило, что ELF-хелловорд c printf в 32 байта тоже не очень-то влезает).
>[оверквотинг удален]
> хелло-ворда с хелловордом растовым (где вывод был в байтах).
> https://www.opennet.me/openforum/vsluhforumID3/126607.html#90
>> du a.out
>> 32 a.out
> А когда им, прикола ради, вывели такой же выхлоп
>> && du hello
>> 8 hello
> "компуктерный Эксперт" выше решил что это выхлоп в байтах (причем его не
> смутило, что ELF-хелловорд c printf в 32 байта тоже не очень-то
> влезает).Ну я подозревал что тут опять секта извращенцев, но не верил в это до последнего. ls -la нормальные люди используют для определения размера файлов.
>[оверквотинг удален]
>>> 32 a.out
>> А когда им, прикола ради, вывели такой же выхлоп
>>> && du hello
>>> 8 hello
>> "компуктерный Эксперт" выше решил что это выхлоп в байтах (причем его не
>> смутило, что ELF-хелловорд c printf в 32 байта тоже не очень-то
>> влезает).
> Ну я подозревал что тут опять секта извращенцев, но не верил в
> это до последнего. ls -la нормальные люди используют для определения размера
> файлов.это я обос%ался, тысячу извинений. В порыве страсти в расто-битве я пропустил -b опцию к du, не заметил ошибки, и давай кидать гно врагу в лицо, не заметив что я обдристался. =)))
> это я обос%ался, тысячу извинений. В порыве страсти в расто-битве я пропустил
> -b опцию к du, не заметил ошибки, и давай кидать гно
> врагу в лицо, не заметив что я обдристался. =)))там все "еще веселей"
$ du -b hello
6608 hello$ env|grep BLOCK
BLOCKSIZE=K$ du hello
8 hello$ unset BLOCKSIZE
$ du hello
16 hello
cut и cat — это разные уилиты, первая парсит содержимое по разделителям, а вторая копирует (и чуть чуть парсит).
кот
тут правда врятли тот случай (особенно если есть io) но вообще при достаточно большой программе конпелятор хруста может более качественно оптимизировать за счет большего контекста при инлайне. по первых, ему явно предоставлены времена жизни объектов. а также он учитывает явную уникальность/неуникальность (ключевое слово mut). таким образом иногда можно проворачивать оптимизации(причем безопасные(!) а не как в О3) и быть быстрее чем сишные реализации. есть много примеров и бенчмарки это подтверждающие.
Растоманы снова переписывают весь мир
Из мозилы их уже выгнали... допереписывались.
Как в одном анекдоте.
Один НИИ выбил гранд на производство сливочного масла из фекалий. Через год проверка. Какие результаты?
На цвет и вкус пока не очень, но намазывать уже можно!
Ну переписали и переписали.Если оно реально работает быстрее, то я могу только порадоваться.
Языки программирования это просто инструменты. Главное — результат, верно?
Верно.
Предположим, что обсуждаемые утилиты таки переписали и они заработали полностью.
Но кто будет поддерживать, и тем более развивать проект? Без популяризации языка, на нём и далее будут переписывать проекты, которые и так работали, или какое время будут существовать форки для энтузиастов.
Как пример, F# вроде бы и хороший, но проекты на нем менее популярны из за отсутствия интереса многих программистов, и известен ряд проектов, которые для развития всего лишь перевели с F# на более распространённые языки.
А пока могу лишь пожелать авторам удачи, и игнорировать дальше.
Ты забиваешь свою голову всяким мусором, который вообще никак не относится к твоей жизни.Пусть хоть каждый месяц переписывают на новые языки, да хоть ядро пускай перепишут. Это их дело, они за это деньги получают. Тебе точно не придётся там ничего поддерживать и развивать.
> А пока могу лишь пожелать авторам удачи, и игнорировать дальше.Только потому, что не на гораздо более популярном Python написан? Но это же глупо. Тебе тоже удачи с таким-то подходом.
>> А пока могу лишь пожелать авторам удачи, и игнорировать дальше.
> Только потому, что не на гораздо более популярном Python написан? Но это
> же глупо. Тебе тоже удачи с таким-то подходом.При чём здесь Питон? У него иное назначение.
Он для многого слишком медленный, но зато прост для неквалифицировпнной рабочей силы, и вообще отличная замена скиптам.
А Руст, помимо безопастности, претендует на создание быстродейсвующего ПО.
> При чём здесь Питон? У него иное назначение.Зато он популярный. Тебя же популярность языка волнует прежде всего, если посмотреть на твой исходный пост (типа, а кто поддерживать будет и т.д.).
> Он для многого слишком медленный,
Для утилиток-то? Да вполне быстрый, принимая во внимание факт, что основные библиотеки Питона написаны на Си.
> и вообще отличная замена скиптам.
О, ты со мной согласен.
> А Руст, помимо безопастности, претендует на создание быстродейсвующего ПО.
Безопасность пишется без буквы "т" в середине слова, хорош язык коверкать.
Rust не только претендует, у него на выходе и получается быстродействующее ПО.
А в чем проблема их поддерживать?
Дропнуть поддержку имеющихся, перевести ресурсы (зарплату) на новых программеров и все. Точно так же будут пилить на деньги корпоратов через GNU как и раньше.
> перевести ресурсы (зарплату) на новых программеров и все.Как показала практика, чтобы заменить одного сишника, надо 10 растаманов...
Эта "практика" существует только в головах у недалёких Анонимусов на самом деле. Но разве ж это кого волнует в стане воинов АнтиРастового Сопротивления? На "войне" все средства хороши.
Откуда такое утверждение? Хоть один проект есть в виде примера? Или как обычно пальцем в небо?
> Если оно реально работает быстрееА теперь по фактам.
$ time for (( c=1; c<=1000; c++ )); do echo 'hello world' | base64 > /dev/null; done
real 0m1.300s
user 0m1.062s
sys 0m0.578s
$ time for (( c=1; c<=1000; c++ )); do echo 'hello world' | uu-base64 > /dev/null; donereal 0m1.782s
user 0m1.303s
sys 0m0.803sКаждый тест запускал три раза, здесь последний результат. base64 взял как первую попавшуюся под руку.
> for (( c=1; c<=1000; c++ ))
for c in {1..1000}
for c in $(seq 1000)
Второй вариант норм, но сишный как-то привычнее.
Второй вариант - posix-shell, в отличии от остальных башизмов и сишизмов
Прежде чем писать такое, подумай, ху-из-ху "{1..1000}"... Хинто: сделай echo {1..1000}
> Прежде чем писать ..., подумайСогласен, о себе писать проще
$ expac -Q -HM '%n: %m' toybox busybox coreutils uutils-coreutils
toybox: 0.77 MiB
busybox: 1.42 MiB
coreutils: 16.37 MiB
uutils-coreutils: 102.10 MiBРастовики, ваши оправдания. Только пожалуйста больше не делайте ошибок в своих helloworld-ах.
Вывод: ToyBox переписать на Rust!
> coreutils: 16.37 MiB
> uutils-coreutils: 102.10 MiBА руки из задницы вынать не пробовал?
https://github.com/uutils/coreutils/releases/download/0.0.12...
> utils-coreutils: 12.7 MiB
> Растовики, ваши оправдания. Только пожалуйста больше не делайте ошибок в своих helloworld-ах."Криворук и ламероват - это раст все виноват!"
Ты уже вынул? Поздравляю. А вот растовики, которые запихнули его в репозиторий в таком виде, похоже еще нет.
> Ты уже вынул? Поздравляю.Обделался с размерами арчевод, но "руки из опы" конечно же у всех, кроме него!
> А вот растовики, которые запихнули его в репозиторийИ в штаны тебе навалили тоже они? Ох уж эти Злобные Растаманы!
Воен Зарастового Сопротивления сравнивает размеры распакованного пакета coreutils со сжатым пакетом uutils-coreutils, но в штаны ему конечно навалили другие!$ expac -S -HM '%n: %k' toybox busybox coreutils uutils-coreutils
busybox: 0.72 MiB
coreutils: 2.69 MiB
uutils-coreutils: 9.40 MiB
> Воен Зарастового Сопротивления сравнивает размеры распакованного пакета coreutils со
> сжатым пакетом uutils-coreutils, но в штаны ему конечно навалили другие!Ну, в головах Военов-Антирастовцев - все может быть.
В реальности, там никакого сравнения с coreutils не было (лишь цитирование Воена) и _ссылка_ на деб-пакет, который в сжатом виде весит 2.8МБ, а в распакованном - как раз 12.7МБ> $ expac -S -HM '%n: %k' toybox busybox coreutils uutils-coreutils
> busybox: 0.72 MiB
> coreutils: 2.69 MiB
> uutils-coreutils: 9.40 MiB
>> uutils-coreutils: 102.10 MiBДа уже все поняли, что рачеводы-антирастовцы обделались, не нужно лишний раз подтвержать.
>> $ expac -S -HM '%n: %k' toybox busybox coreutils uutils-coreutils
>> busybox: 0.72 MiB
>> coreutils: 2.69 MiB
>> uutils-coreutils: 9.40 MiB
>>> uutils-coreutils: 102.10 MiB
> Да уже все поняли, что рачеводы-антирастовцы обделались, не нужно лишний раз подтвержать.А не, извини был не прав - лично ты тоже обделался, как раз в сравнении:
https://archlinux.org/packages/community/x86_64/uutils-coreu.../
Package Size: 9.5 MB
Installed Size: 102.4 MB
https://archlinux.org/packages/core/x86_64/coreutils/
Package Size: 2.7 MB
Installed Size: 16.4 MB
>> сравнивает размеры распакованного пакета coreutils со сжатым пакетом uutils-coreutils, но в штаны ему конечно навалили другие!Т.е. все по опеннетному феншую - обвинил меня в том, что сделал сам *g*
Молодец, что наконец увидел свою ошибку. Печально, что не умеешь признавать свои ошибки, по-детски пытаешься выкрутится и "по опеннетному феншую - обвинил меня в том, что сделал сам", но что поделать, если гордому Зарастовому Воену некогда постирать штаны, ему нужно срочно бежать что-то переписывать на Rust.Комментариев, почему uutils-coreutils такой жирный по сравнению с coreutils, мы конечно не услышим. Еще раз напомню, с чего все начиналось (для особо недоходчивых военов раста напомню, что это размер установленного пакета, сжатый размер никого не интересует):
$ expac -Q -HM '%n: %m' toybox busybox coreutils uutils-coreutils
toybox: 0.77 MiB
busybox: 1.42 MiB
coreutils: 16.37 MiB
uutils-coreutils: 102.10 MiB
> Молодец, что наконец увидел свою ошибку. Печально, что не умеешь признавать свои
> ошибки, по-детски пытаешься выкрутится и "по опеннетному феншую - обвинил меня
> в том, что сделал сам", но что поделать, если гордому Зарастовому Воену некогда постирать штаны, ему нужно срочно бежать что-то переписывать на Rust.Это ты сам собою беседу ведешь и сам себя успокаиваешь?
> Комментариев, почему uutils-coreutils такой жирный по сравнению с coreutils, мы конечно
> не услышим. Еще раз напомню, с чего все начиналось (для особо недоходчивых военов раста напомню, что это размер установленного пакета, сжатый размер никого не интересует):
> $ expac -Q -HM '%n: %m' toybox busybox coreutils uutils-coreutils
> toybox: 0.77 MiB
> busybox: 1.42 MiB
> coreutils: 16.37 MiB
> uutils-coreutils: 102.10 MiBВоен, перестань уже юлить - сжатый размер, в ответ на размер _распаковванного_ деб-пакета запостил тут именно ты.
>>> coreutils: 16.37 MiB
>>> uutils-coreutils: 102.10 MiB
>> https://github.com/uutils/coreutils/releases/download/0.0.12...
>> uutils-coreutils: 12.7 MiB
> Сообщение от Аноним (271),
> uutils-coreutils: 9.40 MiB"Криворуки и ламероваты - это все растоманы виноваты!" (с)
Тебе кинули вот это:$ expac -Q -HM '%n: %m' toybox busybox coreutils uutils-coreutils
toybox: 0.77 MiB
busybox: 1.42 MiB
coreutils: 16.37 MiB
uutils-coreutils: 102.10 MiBостальное все, дебы какие-то, исключительно твои больные фантазии, впрочем, простительные для растамана. Но когда ты обкакался, я конечно тебя поправил по доброте душевной, сбросил тебе размеры сжатых пакетов, чтобы ты мог осознать свою ошибку и больше ее не делать, но ты все равно упорствуешь в своей глупости, но раз так, тут уж я тебе не доктор.
> Тебе кинули вот это:
> $ expac -Q -HM '%n: %m' toybox busybox coreutils uutils-coreutils
> toybox: 0.77 MiB
> busybox: 1.42 MiB
> coreutils: 16.37 MiB
> uutils-coreutils: 102.10 MiB
> остальное все, дебы какие-то, исключительно твои больные фантазии, впрочем, простительные для растамана.Дорогой стрелочник, вот эти вот "какие-то" дебы - официальные релизы.
В отличие от рукожопного творчества рачеводов. Так что с адресом для претензии ты промахнулся, да и читал похоже опой.
"Криворук и ламероват - это раст все виноват!"(c)
> я конечно тебя поправил по доброте душевной, сбросил тебе размеры сжатых пакетов, чтобы ты мог осознать свою ошибку и больше ее не делать, но ты все равно упорствуешь в своей глупости, но раз так, тут уж я тебе не доктор.Ну т.е. ты не сел в лужу после обс*ра, а просто нафантазировал какую-то муйню и сам ее гордо оспорил? Ну пусть так.
Хаха, когда допишут до уровня корутилс - хорошо если на CD влезет😂 Если допишут конечно.
>> deb пакет размером 12.7МБ
> Хаха, когда допишут до уровня корутилс - хорошо если на CD влезет😂
> Если допишут конечно.Перепись клоунов-WSLщиков, подпевающих "Рабиновичу" 😂
Про ошибки не понял, но с размерами, могу предположить, что это из-за статической линковки с растовой std.
> Про ошибки не понял, но с размерами, могу предположить, что это из-за статической линковки с растовой std.Учитывая, что такой же стат. слинкованный бинарник под деб, венду и дарвин - в 7-8 раз меньше, скорее из-за "линковки" рук сборщика с libass.
>В настоящее время полностью доведена до паритета с GNU Coreutils реализация 88 утилит. Отдельные недоработки отмечаются в 18 утилитах, включая cp, dd, date, df, install, ls, more, sort, split, tail и test.КПД пока отрицательный, но скоро выйдут в 0.
Или в ещё больший минус, что вероятнее.
От норкоманы... Ещё и туповатые: нужно переписать на раст компоненты системды, а остатки утилит сами подтянуться.
Есть еще такой интересный язык V, один кандидатов в преемники Rust, испытавшим его влияние, но с синтаксисом получше. Так его команда тоже пишет свой вариант coreutils, уже даже есть что-то рабочее https://github.com/vlang/coreutils с несравнимо меньшей командой.Список заявленных фич языка с их сайта https://vlang.io/
As fast as C (V's main backend compiles to human readable C)
C interop without any costs
Minimal amount of allocations
Built-in serialization without runtime reflection
Compiles to native binaries without any dependencies: a simple web server is only 65 KB
V compiles ≈110k (Clang backend) and ≈1 million (x64 and tcc backends) lines of code per second per CPU core.
(Intel i5-7500, SM0256L SSD, no optimization)V is written in V and compiles itself in under a second.
Это очень хорошо, но нужен баттл-тест и сравнение с Zig.Чего в сишке не хватает, как и, скорее всего в V/Zig - так это возможности просчёта целиком стекоориентированной программы, такой safe мне бы пришёлся по нраву. Но это, конечно, хайлевел.
С другой стороны, можно этот хайлевел свести к макросам...
Версия пре пре пре пре альфа.
Течём, падаем. Но это другое.
> Отдельные недоработки отмечаются в 18 утилитах, включая cp, dd, date, df, install, ls, more, sort, split, tail и test.Действительно. cp, df, test, sort, split и tail. Это такие сложные программы что раст не справляется.
cp блин, sort, мдааааааа. Неосиляторы. Даже переписать не могут готовое.
> Это такие сложные программы что раст не справляется.
> cp блин, sort, мдааааааа. Неосиляторы.То ли дело очередной опеннетный "осилятор", который не в курсе современных возможностей cp
> --reflink[=WHEN]
> control clone/CoW copies. See below
> -Z set SELinux security context of destination file to default type
> --context[=CTX]
> like -Z, or if CTX is specified then set the SELinux or SMACK
>> Это такие сложные программы что раст не справляется.
>> cp блин, sort, мдааааааа. Неосиляторы.
> То ли дело очередной опеннетный "осилятор", который не в курсе современных возможностей
> cp
>> --reflink[=WHEN]
>> control clone/CoW copies. See below
>> -Z set SELinux security context of destination file to default type
>> --context[=CTX]
>> like -Z, or if CTX is specified then set the SELinux or SMACKчто, SELinux надо с нуля писать? Или просто споткнулись на запись в /dev/full очередной паникой, и "здесь надо всё переделать"? :-D
>>> Это такие сложные программы что раст не справляется.
>>> cp блин, sort, мдааааааа. Неосиляторы.
> что, SELinux надо с нуля писать? Или просто споткнулись на запись в
> /dev/full очередной паникой, и "здесь надо всё переделать"? :-DКакой занятный спрыг с темы "сложности". Посмоти тога уж в код гнутого cp (1200 строк и того же бздшного - 500 строк)
> Или просто споткнулись на запись в /dev/full очередной паникой,Прикольно наверное выдавать баги (забивание на провероки ошибок) за фичи.
>>>> Это такие сложные программы что раст не справляется.
>>>> cp блин, sort, мдааааааа. Неосиляторы.
>> что, SELinux надо с нуля писать? Или просто споткнулись на запись в
>> /dev/full очередной паникой, и "здесь надо всё переделать"? :-D
> Какой занятный спрыг с темы "сложности". Посмоти тога уж в код гнутого
> cp (1200 строк и того же бздшного - 500 строк)Так "сложности" или сложности?
>> Или просто споткнулись на запись в /dev/full очередной паникой,
> Прикольно наверное выдавать баги (забивание на провероки ошибок) за фичи.Так ты сам забыл проверить, и называешь это багом. Смотри:
$ echo > /dev/full
echo: write error: No space left on deviceА растаманьки щас будут выпиливать секурность раста по умолчанию, потому что она их жмёт. :-D
> Так "сложности" или сложности?Спроси у собрата-Воена, я его цитировал (да-да, кавычки именно для этого).
>>> Или просто споткнулись на запись в /dev/full очередной паникой,
>> Прикольно наверное выдавать баги (забивание на провероки ошибок) за фичи.
> Так ты сам забыл проверить, и называешь это багом. Смотри:
> $ echo > /dev/full
> echo: write error: No space left on deviceНеплохой спрыг, но на днях под примером сишного хелловрота, который не выводит вообще ничего, ты его почему-то не привел.
> А растаманьки щас будут выпиливать секурность раста по умолчанию, потому что она их жмёт. :-D
Извини, я в бурных фантазиях Сопротивленцев Расту не секу :(
>Спроси у собрата-Воена, я его цитировал (да-да, кавычки именно для этого).я лучше тебя спрошу: растамани SELinux переписывать собрались, или просто дёргать апи неосилили?
>Неплохой спрыг, но на днях под примером сишного хелловрота, который не выводит вообще ничего, ты его почему-то не привел.
А зачем? Это же очевидно. Я привел ссылку, где твои растамани как раз споткнулись на твоей фиче по умолчанию, и теперь чешут репу что делать, бо компилер дофига умный.
>>Спроси у собрата-Воена, я его цитировал (да-да, кавычки именно для этого).
> я лучше тебя спрошу: растамани SELinux переписывать собрались, или просто дёргать апи неосилили?Ну т.е. предпочтешь и далее спрыгивать с темы. Ожидаемо.
>>Неплохой спрыг, но на днях под примером сишного хелловрота, который не выводит вообще ничего, ты его почему-то не привел.
> А зачем? Это же очевидно. Я привел ссылку, где твои растамани как раз споткнулись на твоей фиче по умолчанию, и теперь чешут репу что делать, бо компилер дофига умный.Но читал ты там очевидно совсем не глазами, потому что "приком" там чисто эстетический, а "чо делать" там тоже сказал:
> Provide custom print!/println! macros, which is not a great option as they will probably be inferior to or go out of sync with the original macros.
> Disallow print!/println! and only use write!/writeln! with proper error handling, which increases the maintenance burden a lot.Т.е. да, "выдавать баги (забивание на провероки ошибок) за фичи." не выходит, в отличие от.
>>>Спроси у собрата-Воена, я его цитировал (да-да, кавычки именно для этого).
>> я лучше тебя спрошу: растамани SELinux переписывать собрались, или просто дёргать апи неосилили?
> Ну т.е. предпочтешь и далее спрыгивать с темы. Ожидаемо.ты реально не понимаешь о чем я тебя спрашиваю? :-D
>>>Неплохой спрыг, но на днях под примером сишного хелловрота, который не выводит вообще ничего, ты его почему-то не привел.
>> А зачем? Это же очевидно. Я привел ссылку, где твои растамани как раз споткнулись на твоей фиче по умолчанию, и теперь чешут репу что делать, бо компилер дофига умный.
> Но читал ты там очевидно совсем не глазами, потому что "приком" там
> чисто эстетический, а "чо делать" там тоже сказал:
>> Provide custom print!/println! macros, which is not a great option as they will probably be inferior to or go out of sync with the original macros.
>> Disallow print!/println! and only use write!/writeln! with proper error handling, which increases the maintenance burden a lot.
> Т.е. да, "выдавать баги (забивание на провероки ошибок) за фичи." не выходит,
> в отличие от.ты победил меня измором)) поднимаю лапки вверх.
> То ли дело очередной опеннетный "осилятор", который не в курсе современных возможностей cpТо ли дело ресдох, в котором как выясняется даже cp ещё нету. А что в нём есть? Ой, постойте, НИЧЕГО. Оно даже не запускается.
>> То ли дело очередной опеннетный "осилятор", который не в курсе современных возможностей cp
> То ли дело ресдох, в котором как выясняется даже cp ещё нету.Зачем ты спрыгнул на редокс? Да еще и промахнулся - прямо в лужу попал:
https://github.com/redox-os/uutils/tree/master/src/uu/cp
> А что в нём есть? Ой, постойте, НИЧЕГО. Оно даже не запускается.И опять прыжок - и опять "Здравствуй, лужа!":
https://www.redox-os.org/screens/
"Redox is not correct, secure, or documented. It does a lot of things in a cavalier, leave it up to the application, manner. Applications can malloc and forget to free, Redox will not clean this up. Applications can access missing memory or kernel memory, Redox does not care. All applications run in Ring 0, and have all permissions. Some syscalls use vtables that rely on exactly the same struct defintions in userspace as kernel space. Syscalls cannot return values, except by writing them into a passed pointer. Memory allocation is done in the application, and uses a global memory allocation table that applications directly modify. None of its functionality is documented, outside of example source files."
Обделался товарищ. Это гавнопускалка в докере, а не даже ос которую куда-то можно поставить.
> Аноним (257) То ли дело ресдох, в котором как выясняется даже cp ещё нету.
> Аноним (257) Обделался товарищ. Это гавнопускалка в докере, а не даже ос которую куда-то можно поставить.Но почему о себе в третьем лице?
> cp блин, sort, мдааааааа. Неосиляторы. Даже переписать не могут готовое.Ну cp только кажется простой, а на деле скопировать два файла - это реально сложная задача. Простой она кажется только потому, что мы в языках программирования вызываем эту самую cp, любезно написанную дядями до нас (ну или функцию стандартной библиотеки языка, но я думаю, что там вполне может быть вызов cp под капотом)
Едва ли Apple заменит BSD-utils на это.
Нужно быть отмороженным на голову менеджером, чтобы поставить свой коммерческий продукт в зависимость от этого проекта, языка и его сообщества. Поэтому конечно такого не будет.
У вас просто нету подхода к менеджеру Apple, потому вы так и говорите.
А у растаманов откуда столько кило$подходов к менеджеру Apple?
Удивительный мир опеннета. Когда во всем мире пришло признание понятия хайповых языков (это языки программирования не способные жить без хайпа) - тут только только взялись за ложку и подошли к корыту. корутилс на расте, этопрорыв ящитаю
Надеюсь оно без crates? А то ж там не уследишь за дырками.
Унижения растаманов бесконечны.Долго смеялся, когда увидел:
$ pacman -Qlq sbase-git | grep /bin/ | wc -l
99
$ pacman -Qlq uutils-coreutils | grep /bin/ | wc -l
98Напоминаю, sbase пишет полтора энтузиаста из suckless.
Забыл ссылку и описание, что это такое:sbase is a collection of unix tools that are portable across unix-systems.
https://core.suckless.org/sbase/
> Унижения растаманов бесконечны.
> Долго смеялся, когда увидел:
> $ pacman -Qlq sbase-git | grep /bin/ | wc -l
> 99
> $ pacman -Qlq uutils-coreutils | grep /bin/ | wc -l
> 98
> Напоминаю, sbase пишет полтора энтузиаста из suckless.Если отправишь коммитом в саклесс -- будет 100. :-D
https://github.com/zeppe-lin/sbase/blob/master/realpath.c
https://github.com/zeppe-lin/sbase/blob/master/realpath.1
> Унижения растаманов бесконечны.
> Долго смеялся, когда увидел:
> $ pacman -Qlq sbase-git | grep /bin/ | wc -l
> 99
'*' -> Finished,
UTILITY MISSING
o ed # нет поддержки utf8, недоделан
0=*|o cp (-i)
0= find # недоделан
=*|o grep # нет поддержки NUL
0#* o ls (-C, -k, -m, -p, -s, -x)
...
и тд
Смех без причины - признак рачев^W [этого-самого]?
>https://github.com/uutils/coreutils#targets-that-compile
>This is an auto-generated table showing which binaries compile for each target-triple. Note that this does not indicate that they are fully implemented, or that the tests pass.но ведь смешно :-D
> Унижения растаманов бесконечны.
> Долго смеялся, когда увидел:
> $ pacman -Qlq sbase-git | grep /bin/ | wc -l
> 99
> $ pacman -Qlq uutils-coreutils | grep /bin/ | wc -l
> 98
> Напоминаю, sbase пишет полтора энтузиаста из suckless.Огосспади, я тут посмотрел их /bin/cat. Помнишь срач бородатых хакеров, про усложнение cat'a начиная с первого юникса?
Держи братиш:
https://raw.githubusercontent.com/uutils/coreutils/main/src/...
ну, для сравнения:
https://git.suckless.org/sbase/file/cat.c.html
xD
P.S. Они маны не осилили чтоль? O_o
Да я ничего и не говорю про их ПО, suсkless народ своеобразный, хотя их cat нормально работает и делает свое дело. Меня просто позабавили такие числа, 98 и 99. Ну а так оно будет еще смешнее ))
Ахаха, смешно смешно. Вот поэтому у них вечная пре пре альфаПереписуны блин.
Но конечно, это другое.
Вообще даhttps://raw.githubusercontent.com/uutils/coreutils/main/src/...
против
https://git.suckless.org/sbase/file/cat.c.html
Это фиаско братаны. Удачи вам с таким недоязыком
Ну ты сравнил...
Одна утилита принимает ЦЕЛУЮ ОДНУ опцию "-u", а другая не меньше десятка. Она вроде еще и не только для линукса (есть #[cfg(not(unix))]). Причем в этом коде еще тестов немного добавили.
> Ну ты сравнил...
> Одна утилита принимает ЦЕЛУЮ ОДНУ опцию "-u", а другая не меньше десятка.Даже не принимает, это заглушка для поведения по умолчанию, растаманя. Только что это меняет? Всё ж на виду. Код на расте -- адовый.
> Она вроде еще и не только для линукса (есть #[cfg(not(unix))]). Причем
Приколись, сишный код и без этого мусора кроссплатформенный. Это корутилс, он не линукс-специфичный.
> в этом коде еще тестов немного добавили.
Разумеется, сразу тестов в код утилиты, это ведь так по-современному, так по-молодежному. В то воемя как в sbase cat'e и тестировать нечего. Примитивщина, какой и должна быть cat.
А... да, сорян, там одна опция и то заглушка. Совсем печалька.
На виду то, что эта утилита не умеет практически ничего? Да, это 100% на виду.
То что код для тебя адовый просто показывает твою некомпетентность.Да, да, знаем вы ваше тестировать нечего. А потом очередная CVE на передаче параметров.
> А... да, сорян, там одна опция и то заглушка. Совсем печалька.
> На виду то, что эта утилита не умеет практически ничего? Да, это
> 100% на виду.
> То что код для тебя адовый просто показывает твою некомпетентность.
> Да, да, знаем вы ваше тестировать нечего. А потом очередная CVE на
> передаче параметров.Так и вас это месиво из символов не спасает от CVE. О как. :-D
CVE в Си-шном коде 15 лет провисела! В одной из самых популярных библиотек мира! "Тысячи глаз" и далее по тексту. И ты после такого факапа про лёгкость чтения Си-кода рассказывать будешь? Ой, мамо, роди меня обратно.
> CVE в Си-шном коде 15 лет провисела! В одной из самых популярных
> библиотек мира! "Тысячи глаз" и далее по тексту. И ты после
> такого факапа про лёгкость чтения Си-кода рассказывать будешь? Ой, мамо, роди
> меня обратно.И это не предел, Си появился в 70-х, кода на нем экзабайты. Где важна безопасность, существовали всегда гайдлайны, в тч для Си, и никаких проблем с этим нет.
Нынешняя истерика и театр безопасности был не всегда в этом вашем айти.
Что до легкости чтения: мы ж не сравниваем с паскалем. Мы сравниваем с растом, где синтаксис писали укуренные вахтеры. ;-D
> И это не пределКто бы сомневался. Ты мне только лекции не читай, а? Я сам, кому хошь могу почитать, если что.
> Где важна безопасность, существовали всегда гайдлайны
И где они для одной из самых распространённых в мире серверных ОС?
> Нынешняя истерика и театр безопасности был не всегда в этом вашем айти.
Люди миллионы бабла на уязвимостях теряют, а он тут про истерику лепечет что-то.
> Что до легкости чтения: мы ж не сравниваем с паскалем. Мы сравниваем с растом, где синтаксис писали укуренные вахтеры. ;-D
А давай ещё какой язык возьмём, с которым ты не знаком. Готов сотку баков поставить, что ты там будешь вещать примерно в том же духе. Поэтому внимание, вопрос: дело в синтаксисе, или в тебе всё-таки?
>[оверквотинг удален]
>> Где важна безопасность, существовали всегда гайдлайны
> И где они для одной из самых распространённых в мире серверных ОС?
>> Нынешняя истерика и театр безопасности был не всегда в этом вашем айти.
> Люди миллионы бабла на уязвимостях теряют, а он тут про истерику лепечет
> что-то.
>> Что до легкости чтения: мы ж не сравниваем с паскалем. Мы сравниваем с растом, где синтаксис писали укуренные вахтеры. ;-D
> А давай ещё какой язык возьмём, с которым ты не знаком. Готов
> сотку баков поставить, что ты там будешь вещать примерно в том
> же духе. Поэтому внимание, вопрос: дело в синтаксисе, или в тебе
> всё-таки?Ты опять победил, да что ж такое-то? :-D
У вас болезнь?)). Почему-то если матёрый разработчик на C++ скажет, что местами в C++ просто ужасный синтаксис это не оскорбит никого из разработчиков, а большинство даже согласятся, но О БОЖЕ, про Rust нельзя говорить что его синтаксис ужасен, хотя он хуже, чем у C++. У C++ синтаксис и архитектура ПО портятся когда проект долго поддерживается и претерпевает массу изменений, которые изначально не планировались (то что можно изначально создать идеальную архитектуру - это либо миф, либо придётся жертвовать производительностью и памятью), в Rust же даже на простых вещах порождает непонятно что, если именно на этом языке текущая задача "неудобна". Чёрт да на хабре целые статьи посвящали тому, как строку передать функции, в гугле это самый популярный вопрос про Rust у новичков Rust xD.
> У вас болезнь?)). Почему-то если матёрый разработчик на C++ скажет, что местами в C++ простоужасный синтаксис это не оскорбит никого из разработчиков,
> если матёрый разработчик на C++
> матёрый разработчик наА зуб дашь, что Самокатчик - матерый разраб на Rust? Или это такая особая "логика" вида "Опустим обычную газету в серную кислоту, а журнал ТВ-Парк в дистиллированную воду"?
> А зуб дашь, что Самокатчик - матерый разраб на Rust?Не дам. Но я также не дам зуб за те, кто говорят В ПОЛЬЗУ Rust, сами являются матёрыми разработчиками на Rust)). Я вообще не верю, что всерьёз на нём кто-то пишет. Учитывая количество реальных проектов на Rust никто и не пишет). При этом его "экстравагантность" - это не аргумент нисколько. Whatsapp (из мейнстрима) написан на Erlang, который даже близко не мейнстрим, хотя Erlang как конкурент ЗНАЧИТЕЛЬНО опаснее Rust и за ним стоят реальные проекты, а также это один из немногих функциональных языков (если не единственный среди компилируемых), который делает деньги, но широкие массы могли даже о нём и не слышать).
Я непосредственно знаю контору, в которой большой проект на Erlang не взлетел из-за особенностей самого языка. Его переписали на Rust и работает уже несколько лет.
> Я непосредственно знаю контору, в которой большой проект на Erlang не взлетел
> из-за особенностей самого языка. Его переписали на Rust и работает уже
> несколько лет.Здравствуйте,
С вами телемагазин от растамани.
Вы не поверите, но я знаю людей, которые знают людей, которым было плохо.
Очень плохо.
Но потом, они перешли на раст, и вы не поверите как всё стало хорошо!!!
В отличии от моего коментария, в вашем не содержится вообще ничего ценного. Я ссылаюсь на собственный опыт, и отвечал вообще не вам. Вы же просто написали очередной мусор, который говорит только о том, что у вас зуд на любое положительное слово в сторону Rust. Но это и так уже всем известно.
> В отличии от моего коментария, в вашем не содержится вообще ничего ценного.И в вашем ничего. Я удивлён как такая тухлая реклама вообще возможна в наше время на техническом ресурсе. Раньше помню, цэпэпэшники как-то обосновывали сишникам RAII, ООП средствами языка, и почему стоит вводить цэпэпэ идиомы, и переходить на цэпэпэ компилер. Дискуссия как-то строилась на чём-то, не на телемагазине: раньше, до появлении исусьи тряпки я страдал обычной шваброй, но теперь всё изменилось!!!!
Ну что это? Стыд и срам, уровень автобусника, которого погнали с лора.
> Я ссылаюсь на собственный опыт,а я на свой.
> и отвечал вообще не вам.
пишите в личку, если не хотите чтоб ваше сообщение комментировали.
> Вы же просто написали очередной мусор, который говорит только о том, что
> у вас зуд на любое положительное слово в сторону Rust. Но
> это и так уже всем известно.Пинать вас -- запретное наслаждение.
Я кратко сказал о своем опыте, нужны детали - спросите нормально, и получите ответ. А так, знаете, нет никакого желания метать бисер перед свиньями. И в таком положении вещей, что тут становится невозможно вести нормальную дискуссию, виноваты вы сами: перечитайте свои же коментарии с точки зрения оппонента, подумайте, что вы сами понаписали, прочувствуйте собственную манеру общения. И вам станет понятно, почему с такими как вы никакая серьезная дискуссия в принципе невозможна.
>> /// Unix domain socket support
>> #[cfg(unix)]
> Приколись, сишный код и без этого мусора кроссплатформенный.А точно UNIX-domains есть на венде? А, ну да: "нет поддержки на любой платформе - нет и проблем!".
> Это корутилс, он не линукс-специфичный.
>> /// Linux splice support
>> #[cfg(any(target_os = "linux", target_os = "android"))]
>> mod splice;Т.е. наличие ОС-специфичных оптимизаций - зло?
>>> /// Unix domain socket support
>>> #[cfg(unix)]
>> Приколись, сишный код и без этого мусора кроссплатформенный.
> А точно UNIX-domains есть на венде? А, ну да: "нет поддержки на
> любой платформе - нет и проблем!".В начале ты не понял простецкий сишный код, сейчас юникс-сокеты для тебя UNIX-domains... Ты не эйчарка случайно?
А если ты растаманька, то винда твой дом родной, и не знать что она умеет в юникс-сокеты -- это дно даже по вашим растаманьским меркам.
>> Это корутилс, он не линукс-специфичный.
>>> /// Linux splice support
>>> #[cfg(any(target_os = "linux", target_os = "android"))]
>>> mod splice;
> Т.е. наличие ОС-специфичных оптимизаций - зло?в таком виде эт хуже чем зло, это уёпичность. ;)
> В начале ты не понял простецкий сишный код, сейчас юникс-сокеты для тебя
> UNIX-domains... Ты не эйчарка случайно?
> А если ты растаманька, то винда твой дом родной, и не знать
> что она умеет в юникс-сокеты -- это дно даже по вашим растаманьским меркам.Классический опеннетный Воен - когда нечего возразить по теме, покричи "вы ничиго нипанимаити!", а потом прие%бись к опечаткам и назови "вендузятником".
Ну тебе виднее, что там на вантузе (надеюсь, правда, не как с "du a.out") и с каких версий.
Так ты покажешь поддержку юникс-сокетов в "простецком сишном коде" или опять свинтишь с темы?>>> Это корутилс, он не линукс-специфичный.
>>>> /// Linux splice support
>>>> #[cfg(any(target_os = "linux", target_os = "android"))]
>>>> mod splice;
>> Т.е. наличие ОС-специфичных оптимизаций - зло?
> в таком виде эт хуже чем зло, это уёпичность. ;)Что, в WSL не работает толком, а значит и не нужно, да? ;)
Фиаско, это когда один клоун пытается рассмешить публику шуткой, а публика не смеётся, потому что юмор отстойный.Тебе бы, кроме длины кода, ещё и функциональность сравнить. А? Подсказка (мало надежды, что сам осилишь): разница есть, и она ОЧЕНЬ большая.
> Тебе бы, кроме длины кода,Ты сам о длине кода щас запел.
> ещё и функциональность сравнить.
https://github.com/uutils/coreutils/issues
188 исусов (хоть дели на два), толку от этой функциональности?
Хаха, ты хочешь померяться кол-вом багов?
Ну давай https://lists.gnu.org/archive/html/bug-coreutils/2021-01/ind...
Когда коту нечего делать - он на расте пишет
А когда есть чем - на Сях или Плюсах, надо полагать? :)
Какой же ты догадливый! Наконец-то ты начал подозревать, на чём люди работают в реальности!
а можно не писать новости про раст по причине возникновения рвотных позывов от подобных новостей типа: на раст переписали калькулятор или команду ls. завязывайте с этим
А можно ты отсюда просто самовыпилишься, потому что твои проблемы с психосоматикой никому не интересны, кроме твоего лечащего врача?
послушай гычa, ты бы свое отверстие прикрыл бы ) а то воздух портишь своим трепом самоуверенным ), Знаю знаю, в метовселенной выберешь себе аватара с прокаченным телом и большим мечом )))
> 0.0.12Пре пре пре пре альфа. Как и всё на расте.
Слоупуки
>> 0.0.12
> Пре пре пре пре альфа. Как и всё на расте.
> СлоупукиОсобенно Амазоны с Гуглями и Интелями в соседней новости - все там лохи позорные и только опеннетные аналитики-разработчики-обсуждатели знают, как надо :)
>> Компания Amazon опубликовала значительный выпуск монитора виртуальных машин (VMM, Virtual Machine Monitor) Firecracker 1.0.0, рассчитанного на запуск виртуальных машин с минимальными накладными расходами. Firecracker является ответвлением от проекта CrosVM, используемого компанией Google для запуска приложений Linux и Android в ChromеOS. Разработка Firecracker ведётся в подразделении Amazon Web Services с целью повышения производительности и эффективности работы платформ AWS Lambda и AWS Fargate. Код Firecracker написан на языке Rust и распространяется под лицензией Apache 2.0.
Какая-то совершенно нишевая тулза для девляпсусов.
>> с целью повышения производительности и эффективности работы платформ AWS Lambda и AWS Fargate
>> Lambda is a compute service that lets you run code without provisioning or managing servers.
> Какая-то совершенно нишевая тулза для девляпсусов.Какая-то совершенно опеннетная оналитека.
Имею большой опыт в С++. Потыкал Раст. Даже буду говорить, что синтаксис ужасен. Дело в том, что приходится простейшие вещи писать таким хитровывернутым образом, чтоб компилятор был доволен, что за этой лапшой невозможно понять логику программы. Собственно увеличивается вероятность логических ошибок. Вендорлок: как система сборки, так и компилятор привязаны к вполне конкретным людям. В отличие от С++ где монополии на язык нет. В общем не рекомендую никому
Ты забыл что среды нормально для него нет. Чтобы полноценный рефакторинг контекстный, контестный поиск и т.д. из мира современного C++При этом те проблемы которые они решать пытаются давно уже решены в современном C++
А хвалёные женерики до плюсовых шаблонов не дотянут от слова никогда
>среды нормально для него нетVS Code с плагинами.
>давно уже решены в современном C++
Не решены, не ври.
1. UB.
2. Модульность (есть только в стандарте, полноценной поддержки пока нет).
3. Сложность спецификации.
4. Неполная поддержка стандартов компиляторами.
> А хвалёные женерики до плюсовых шаблонов не дотянут от слова никогда
Больше подробностей хотелось бы.
Ткнём случайно в середину:> Сложность спецификации
Вот кто бы уж говорил о сложности :)
Раст осваивается за полгода программистом средней руки. Потом ещё столько же обкатывается на практике (плюс/минус).
На освоение Плюсов уходит от ПЯТИ лет, и это будет программист начального уровня в лучшем случае.
>> А хвалёные женерики до плюсовых шаблонов не дотянут от слова никогда
> Больше подробностей хотелось бы.В смысле, дальнейшее подтверждение опеннетного "Ыкспертизма" (сравнить опу с пальцем - дженерики с темплейтами)? Зачем?
Для демонстрации Урри и его собратьям по разуму, какой он и его сторонники непроходимо убоги и тупы, например.
>VS Code с плагинами.Это УГ. Кстати про IDE я ещё под предыдущим постом говорила. Что ЛУЧШЕ БЫ растоманы вместо словесных баталий на деле доказывали бы что этот язык полезный. Запилить IDE, тем более что на это есть минимум человеческие ресурсы (и конечно же на самом Rust!) - стало бы неплохим стартом. На практике же используется тормознутая хрень, написанная на JS. VS Code с плагинами убивает любое железо.
>UB.
Это не проблема. В C тоже есть UB.
>Модульность (есть только в стандарте, полноценной поддержки пока нет).Это вообще смех. Проблема модульности решена даже в C, если уметь на нём писать. Инструменты ООП языков на деле даже избыточны (а иногда и вредны) и Rust здесь не изобрёл вообще ничего нового.
>Сложность спецификации.На деле не сложность, а объемность и её не требуется читать от корки до корки, т.к. в большинстве обыденных случаях разработчик и так будет знать как это работает за кадров, в отличие кстати от Rust, который зачастую состоит из странностей, особенно когда дела доходит до времени жизни.
>Неполная поддержка стандартов компиляторами.Это тоже нихрена не аргумент, учитывая что решения по стандартам C и C++ сегодня уже больше напоминают политические дебаты, а не реалии. C11 вообще критиковали многие и вообще в C есть лишние (избыточные) вещи, которыми мало кто пользуется на практике. Rust же имея возможность создать с нуля чистый язык и ЧИСТЫЙ СТАНДАРТ, идёт по граблям на костылях с самого начала!
У C# кстати всего 3 стандарта (от версия 1, 2 и 5) 5-ый фактически считается эталоном, а всё что вышло после - синтаксический сахар и "не нужно" (чаще даже действительно НЕ НУЖНО).
> VS Code с плагинамиНе среда. Редактор текста в барузере. Кушай сам этот отстой. В котором ещё и плагины от васянов конфлектуют с плагинами от калянов
> Не среда.А мог бы ты обосновать свой ответ? Чего тебе там не хватает?
> Вендорлок: как система сборки, так и компилятор привязаны к вполне конкретным людям. В отличие от С++ где монополии на язык нет.При этом в конкретные люди можно попасть через постель.
То есть, спецификация C++ в полторы тысячи страниц, которую не знает ни один человек в мире, сплошные UB, неполная поддержка стандартов компиляторами тебя не беспокоят. И ошибок в программу эти факты не добавляют. Да?
Для с++ хотя бы есть компиляторЫ. Поэтому раст и не используют.
Не понял, почему поэтому?
> Не понял, почему поэтому?"Потому что потому!"(с)
А Амазоны с Гуглами из соседней новости - никто, и поэтому не считаюца! Вот!
> Не понял, почему поэтому?Потому что у раста нет компиляторОВ.
P.S. Но растаманы, как это показал растаман выше, не в состоянии этого понять.
> P.S. Но растаманы, как это показал растаман выше, не в состоянии этого понять.Вас, Военов-фантазеров, вообще мало кто может понять. Особенно когда начинаете спорить с воображаемыми "врагами" ...
А программирование и не должно быть простым - все это пророждает еще большие проблемы. Если вы не в состоянии осилить полторы тысячи страниц, вы - не программист, а погромист. Имеет смысл искать себя в чем-то еще.
PL/I ждёт Вас.
Ещё один деятель, думающий, что программирование - это искусство ради искусства. Ылитная профессия, типа, раз так много платят и не всех пущают. Да?Программирование должно быть не только простым, а и настолько же естественным, как сходить посpать.
Программирование - это не вещь в себе, оно призвано решать какие-то насущные задачи. Только по этой причине оно и существует. Как до вас, урриподобных, не дойдёт эта простая, казалось бы, мысль.
Для с++ хотя бы есть спецификация
Только пользы от неё, как от козла молока. Всё равно все читают не спецификацию, а всяких Страуструпов, Шилдтов, Пратов, Седжвиков, Мейерсов, Александресок и кучу других авторов.
Вот когда для Rust появятся _стандарты_, тогда и погорим об их полной поддержке.
А что именно вы писали на си++
Тебе весь список предоставить? Больше, чем ты на расте
Учиться сложно. Если бросил в самом начале, то это, конечно, язык виноват, а не ты не сумел. Тыж Д'Артаньян!
Ты просто пытаешься оправдаться перед сами собой, что потратил время на ерунду
> Ты просто пытаешься оправдаться перед сами собой, что потратил время на ерундуДа нет, я на Rust перешел пять лет назад - и ни разу не пожалел. Он оправдал мои ожидания полностью и потраченное время на изучение с лихвой себя окупило.
>> Ты просто пытаешься оправдаться перед сами собой, что потратил время на ерунду
> Да нет, я на Rust перешел пять лет назад - и ни
> разу не пожалел. Он оправдал мои ожидания полностью и потраченное время
> на изучение с лихвой себя окупило.Аутотренинг какой-то.
Че-то ты заливаешь совсем провально. 5 лет назад раст вообще другой язык был со сборкой мусора
> Че-то ты заливаешь совсем провально. 5 лет назад раст вообще другой язык был со сборкой мусораРазве что в фантазиях очередного опеннетного "Знатока".
Rust был стабилизорован с выпуском версии 1.0 в 2015 году, 7 лет назад. С тех пор язык принципиально не менялся. Я стал использовать Rust в начале 2017 года, ровно пять лет назад, и через год уже писал на нем профессионально.
Интересно, тебе не показалось что причиной "хитровывернутости" может быть что ты пытаешься писать на раст как на с++?
Имею большой опыт в Fortran. Потыкал C++. Даже буду говорить, что синтаксис ужасен. Дело в том, что приходится простейшие вещи писать таким хитровывернутым образом, чтоб компилятор был доволен, что за этой лапшой невозможно понять логику программы. Собственно увеличивается вероятность логических ошибок ..."The determined Real Programmer can write FORTRAN programs in any language." - Ed Post, Real Programmers Don't Use Pascal, 1982.
Имею большой опыт в LISP. Потыкал c++. Все очень грустно, потому что мало скобочек. Пытался добавлять больше, но лучше не стало. Очень много странных звездочек и амперсандов. Компилятор хороший, почти ни на что не ругается. Правда прога периодически падает, но слышал что это нормально для плюсов - проблему можно будет легко найти года через полтора, когда весь код напишется.
Ходил в школу, попытался поучить русский, не понравилось, так и забил
Молодцы админы, хорошо накинули ))
Там сверху сравнивали сишку с растом по скорости и размеру, а по скорости конпеляции сравнение будет?
Ждем когда Шигорин внедрит раст это свой ОС)000))
ElbRust - импортозамещённый Rust.
Почему код раста читается хуже сообщений об ошибках компилятора С...
Да даже ошибки компилятора С++, просто Господи, выглядят структурней кода на расте.
Если ты знаешь Си и не знаешь Rust, то код на расте тебе будет читать сложнее. Это же очевидно.
С другими языками такого не было, ни с питоном, ни даже с перлом. Только у раста синтаксис уровня "бред во сне шизофреника".
> С другими языками такого не было, ни с питоном, ни даже с
> перлом. Только у раста синтаксис уровня "бред во сне шизофреника".Какой чоткий пук сравнения компилируемого ЯП с макросами, дженериками, типизацией, владением-временем-жизни с динамично-скриптовыми ЯП без всего этого ... Так держать!
> С другими языками такого не было, ни с питоном, ни даже с перломА с Haskell? А с языками семейства ML? В Rust многие концепции и синтаксические конструкции пришли из ML. Хотя он в большей степени Си-подобный синтаксис имеет, но вот эти примеси ML поначалу сбивают с толку незнакомых с ним.
> пришли из ML ... Си-подобный ... сбивают с толкуРаст как был пародией на язык, так и остался. Как только заикаются про божественный объект/язык, считай, пропал проект.
Вот ты и спалился, школьник.
Иногда читая код библиотек из CPAN не понимаешь что написано, даже если неплохо знаешь Perl. И уж точно синтаксис Rust логичнее синтаксиса Perl 5, для которого, например, так и не сделали нормальную поддержку ни в одной IDE.
> даже если неплохо знаешь PerlСразу видно, что из перла ты знаешь только название.
Что не так с синтаксисом? Вот красивая функция, который день любуюсь:fn unpack_amount(input: &[u8]) -> Result<u64, ProgramError> {
let amount = input
.get(..8)
.and_then(|slice| slice.try_into().ok())
.map(u64::from_le_bytes)
.ok_or(InvalidInstruction)?;
Ok(amount)
}Сишке до такой выразительности пилить и пилить...
Смысл переписывать на Раст то, что и так работает, при том уже несколько десятилетий?! Кто пользоваться этим будет?
если будет быстрее - то точно будут
у потерингов уже было подобное "нам только позапускать побыстрее...", а в итоге забили вам шуруп в попу на эпоксидку, а работать стало в разы медленнее.
пользуюсь растовыми базовыми утилитами, а Си-шные забыл как страшный сон
Разработчики молодцы
Количество хейта напоминает таковое и в отношении к Java Си-сектанты доказывают свою инертность и ограниченность.
Ну жабка куда ближе к питону чем к си, а тут всё-таки пытаются изображать язык системного программирования. Сомневаюсь, что тут много программистов отписалось, это хтмл-хомячки бегают от одной серебряной пули к другой и другие фотошоп-хомячки не хотят, чтобы их софт глючил и тормозил из-за постоянного переписывания на новый язык.
>напоминает таковое и в отношении к JavaНу так Rust - это как раз убийца сишарпа. Если бы он не корчил из себя убийцу C++, всё было бы замечательно, все бы знали, что это очередной язычок для mediocre programmers.
Какого ещё C#? Для C# нужен runtime, у него есть GC. Для Rust не нужен runtime, у него нет GC. Rust позиционируется как замена и C, и C++. И этот человек называет знатоков Rust mediocre programmers. Рука-лицо.Если кто здесь и mediocre, так это работодатели, до сих пор нанимающие плюсовиков в штат, особенно, если речь идёт о новом проекте. Вот уж действительно людей жалко: кормить дармоедов, которые на гору вместо готового качественного продукта в сжатые сроки будут выдавать тяп-ляп с кучей UB.
> Для Rust не нужен runtime, у него нет GC.Растаманьские сказки. Годы идут а сказки те же.
> Rust позиционируется как
> замена и C, и C++.Позиционировать себя можно как и чем угодно. Важно насколько подходит инструмент на практике. Не подходит. На нем пишут прикладную тулзу, вроде замены шелл скриптам, как в соседней новости с амазоном, где допустимо много времени разработки тратить на бдсм игры с компилятором.
>> Для Rust не нужен runtime, у него нет GC.
> Растаманьские сказки. Годы идут а сказки те же.Да, у опеннетного Военства Сопротивления Расту - сказки не меняются.
Ну давайте Воены, спасите Галактику и покажите, где здесь runtime и GC:
https://www.opennet.me/openforum/vsluhforumID3/123953.html#424
$ cat nostd.rs
#![no_std]
#![no_main]
use core::panic::PanicInfo;
use syscall::syscall;#[panic_handler]
fn panic(_info: &PanicInfo) -> ! { loop {} }#[no_mangle]
pub extern fn _start() -> ! {
let message = "sometext\n".as_bytes();
unsafe {
syscall!(WRITE, 0, message.as_ptr(), message.len());
syscall!(EXIT,0);
}
loop {}
}
$ ll nostd
-rwxr-x--- 496B 16 Apr. 16:24 nostd*
$ objdump -d nostd
Disassembly of section .text:00000000004000b0 <.text>:
4000b0: 55 push %rbp
4000b1: 48 89 e5 mov %rsp,%rbp
4000b4: 6a 04 pushq $0x4
4000b6: 58 pop %rax
4000b7: 6a 09 pushq $0x9
4000b9: 5a pop %rdx
4000ba: be cc 00 40 00 mov $0x4000cc,%esi
4000bf: 31 ff xor %edi,%edi
4000c1: 0f 05 syscall
4000c3: 6a 01 pushq $0x1
4000c5: 58 pop %rax
4000c6: 31 ff xor %edi,%edi
4000c8: 0f 05 syscall
4000ca: eb fe jmp 0x4000ca
Тоесть именно эту вырвиглазную аля-ассемблерщину вы имеете в виду, когда рекламируете раст, да, растамань? Или все таки нет? Или довольно жирненький рантайм? Только как так получается, а? Рекламируете то вы не ансейф, но пишете при этом, что оно без рантайма. Маленькие звездунишки. :-Р
> Тоесть именно эту вырвиглазную аля-ассемблерщину вы имеете в виду, когда рекламируете раст,
> да, растамань? Или все таки нет? Или довольно жирненький рантайм?Воен, ты будешь и дальше юлить или наконец покажешь, где "жирненький рантайм" с GC? А то Голактека все еще в опастносте! Спаси её!
>> Тоесть именно эту вырвиглазную аля-ассемблерщину вы имеете в виду, когда рекламируете раст,
>> да, растамань? Или все таки нет? Или довольно жирненький рантайм?
> Воен, ты будешь и дальше юлить или наконец покажешь, где "жирненький рантайм"
> с GC? А то Голактека все еще в опастносте! Спаси её!Уже показывал, но ты плакал что без него не будет растоплюшек. Даже форматированного вывода не будет. :')
Повторить не могу, компа под рукой нет. Но я и не собираюсь, ты сам сейчас всё доказал. Так что ты опять победил меня своей тупостью, растамань. Очередная победа, мои поздравления. :-D
>>> Тоесть именно эту вырвиглазную аля-ассемблерщину вы имеете в виду, когда рекламируете раст,
>>> да, растамань? Или все таки нет? Или довольно жирненький рантайм?
>> Воен, ты будешь и дальше юлить или наконец покажешь, где "жирненький рантайм"
>> с GC? А то Голактека все еще в опастносте! Спаси её!
> Уже показывал, но ты плакал что без него не будет растоплюшек. Даже
> форматированного вывода не будет. :')Извини, я в твою голову не вхож, наш "диалог" там - не слышал.
И на будущее Воен - println! макрос. Ему нужен только сискол write.> Повторить не могу, компа под рукой нет. Но я и не собираюсь,
Т.е. обычное опеннетое "я не буду приводить пруфцы своим смелым пук^W заявам, это не царско-военское дело!". Яснопонятно.
> И на будущее Воен - println! макрос. Ему нужен только сискол write.Разумеется. А на системах без сискола write что ему нужно? Что за макрос такой? >:-D
> И на будущее
Печальное будущее, чувак, печальное я вижу будущее с такими кадрами :-D
>> Повторить не могу, компа под рукой нет. Но я и не собираюсь,
> Т.е. обычное опеннетое "я не буду приводить пруфцы своим смелым пук^W заявам,
> это не царско-военское дело!". Яснопонятно.Ну прости пажалиста. :-}
> Разумеется. А на системах без сискола write что ему нужно? Что за макрос такой? >:-DНу Сишной библиотеке сисколы как бы тоже нужны, она не духом святым работает
>Ну Сишной библиотеке сисколы как бы тоже нужны, она не духом святым работаетЛибц? Ты чертовски прав. Тока либц - не часть языка, а макрос?
> Даже форматированного вывода не будет.
>>Ну Сишной библиотеке сисколы как бы тоже нужны, она не духом святым работает
> Либц? Ты чертовски прав. Тока либц - не часть языка, а макрос?Чей-то ты слижком уж далеко с темы упрыгал. То у тебя "для форматированного вывода" нужен "рантайм", то уже чуть ли не требуешь вывод "прям на железо" от юзерспейсных программ.
Ты определись уже, Воен.
> Растаманьские сказки. Годы идут а сказки те же.Ты вообще хоть какое-то понятие имеешь, что такое runtime, если мы говорим о C#? А что такое GC?
> На нем пишут прикладную тулзу
Это Redox прикладная тулза? Или компоненты для разработки драйверов устройств под Линукс (недавно новость мелькала, вроде)? Рука-лицо. Я уже устал от этого жеста сегодня, если честно. Не ожидал столько "экспертов" в одном месте встретить за такой короткий промежуток времени.
>> Растаманьские сказки. Годы идут а сказки те же.
> Ты вообще хоть какое-то понятие имеешь, что такое runtime, если мы говорим
> о C#? А что такое GC?Растаманька, ты от своего "это же макрос" внимание то не отводи :-D
>> На нем пишут прикладную тулзу
> Это Redox прикладная тулза?Нет, вот редох вообще некуда приложить. Это абсолютно бесполезный кусок даром потраченых лет.
> Или компоненты для разработки драйверов устройств под Линукс
> (недавно новость мелькала, вроде)?Так они один тестовый драйвер родить не могут, всем гуглом тужатся.
> Рука-лицо. Я уже устал от этого жеста сегодня, если честно.
Оно и видно, ты ж отбитый :-D
>Не ожидал столько "экспертов" в одном месте встретить за такой короткий промежуток времени.Ой, мань, не скромничай. Давай лучше за сисколы, макрос и рантайм поясни. Весело же :-D
> Растаманька, ты от своего "это же макрос" внимание то не отводи :-DТебе бы, тупенькому, ещё внимательней смотреть, с кем ты общаешься. Это не так уж сложно должно быть, даже для тебя ;)
Напомню. Это я начал утверждать, что C# и Rust - это совершенно разного поля ягоды. А потом тебе отвечал другой человек, пока я своими делами занимался. По логинам же видно. Ну? Теперь дошло?
Так что, убогонький, ты уже нагуглил, что есть runtime для C#? Или всё ещё тужишься?
> Нет, вот редох вообще некуда приложить.
Какая забавная попытка вылезти из лужи. Так это ОС или прикладная тулза всё-таки, болезный? Я ведь нигде не утверждал, что Redox имеет где-либо практическую ценность.
Остальной поток пьяненького сознания пропустил. Неохота на бредятину дурачков время тратить.
Ты манерный тридварас, растамань. И за никами нутро не спрячешь. ;)И что меняет редох? На яве писали ос, и что с того? Никто не пишет на яве ос. Поигрались с редохом, но никто не пишет ось на расте. Скриптота в основном, как и у го.
Ты мне сейчас ещё про Go расскажи, хейтерок. Мало, мало твоей бредятины здесь. Давай ещё.Кстати, спрошу на всякий случай, смеха ради. Скриптота от компилируемого кода знаешь чем отличается? Ась?
Я что-то не понял насчет макросов, какие к ним претензии? Макрос разворачивается на этапе компиляции.
Вообще никогда у C-шников не было хейта в сторону Java, конечно если всерьёз говорить. Во-первых - это даже не один вид спорта, а когда Java вышел, он был жутко тормознутым для железа того времени, но по своему удобен из-за своей JVM. И да, сегодня те же банки как юзали JVM языки, так и будут, а "безопасный" Rust в этом смысле тоже отправляется на помойку. Проще взять Kotlin, который будет идеально совместим с любым кодом для JVM. Вы ещё банковский планктон обвините в "инертности" xD, как будто это что-то плохое в надёжных системах.
Rust активно используется в блокчейн-индустрии. Там успешно конкурирует с Go и C++. Вероятно, какая технология в конце-концов победит там, та и будет использоваться в финтехе ближайшего будущего.
Rust, ето великий язык. Срочно надо все на Rust переписывать.Растаманы, не спят а пишут код. Так и надо.
Люблю такие новости.
ООО Rust!
Абсолютно согласен со всеми утверждениями, коллега.Единственное что режет глаз - "Ето". По-русски правильно писать "Это".
Мы понимаем, что вас там прессует "Мовна инспекция" или как ее там, но глаза начинают вытекать с непривычки от "Ето" и других слов, написанный украинской мовою в русском предложении. И эта резь даже больше чем от русских ошибок, которых форумчане делают также много, к сожалению.
Учтите на будущее. Заранее благодарю.
Поттеринг один в один. И свита та же (или такая же). Удивительно, не правда ли?
> Поттеринг"Мы не монополисты! Нам только позапускать!" (с)
Поттеринг или Роулинг? Что-то ты запутался...
А разве есть разница в сортах ...?
Пора на Форте что-то запилить, например X. Вот будет забава.
я всё хочу Лисперов откопать, а они зарылись и не откапываются((. Неужели вымерли все((. Вот ЭТО на самом деле утрата, там хоть была идеология, другие подходы и вообще другой уровень дискуссии... Я скучаю лично!
https://guix.gnu.org ?