Для включения в состав ветки GCC 15 предложена серия патчей с улучшением поддержки языка Rust во фронтэнде gccrs. Наиболее заметным изменением стала поддержка проверки заимствования переменных (borrow checker), реализованная на основе компонента Polonius, разрабатываемого основной командой разработчиков Rust в качестве следующего поколения Borrow checker...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62924
Да чо уж там, давайте llvm сразу вкрячим. Чтобы и борроу чекер, и нормальный оптимизатор, и кросс-компиляция, и нормално реализованные санитайзеры, и адекватная плюсовая библиотека.
Дык, уже. Ребята из LLVM хайпанулись на AI и смогли запилить MLIR.А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow checker, и серьёзная оптимизация, и новый уровень санитайзеров.
Пресловутые шланговские оптимизации. Не сегодня завтра научится оптимизировать. А пока что оптимизацию не завезли в ллвм, лапша из готу где надо и где не надо это всё на что её хватает. В итоге, у гцц производительность результирующего кода не зависит так сильно от входных данных.
Зато сатанайзеры.
А за сатанайзерами скоро приедут санитайзеры ;)
100500%У CLANG/LLVM местами до неприличия плохо с peephole-оптимизацией (на вскидку в GCC на порядок больше эвристик) и уже лет 10 как большая боль с CMOV и её аналогами.
В большинстве задач clang показывает больший перф чем GCC
> В большинстве задач clang показывает больший перф чем GCCБольшинство задач это swiftshader, который гугл осознанно завязал на шланговые костыли? Других случаев науке не известно. Раньше главным аргументом было, что компиляция более быстрая, но это давно не так.
Интересно после этого будет ли растохейтеры говорить что clang собирает проекты часами?
Кросскомпиляция в GCC и так поддерживается. Естесственно, его для этой цели нужно собрать должным образом.
Так о том и речь. llvm не нужно "собирать особым образом", там всё из коробки.
> Так о том и речь. llvm не нужно "собирать особым образом", там
> всё из коробки.Там вообще штатно никакой поддержки хруста и борова - нету. Что там - из коробки? И в clang этого - тоже нет. Это наработки совершенно отдельного проекта Rustlang.
Дядя, ты ду...? LLVM не работает с Rust вообще никак. Он работает с LLVM IR. Учи матчасть, прежде чем пукать тут: HIR -> MIR -> LLVM IR -> Assembler.
Где в моём комментарии хоть слово про rust?
То есть новость ты не читал. Ясно.
Рельность другая: HIR -> MIR -> LLVM C API -> LLVM IR -> (не отключаемые) оптимизации -> LLVM IR -> Assembler
> Рельность другая: HIR -> MIR -> LLVM C API -> LLVM IR
> -> (не отключаемые) оптимизации -> LLVM IR -> AssemblerХруст сам по себе - LLVM юзает как кодогенератор. Потому что свой делать лениво. И есть реализации хруста и без LLVM. Сабж просто наиболее серьезный из "конкурентов" или "альтернативных реализаций" с явной декларацией задач вида "пересборка ядра Linux".
У LLVM одна задача - вытеснить GCC. Для этого он и создавался.
> У LLVM одна задача - вытеснить GCC. Для этого он и создавался.Я как-нибудь обойдусь без летающего макаронного монстра, где ВСЕ АРХИТЕКТУРЫ ЗАПИХАНЫ В 1 МЕГАЛИБУ. Которая уже вымахала под сотню мегов - и при такой "архитектуре решения" - обречена пухнуть дальше, ударными темпами.
Про то чтобы этот сблюв локально пересобрать - речь вообще как правило не идет, для этого надо билдферму и канал на гигабит. Ибо для пересборки понадобится скачать еще дохрена всего, питоны, электроны и сбоку бантик. И если это не билдферма - при сборке с нормальными оптимизациями 100-метровой либы на горе может случайно засвистеть рак до того как сборка закончится.
А вот отреспинить себе свежий GCC под 1 конкретную архитектуру - вполне в пределах сил человеческих. В общем LLVM это продукт для полутора корп с билдфермой. Остальные - не велкам. Его и разрабатывает - полтора корпа, под свои нужды. Поэтому врядли там будет нормальнрая поддержка всяких не очень попрсовых архитектур. А если будет - тем хуже для LLVM, он еще сильнее распухнет - и однажды таки сдохнет под своим весом с его "архитектурой" решения.
Какие ещё реализации руста без LLVM? cranelift? это побочный проект, там нет unwind и вряд ли он когда будет, как и серьёзные оптимизации. К тому же cranelift снаружи предоставляет LLVM C API.
> К тому же cranelift снаружи предоставляет LLVM C API.Соврал по памяти. Он просто пытается быть местами похожим.
> Какие ещё реализации руста без LLVM? cranelift? это побочный проект, там нет
> unwind и вряд ли он когда будет, как и серьёзные оптимизации.И тем не менее у проекта Rust нет какой-то самоецели фиксироваться на LLVM, как я понимаю. И боров next gen - совершенно отдельный компоннент. При том написанный на именно хрусте, что ортогонально LLVM'у от слова вообще. Как вообще писаный на Rust боров относится к LLVM? Миграция на него - goal Rust'а ;). А gccrs решил что обыграть хозяев поля прям на их же поле - вполне себе вариант, и поюзал его - раньше оригинала даже. А просто чтобы не писать весьма нетривиальную штуку - самим.
> Да чо уж там, давайте llvm сразу вкрячим. Чтобы и борроу чекер,LLVM не имеет отношения к технологии borrow checker... а новое поколение чекера - это вообще отдельный компонент. Писаный на хрусте. Логично что кусок ЯП сам на себе написан :)
> и нормальный оптимизатор,
GCC вполне сравнимый.
> и кросс-компиляция,
LLVM поддерживает меньше архитектур чем GCC. И у них 1 убер-либа на все. Если туда затолкать все что GCC умеет - ты же лопнешь, деточка?!
> и нормално реализованные санитайзеры,
В GCC они тоже есть, внезапно.
> и адекватная плюсовая библиотека.
Что значит - адекватная? Почти все дистры линя юзают GCC и их либу, им норм вроде. А эти адекватные - с вами в одной комнате?
Ого, GCC тоже потихоньку ржавеет.
Наверное не хотят чтобы ядро собиралось единственны clang'ом.Что же скажут на это растохейтеры?))
Дык, уже. Ребята из LLVM хайпанулись на AI и смогли запилить MLIR.А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow checker, и серьёзная оптимизация, и новый уровень санитайзеров.
> А сейчас потихонечку завозят ClangIR — то самое пресловутое промежуточное представление
> языка C++ в виде штатного «диалекта» MLIR. Будет там и borrow
> checker, и серьёзная оптимизация, и новый уровень санитайзеров.В контексте Rust это все уже абсолютно похрену. Потому что их borrow checker нового поколения, на который они и собираются в будущем перейти - это отдельный компонент на Rust. Реюзабельный, как видим - к gcc, вот, тоже его прикрутили. Что вызывает некоторые лулзые при бутстрапе, потому что надо собирать код на хрусте, еще полностью не умея хруст - но в общем то это решаемо и у них есть план как это делать. Вполне логичный и рабочий.
> Что же скажут на это растохейтеры?))Всем умным людям понятно, что это такой хитрый расто-вендорлок, EEE и все такое. Вот!
Вряд ли таких людей можно называть умными. Скорее, больными на всю голову паранойей.
Хватит уже софт раздувать. Нет больше веры современным программистам.Надо брать всё в свои руки, брать tcc, и самим всё пилить.
Ну зачем же убогий tcc, который, наверное, даже не C99 ? Почему бы не взять Hare Дрюни ДеВолта? Он на нём уж и микроядро запилил.
TCC это в качестве референса. Вы просто его возьмёте и переделаете под свою задачу.
Так если в него добавите оптимизации, трансформации, поддержку разных платформ и тд. То он разрастётся до размера GCC и уже не будет таким волшебно быстрым.
> Ну зачем же убогий tcc, который, наверное, даже не C99 ?Он C99 уже много лет. Но вот скомпилить им фирмвар, бутлоадер или ядро вы напряжетесь, потому что продвинутую кастомную линковку он как раз не умеет.
И оптимизатор у него - по современным меркам никакой.
Ну так бери и пили!
А то болтать языком горазды, а сделать - мало кто.
Ты уже готов показать свой СПО проект на tcc?
> Ты уже готов показать свой СПО проект на tcc?Ну разумеется. Уже скоро.
А вы меня не ждите. Занимайтесь делом.
Если из сишного кода бинарный будет генерить один кодогенератор - из растового другой, а потом это скрестить между собой (слинковать), то можно получить ещё ранее не виданные уязвимости. Чекер боровов тут не помошник, ага. Я уж забодался приводить ссылку на соответствующее исследование, сейчас под рукой её нет. Поэтому, выходной машинный код, как минимум, для ядра должен генерироваться единым бекендом для C и Rust. Поэтому, хорошо, если gccrs будет успешно компилять растовую часть кода из ядра. Т.к. у gcc и gccrs будeт единое промежуточное представление GIMPLE и далее в машкод единым бекендом.
Значит, не будет необходимости портировать исходный код нужных модулей из растового в сишный.
В глобальном масштабе едва ли этим будут заморачиваться, может минорно кто-то шишек и набьёт. То, что начали насильно интегрировать Rust создало как минимум прецедент и определённый раскол. Учитывая то, что Линус лицемерно в своё время развернул C++, а теперь принял Rust, и это при том, что GCC сам написан на C++, развязывает руки, т.к. авторитеты начинают противоречить сами себе.
Ну форкнется ядро на несколько - ну и хорошо, по моему мнению. Например, раскол FFmpeg (libav), в своё время, пошёл ему на пользу и снова объединились. Тоже OpenWRT и LEDE.
> в своё время развернул C++, а теперь принял Rust,
> и это при том, что GCC сам написан на C++, развязывает руки,
> т.к. авторитеты начинают противоречить сами себе.А где противоречие? GCC написан был до раста.
Но возможно вы правы и его тоже нужно начать переписывать с с++ на раст :)
Чтобы ухудшить читабельность кода?
Что бы сменить лицензию. Ну и да... зачем при этом старым людям читать новый код?
> То, что начали насильно интегрировать Rust создало как минимум прецедент и определённый раскол.Отличный способ сбросить балласт неосиляторов и тех кто не хочет учить новое.
Линус сам говорит что "мы стареем и седеем".
Нужна новая кровь.> Учитывая то, что Линус лицемерно в своё время развернул C++, а теперь принял Rust,
Развернул он его когда? Десятки лет назад.
Да и сейчас С++ не лучший выбор - там сообщество штормит по поводу SafeC++.
В коммитете раскол, разброд и шатание.> а теперь принял Rust, и это при том, что GCC сам написан на C++,
И? Предполагается, что такие фундаментальные вещи как компилятор, пишут профи покруче чем в ядре. Может у них получится писать нормальный код, в отличии от ядрописак.
> авторитеты начинают противоречить сами себе.
И? Ну противоречит. Его никто не сместит и не выгонит.
Желающие могли форкнуть ядро и написать на С++ уже давно.
Но что-то их сейчас не видно.
>В коммитете раскол, разброд и шатание.Ничего, как по-сь, так и помирятся. На то он и комитет, чтоб был плюрализмь мнений.
>Желающие могли форкнуть ядро и написать на С++ уже давно.
>Но что-то их сейчас не видно.Такой индусский (действительно от индусов) проект был. Да, сейчас тот сайт исчез.
плюролизм это конечно замечательно, но пока что там кто в лес кто по дрова, одни кричат что нужно срочно что то менять иначе Раст нас везде заменит, а другие на эти все пропозалы чихать хотели
Очень хорошо замечено. Причём он мог хотя бы принять упрощённое подмножество - си с классами - даже это было бы намного удобнее и благодаря RAII смогло бы решить 99% проблем, на которые указывают растовики, но Линус оказался непоследовательным и не сумел разглядеть потенциал C++.
Что бы Линус мог что-то принять, надобно ему что-то предложить. Так что не перекладывайте с больной головы на здоровую.
Ему предлагали - он только фыркал, типа, фи-фи-фи этот ваш нище-бродский Си++, а вот раст моднее, молодёжнее, и главное - за него заносят!
Есть такой шизофренический котраст, когда некоторые бывшие комсомольцы критикуют капитализм, а сами потом айфонами понтуются.
Что ему предлагали и когда? Вот сейчас я пишу поисковый запрос "linux kernel c++" и вижу в выдаче https://github.com/anthonyprintup/linux-kernel-cppSupported features:
exceptions (TODO)
RTTI (TODO)
☑ dynamic initializers
☑ operator new/delete
kernel headers in C++ code (TODO)
3 года назад, 12 коммитов. Я даже файлы открывать не буду. Вызов конструкторов автор обеспечил, значит кое-что понимает. Остального нет, значит его нигде нет.
Я понял что вы имеете в виду. Было мало предложений в том числе и потому, что Линус постоянно хейтил Си++ (из-за его избыточной сложности). Как говорил Кен Томпсон в своём интервью - каждый пытается выбрать своё подмножество Си++, причём часто эти подмножества языка не пересекаются. А заморачиваться с гайдлайнами, проводить агитпроп по стилю. Зачем ему это надо? Если даже комитет по стандартизации не справился, то ему тем более нет смысла заморачиваться, особенно когда есть готовый, проверенный временем, рабочий и главное простой инструмент - Си. Куда не ломятся полусумасшедшие извращатели синтаксиса.С растом он поспешил конечно (хотя не нам его учить как зарабатывать), но откатиться всегда будет можно. Некоторые знакомые кодеры восторгались растом 5 лет назад, потом не выдержали и опять вернулись на C/C++. Короче, всё это вилами по воде писано.
Финт "Линус виноват, что я не осилил предложить код" со мной не прокатывает. У меня примеры драйверов на плюсах лежат на гитхапе.
I find C++ quite ugly. - RMS.
> I find C++ quite ugly. - RMS.Ладно бы, такое заявил Александреску. А это кто вообще, что бы его слушать?
>А это кто вообще, что бы его слушать?Наш вождь.
Вождь - ведёт. Значит слушаете, куда вам надо за ним идти. А на чём писать - это вообще не его дело.
> Учитывая то, что Линус лицемерно в своё
> время развернул C++Ключевое слово здесь -- время.
Смотрим год.
Смотрим, какой в том году был стандарт Си++.Понимаем, что Линус занимался троллингом уровня детского сада -- выдал объявление "дуракам вход воспрещен".
Не нашлось тех, кто смог бы ему доказать делом, вот он и оказался прав в характеристике плюсовиков-линусксоидов.
> развязывает руки
> т.к. авторитеты начинают противоречить сами себе.Да кто их связывал-то? "Свободное ПО"... вы сами себя послушайте, вот где противоречие. Под ядро "проприетарной" Виндос написано столько кода на плюсах, что многим и не снилось.
Дело было немного по-другому. Линус побоялся что в ядро начнут тащить плюсовые брейнфаки с шаблонным метапрограммированием, там разгребать кодовую базу - чёрт ногу сломает. А сказать что мы типа сторонники упрощённого стиля - немолодёжно, и вообще почти "моветон" в среде модернистских плюсовиков. Это беда плюсов и по сей день - неумение упрощать, гордиться брейнфакоподобными наворотами, синтаксическими нагромождениями. По итогу, Линус полностью всё завернул. Мог бы точно так же сделать и с растом, там брейнфак похлеще, но корпорасты насыпали ему зелени и он внезапно согласился. Наверное, много насыпали.
Это беда плюсов и по сей день - неумение упрощать, плюсовики гордятся брейнфакоподобными наворотами и синтаксическими нагромождениями. Это проклятие STL называется. Но никто ведь не заставляет пользоваться STL-ом, можно так преобразить плюсы, что кодить будет приятнее чем на питоне. Я именно так и сделал.
> Дело было немного по-другому. Линус побоялся что в ядро начнут тащить плюсовые
> брейнфаки с шаблонным метапрограммированиемЕщё раз: Ключевое слово здесь -- время.
In fact, in Linux we did try C++ once already, back in 1992.
Ну какие шаблоны?
Ну тогда плюсы вообще были полу-экспериментальным поделием (типа транспилятора в си). Потому серьёзные проекты и не затевались. Плюсы стандартизировались где-то к 98 году, многие считают что лучше даже говорить о 2003 (с исправлениями). Линус десятилетиями отмахивается от плюсов (а раст принял сразу же под давлением корпораций). От плюсов он отказывается в том числе и из-за стремления плюсовиков всё переусложнять (им это кажется чем-то крутым, вы загляните в утекшую кодобазу яндекса - там только обнять и плакать).
Как раз на то и намекаю, что плюсов в 1992 де-юре не было. Я не улавливаю, почему никто не обнулил этим фактом "арумент" Линуса. Он не отмахивался. Он видел, что ему обсуждать вопрос не с кем, но ради приличия отвечал, писал то, что на ура примут остальные (сишники). Rust он принял, поскольку было, что принимать: был код, ну и от взносов в фонд зачем бы он отказывался?
Бабло конечно хорошо, но я надеюсь он осознаёт последствия. А то, что на ура примут сишники - на плюсах писать было не модно. Вот и получается то, что получается. Некоторым ещё повезло застать те времена, когда плюсы были, что называется, "вменяемыми", все эти журналы типа Dr. Dobb's, порталы CodeGuru, CodeProject - забытые кладези креатива. Сейчас такой движухи уже не замечается. В буржнете остался полудохлый медиум с комбинатором. Иногда кажется что даже хабр и опеннет на порядки интереснее.
> Плюсы стандартизировались где-то к 98 году, многие считают что лучше даже говорить о 2003 (с исправлениями).Мне кажется, что более распространено мнение, что всё что до C++20 было экспериментальным. Что ставит вопрос, не будет ли в 2035 году распространённым мнение, что экспериментальным было всё вплоть до C++30.
> От плюсов он отказывается в том числе и из-за стремления плюсовиков всё переусложнять
Когда-то по интернету ходила ссылка, как Торвальдс поливал плюсы, и я не упомню, чтобы он там жаловался на стремление переусложнять. Он больше гнал на то, что плюсовое видение полиморфизма приводит к тому, что глядя на строчку кода ты не знаешь, что она делает. Всё сильно зависит от контекста, и простой копипаст кода из одного места в другое легко может привести что код начнёт работать иначе. Скажем потому, что вызываемая из кода функция foo в одном контексте опознаётся как глобальная, в другом как метод this. Это мало того, что осложняет работу с кодом, так ещё и совершенно не вариант, потому что системный программист должен представлять, какой машинный код будет сгенерирован, а для этого должна быть довольно-таки прямолинейная связь между высокоуровневым языком и генерируемым машинным кодом.
> глядя на строчку кода ты не знаешь, что она делает. Всё сильно зависит от контекста, и простой копипаст кода из одного места в другое легко может привести что код начнёт работать иначеЭто и есть переусложнение. Но плюсовики пошли ещё дальше в своих извращениях, в которых Линусу просто не интересно было разбираться.
Однако, не смотря на все недостатки, Си++ можно приспособить, было бы желание.
> Мне кажется, что более распространено мнение, что всё что до C++20 было
> экспериментальным. Что ставит вопрос, не будет ли в 2035 году распространённым
> мнение, что экспериментальным было всё вплоть до C++30.)))
Си++ имеет шансы спастись, если хипстеры его всё-таки объявят "скучным" и "устаревшим".
Клуб нелюбителей Rust сам кого хочешь разведёт на бесполезную болтовню.
Новость: просто набор патчей на рассмотрениеКоммантатор: GCC тоже потихоньку ржавеет.
Походу мозги уже у кого-то заржавели. С таким же успехом GCC запаскалился, замодулился и зафортранился.
> В GCC-фронтэнде с компилятором Rust реализован Borrow checkerНичосе! Вот это удар в псину!
> Предложенная реализация Borrow checker отличается тем,
> что написана на языке RustЧо, на сишечке не смогли?))
А... же забыл! Самый сишный компилятор GCC уже давно пишется на плюсах)) А сишечку отправили на мороз даже тут.Надеюсь все растохейтеры что писали "я не буду пользоваться продуктом где есть хоть строчка на расте" выполнят свои угрозы и перестанут пользоваться GCC.
Апрельские тезисы Свободивца.1. Расту не место в kernel.org.
2. Буду использовать Раст только после одобрения его Столлманом.
3. Не против Раста. Но пусть не лезут в экосистему GNU/Linux.
4. Пусть растаманы создают свою экосистему.
5. Пока Раст не станет копилефтным - не взлетит.
6. Взлетает только копилефт.
> Апрельские тезисы Свободивца.Я бы не называл ГНУ свободной.
Не даром BSD, MIT, Apache называют РАЗРЕШИТЕЛЬНЫМИ - т.е дающими больше свободы.Так что это скорее "Апрельские тезисы Запрещателей"))
И ответы на эти тезисы супер простые.
> 1. Расту не место в kernel.org.Уже поздно)
> 2. Буду использовать Раст только после одобрения его Столлманом.
Может выкинуть свой андроид. Удалить clang и gcc тоже))
> 3. Не против Раста. Но пусть не лезут в экосистему GNU/Linux.
А кто их будет спрашивать)?
> 4. Пусть растаманы создают свою экосистему.
Внедрение в ядро не мешает очень упорным людям писать редокс.
> 5. Пока Раст не станет копилефтным - не взлетит.
ГНУ вообще загибается и как лицензия, и как идея.
> 6. Взлетает только копилефт.
Вранье, кучу раз обсуждалось.
> Я бы не называл ГНУ свободной.
> Не даром BSD, MIT, Apache называют РАЗРЕШИТЕЛЬНЫМИ - т.е дающими больше свободы.Особенно хорошо заметно на примере Ferrocene компилера, где как обычно свобода оказалась - для сильно некоторых. Нагибать и зажимать всех остальных. Такие вот свободы.
На персональном уровне - я искренне ненавижу проприетарные тулчейны.
> Может выкинуть свой андроид. Удалить clang и gcc тоже))
А что если я не юзал андроида? И шланг никогда не инсталил. Зафиг он вперся если gcc есть?
> А кто их будет спрашивать)?
Поэтому запилят gccrs, о чем и новость :-). Gccgo же запилили.
> Внедрение в ядро не мешает очень упорным людям писать редокс.
Да там и реактосы с гайками кто-то пишет. Даже упорнее. Толку то?
> ГНУ вообще загибается и как лицензия, и как идея.
Особенно на примере ядра видно. И как это с BSD сработало. Они все такие живые и здоровые...
> На персональном уровне - я искренне ненавижу проприетарные тулчейны.Я тоже. Если вы владеете средствами производства, например, тем же тулчейном, вы являетесь членом правящего богатого класса, также известного как буржуазия. Как рабочий (без доступных свободных средств производства), вы являетесь всего лишь членом класса, известного как пролетариат, продавая свой труд, потому что это единственный способ выжить (почти как рабство). Общественная собственность на средства производства позволяет работать на себя, а не на собственника средств производства.
>> На персональном уровне - я искренне ненавижу проприетарные тулчейны.
> Я тоже. Если вы владеете средствами производства, например, тем же тулчейном, вы
> являетесь членом правящего богатого класса, также известного как буржуазия. Как рабочий
> (без доступных свободных средств производства), вы являетесь всего лишь членом класса,
> известного как пролетариат, продавая свой труд, потому что это единственный способ
> выжить (почти как рабство). Общественная собственность на средства производства позволяет
> работать на себя, а не на собственника средств производства.Это все несколько криво в применении к софту. Но вот зависеть для наиболее критичных вещей от заскоков проприетарщика - это примерно как голову льву в пасть совать. Уповая что он сегодня хорошо покушал и поленится ее закрыть. Но что если вдруг нет?!
> Это все несколько криво в применении к софту. Но вот зависеть для
> наиболее критичных вещей от заскоков проприетарщика - это примерно как голову
> льву в пасть совать. Уповая что он сегодня хорошо покушал и
> поленится ее закрыть. Но что если вдруг нет?!Возьми Unreal Engine - надо отстёгивать процент от продаж, подписки на инструменты от Adobe, облачные хранилища, итд. Вы платите подобие налогов стороннему собственнику средств производства либо издателю-монополисту типа площадок Google Play/Steam.
А в 80х годах всё было совсем плохо. Просто мы уже сейчас привыкли к Linux и множественным свободным аналогам проприетарных софтин как к чему-то само собой разумеещемуся.
Про критичные вещи вообще молчу, здесь без вариантов нужен опенсорс.
> Возьми Unreal Engine - надо отстёгивать процент от продаж, подписки на инструменты от Adobe, облачные хранилища, итд.В смысле отстегивать?
Ты инструмент получил? Ну так оплачивай его нынешнюю и дальнейшую разработку.Прикола ради, попробуй взять какое-то друго средство производства - трактор или комбайн, желательно бесплатно.
Такого даже коммунякцих помойках не было, потому что техника сложная, ее создание это много ресурсов.> Вы платите подобие налогов стороннему собственнику средств производства либо издателю-монополисту типа площадок Google Play/Steam.
А когда я арендую квартиру или магазин - то это тоже налоги?))
Я с удовольствием отдам магазину процент зато не буду парится с CDN и среваками для загрузки, процессингом денег, валютами, возвратами и кучей сложных вещей.
Особенно те что связаны с финансами и налогами.Тебя никто не заставляет пользоваться услугами магазина, можешь рекламировать на своем сайте и отправлять код по почте. Деньги получат через нее же)
> Про критичные вещи вообще молчу, здесь без вариантов нужен опенсорс.
Нет, не нужен.
Во-первых, не надо облегчать скрипткидди и хакерам работу.
Во-вторых, зачем дарить халяву недружественным странам? (В последние годы ситуация и так накалилась, и боюсь будет хуже)
В-третих, принимать код от мутных чуваков с другого гонца земного шарика? Примеры ЖинТянов очень показательные.Я уже молчу про всякие ДэʼГенератов, которые захотят залезть в прошивку авто или других средств повышенной опасности. С развитием автопилотов это станет еще актуальнее.
Самое правильное решение - проверять подписи ключевых компонентов, если не совпадет с производителем - в турьму на годик.
> В смысле отстегивать?
> Ты инструмент получил? Ну так оплачивай его нынешнюю и дальнейшую разработку.Зачем? У рабочего сейчас есть доступ к альтернативному свободному средству производства - Godot Engine.
> Прикола ради, попробуй взять какое-то друго средство производства - трактор или комбайн,
> желательно бесплатно.
> Такого даже коммунякцих помойках не было, потому что техника сложная, ее создание
> это много ресурсов.Про израильские кибуцы не слыхал? Погугли на эту тему. Откроешь много интересного для себя.
Так монополий на владение тракторами никто и не вводил, завышенные цены картельных сговором - не держат. Так что для рядового фермера или группы фермеров - это по карману. Правда бывают залоченные модели, но это уже вопрос выбора бренда.
> Тебя никто не заставляет пользоваться услугами магазина, можешь рекламировать на своем
> сайте и отправлять код по почте. Деньги получат через нее же)Правда при всём при этом в этом году святому Гуглу светит ООООчень большое антимопонольное разбирательство. Вы наверное не догоняете что монополии - это зло даже для сторонников капитализма.
> Нет, не нужен.
> Во-первых, не надо облегчать скрипткидди и хакерам работу.
> Во-вторых, зачем дарить халяву недружественным странам? (В последние годы ситуация и так
> накалилась, и боюсь будет хуже)
> В-третих, принимать код от мутных чуваков с другого гонца земного шарика? Примеры
> ЖинТянов очень показательные.Вы очень категоричны. Если вы тянете всё in-house, это одное дело, но сторонние либы в любом случае понадобятся.
> Зачем? У рабочего сейчас есть доступ к альтернативному свободному средству производства - Godot Engine.Если альтернатива есть, то чего такой переполох?
Пусть те кто готов платить пользуются проприетарными решениями, а те кто нет - бесплатными.> Про израильские кибуцы не слыхал? Погугли на эту тему. Откроешь много интересного для себя.
Т.е они выдадут трактор любому человеку с улицы?)) Или все-таки только членам кибуца?
> Так монополий на владение тракторами никто и не вводил, завышенные цены картельных сговором - не держат.
А сейчас где-то есть монополия на владение? Любой может себе купить трактор.
Но фишка в том, что часто проприетарные продукты лучше.> Правда при всём при этом в этом году святому Гуглу светит ООООчень большое антимопонольное разбирательство.
Как это связано с ием, что тебя никто не заставляет пользоваться стимом и выкладывать свою игру прям на торрент?
> Вы наверное не догоняете что монополии - это зло даже для сторонников капитализма.
Ты не путай борьбу с монополиями и коммуняцкий 'отнять и поделить', а в данном случае 'весь код открыть и раздать бесполезным бездельникам'
Не, ну я тоже хейтер ГНУ, но не настолько. Вы явно передёргиваете здесь.ГНУтый софт уже давно в бизнесе и прибыль с него имеют по разному. Одни собирают копирайт-холдеров и торгуют коммерческими лицензиями. Другие кормятся от заказов. На серверном софте экономия получается бешенная (гуглы и пейсбуки до сих пор кланяются в пояс), ну я не буду вам очевидные вещи объяснять.
Вы спасатель Лёнь Голубковых что ли я не пойму?
> Возьми Unreal Engine - надо отстёгивать процент от продаж, подписки на инструменты
> от Adobe, облачные хранилища, итд. Вы платите подобие налогов стороннему собственнику
> средств производства либо издателю-монополисту типа площадок Google Play/Steam.Именно поэтому я предпочитаю опенсорсные тулсы. Чтобы лишний раз голову в пасть льва не совать. И соответственно это вы платите за подписки на всякую хрень, иллюстрируя "гостиница экономическая" из Незнайки на Луне. А вам взамен постоянно какие-то кидки и подляны подсовывают взамен. Отличные отношения - платить чтобы получать кидки, подляны и все это без возможности оверрайда.
...так я и полюбил опенсорс, там программы делают - то что надо мне, и если очень надо то я и заоверрайдить - таки и сам смогу :)
> А в 80х годах всё было совсем плохо. Просто мы уже сейчас
> привыкли к Linux и множественным свободным аналогам проприетарных софтин как к
> чему-то само собой разумеещемуся.И я не собираюсь назад в ужасные времена когда даже ZIP скачать легально было - проблемой, потому что как его потом легально распаковать?! Или нереальный гимор с оплатой Филу Кацу или - вы таки клятый пират. Такой себе выбор.
> Про критичные вещи вообще молчу, здесь без вариантов нужен опенсорс.
Для меня тулчейн один из таковых и Ferrocene как раз делом показывает в чем подстава с MIT и Apache. Потом придет, вот, ушлый корп. Все запроприетарит. А вы так и быть можете изобретать вел с квадратными колесами заново. Свой. За свой счет. И так - каждый. Это не особо эффективно по ресурсам получается. Достаточно BSD vs Linux сравнить.
>[оверквотинг удален]
> всякую хрень, иллюстрируя "гостиница экономическая" из Незнайки на Луне. А вам
> взамен постоянно какие-то кидки и подляны подсовывают взамен. Отличные отношения -
> платить чтобы получать кидки, подляны и все это без возможности оверрайда.
> ...так я и полюбил опенсорс, там программы делают - то что надо
> мне, и если очень надо то я и заоверрайдить - таки
> и сам смогу :)
> И я не собираюсь назад в ужасные времена когда даже ZIP скачать
> легально было - проблемой, потому что как его потом легально распаковать?!
> Или нереальный гимор с оплатой Филу Кацу или - вы таки
> клятый пират. Такой себе выбор.Во-во. Многие не понимают что это были за времена.
> Для меня тулчейн один из таковых и Ferrocene как раз делом показывает
> в чем подстава с MIT и Apache. Потом придет, вот, ушлый
> корп. Все запроприетарит. А вы так и быть можете изобретать вел
> с квадратными колесами заново. Свой. За свой счет. И так -
> каждый. Это не особо эффективно по ресурсам получается. Достаточно BSD vs
> Linux сравнить.GPL именно для защитных целей и создавался - принудительное открытие кода. Если корп что-то своё там добавляет в код, то при распространении - он уже обязан делиться. Отсюда и выгода для всех получается.
Но делать из GPL культ - так себе затея. Поэтому была предусмотрена лицензия LGPL - для коммерческих проектов, проприетарщиков, которые пытаются зарабатывать, используя открытые наработки сообщества.
> Это все несколько криво в применении к софту.Скорее совсем не применимо, но видно хочется поныть про тяжкую жизнь.
> Но вот зависеть для наиболее критичных вещей от заскоков проприетарщика - это примерно как голову льву в пасть совать. Уповая что он сегодня хорошо покушал и поленится ее закрыть. Но что если вдруг нет?!
Какие альтернативы?
Сообщество нищуков, которые сегодня есть, а завтра нету? Которые могут впасть в депрессию, бросить проект?
Ни один большой и крутой проект не развивается без корпораций - их ресурсы, подходы, методики позволяют строить и развивать огромные кодовые базы.
Бомж-какиры из подвала на такое просто не способны.
> Ни один большой и крутой проект не развивается без корпорацийИ без благословенных олигархов, конечно же... типичная психология раба, наслаждающегося своими кандалами. Вы в своих рассуждениях от махровых коммуняк устроивших второе крепостное право - ничем не отличаетесь.
Вы вообще понимаете что такое рыночная экономика, конкуренция? Так вот там - действует антимонопольное законодательство. И мелкое предпринимательство защищается и поддерживается на уровне государства.
>> Ни один большой и крутой проект не развивается без корпораций
> И без благословенных олигархов, конечно же... типичная психология раба, наслаждающегося своими кандалами.А по делу есть что сказать?
Давай просто откроем крупные СПО проекты и посмотрим кто сколько кода пишет, кто сколько денег платит.> Вы в своих рассуждениях от махровых коммуняк устроивших второе крепостное право - ничем не отличаетесь.
О, а вот это вообще хамство. Краснопузых я не люблю.
А ведь именно коммуняцкие идеи г-на Столлмана и прочих продвигателей ГНУ привели к такой ситуации.
Когда под лозунгами "щво60дьки" почти уничтожили возможность творцов обеспечивать себя.> Вы вообще понимаете что такое рыночная экономика, конкуренция? Так вот там - действует антимонопольное законодательство. И мелкое предпринимательство защищается и поддерживается на уровне государства.
Да, я это отлично понимаю.
Так же как то, что не может мелкая мастерская сделать самолет или построить километровый мост.
> Давай просто откроем крупные СПО проекты и посмотрим кто сколько кода пишет,
> кто сколько денег платит.Я говорю о том, что в принципе не обязательно нужны корпорации, чтоб писать сложные проекты с учётом современных инструментов быстрой разработки. Я из вашего сообщения понял, что надо молиться на корпорации, без них вот никак не справиться. Однако, есть ещё альтернативный подход - Independent Software Vendors, и свет клином на галерах не сошёлся. Открывайте свой бизнес.
> А ведь именно коммуняцкие идеи г-на Столлмана и прочих продвигателей ГНУ привели
> к такой ситуации.
> Когда под лозунгами "щво60дьки" почти уничтожили возможность творцов обеспечивать себя.Так а кто этих самых творцов заставлял следовать данному вождю? Если их умственные способности не позволяют разглядеть в нём авантюриста и провокатора, то может нахрен таких "творцов"? Вы точно уверены что их стоит спасать?
> Да, я это отлично понимаю.
> Так же как то, что не может мелкая мастерская сделать самолет или
> построить километровый мост.Тем не менее, цитирую: "в США насчитывается более 33,2 миллиона малого бизнеса, что составляет 99,9% всех бизнесов. В малом бизнесе занята почти половина рабочей силы США, а их ВВП составляет 44%"
А ещё есть госпредприятия.
> Я говорю о том, что в принципе не обязательно нужны корпорации, чтоб писать сложные проекты с учётом современных инструментов быстрой разработки.Что-то из моего опыта большие проекты даже "с учётом современных инструментов быстрой разработки" пишутся дофига долго))
> Я из вашего сообщения понял, что надо молиться на корпорации, без них вот никак не справиться.
Погоди, про "молиться" это твои фантазии.
Я предложил посмотреть правде в лицо, даже если оно не очень приятное.> Однако, есть ещё альтернативный подход - Independent Software Vendors, и свет клином на галерах не сошёлся. Открывайте свой бизнес.
А зарабатывать на чем?
Во я открыл бизнес, потратил ресурсы и написал код, выложил в общий доступ.
Код никто не покупает, просто используют. Донаты получаю коппечные.
Что делать? менять лицензию, делать двойное лицензиование - ну так сразу набегут фанатики сделают форк.
Да, надо думать раньше и соломку подкладывать. Но евангелисты СПО рассказывают сказки про то что даже пермиссивки это плохо.
> Так а кто этих самых творцов заставлял следовать данному вождю? Если их умственные способности не позволяют разглядеть в нём авантюриста и провокатора, то может нахрен таких "творцов"? Вы точно уверены что их стоит спасать?Хм.. то же самое можно сказать про любых людей, которых облапошили мошенники.
Ну там "служба безопасности сбербанка" и тд.
Но если эту тему подымать достаточно регулярно, то неофиты будут хотя бы слышать, о том, что у кого-то есть проблемы с лицензиями в виде отсутствия денег)> Тем не менее, цитирую: "в США насчитывается более 33,2 миллиона малого бизнеса, что составляет 99,9% всех бизнесов. В малом бизнесе занята почти половина рабочей силы США, а их ВВП составляет 44%"
Т.е из твоих цифр следует, что в оставшихся 0.1% бизнесов работает вторая половина рабочей силы? И ВВП этой ʼдесятой процентаʼ - 66 процентов?
Думаю сравнение было не в пользу малых предпринемателей))> А ещё есть госпредприятия.
В штатах их как раз мало.
> Я тоже. Если вы владеете средствами производства, например, тем же тулчейном, вы являетесь членом правящего богатого класса, также известного как буржуазия.Т.е к тем кто создал и развивает этот самый тулчейн.
Ибо без развития программа быстро станет ненужной.> Как рабочий (без доступных свободных средств производства), вы являетесь всего лишь членом класса, известного как пролетариат, продавая свой труд, потому что это единственный способ выжить (почти как рабство).
Эпическая чушь.
Рабочему никто не запрещает купить, взять в аренду или создать самостоятельно те самые средства производства.> Общественная собственность на средства производства позволяет работать на себя, а не на собственника средств производства.
А кто тогда будет эти самые средства производства создавать?
Ты же их ни продать, ни в аренду сдать не сможешь.
Кушать людям хочется каждый день, а побираться и просить подачки - не каждый сможет.
>> Я тоже. Если вы владеете средствами производства, например, тем же тулчейном, вы являетесь членом правящего богатого класса, также известного как буржуазия.
> Т.е к тем кто создал и развивает этот самый тулчейн.Имеется в виду в том числе предпринимательство - мелкая буржуазия.
Пролетарий (простой рабочий) может стать предпринимателем, если у него есть доступные средства производства.> Ибо без развития программа быстро станет ненужной.
Смотря какая программа) Некоторые программы работают исправно десятилетиями.
Ну а некоторые айтишники специально создают паразитарные уловки, имитируют "развитие" с целью монетизации. Вы этот момент не учитывали? А данное явление, к сожалению, широко распространено в индустрии.
>> Как рабочий (без доступных свободных средств производства), вы являетесь всего лишь членом класса, известного как пролетариат, продавая свой труд, потому что это единственный способ выжить (почти как рабство).
> Эпическая чушь.
> Рабочему никто не запрещает купить, взять в аренду или создать самостоятельно те
> самые средства производства.Я говорю о ситуации, когда у рабочего нет денег на покупку средств производства. Надеюсь вы понимаете, что за незаконное коммерческое использование проприетарных тулчейнов и пиратского софта - огромные штрафы и реальные сроки. Проверки лицензий на софт у предпринимателей на Западе - обычное явление.
Создать самостоятельно средства производства может только большое сообщество. Как оно функционирует - уже другой вопрос.
Но принцип как у Маяковского.
А если сгрудились малые - сдайся враг, замри и ляг! )))
Сообщество - рука миллионнопалая, сжатая в один громящий кулак! )))> А кто тогда будет эти самые средства производства создавать?
> Ты же их ни продать, ни в аренду сдать не сможешь.
> Кушать людям хочется каждый день, а побираться и просить подачки - не
> каждый сможет.Я про коммунизм здесь не говорю. Давно уже в мире сложились гибридные схемы совмещения капитализма и социализма (Швеция, Израиль, Китай тому примеры). Т.е. ты можешь делать кое-что с добавочной стоимостью в какой-то нише в виде проприетарного софта или вебсервиса, никто же не запрещает. Но базовые средства производства - желательно чтоб были доступны для каждого пролетария-простого рабочего.
> Имеется в виду в том числе предпринимательство - мелкая буржуазия.Ок, я типичный прогаммер на галере, горбачусь на дядю из корпорации. Заработанные я решил вложить: арендовал помещение и открыл кофейню.
ЧСХ все средства производства мне пришлось покупать и на халяву мне их никто не дал!
С основной работы я еще не ушел, так что не ясно то ли я угнетаемый пролетарий, то ли мерзкий буржуй))> Пролетарий (простой рабочий) может стать предпринимателем, если у него есть доступные средства производства.
Не релевантно по отношению к программированию. Да и к куче других профессий где требуются не только средства производства, но и навыки.
Например хороший сварщик может работать на подряде, может арендовать инструмент и работать на себя, может купить сварочник и стать сам предпринимателем.
Фишка в том, что навыки получаются долго (т.е дорого) и на их фоне инструмент стоит копейки.
Так же и подписка на фотошоп, ценой в пару чашек кофе в штатах или две шаурмы в москве, в зарплате дизайнера будут заметны мало.
IntelliJ IDEA стоит подороже, но 50 баксов при зарплате в 3-4 тысячи?> Смотря какая программа) Некоторые программы работают исправно десятилетиями.
Массмаркет. Я не беру всякие "ПО для атомных станций" или "автопилост для боинга".
Там в цену закладыаваются годы разработки и тестирования, а потом еще и поддержка.> Ну а некоторые айтишники специально создают паразитарные уловки, имитируют "развитие" с целью монетизации. Вы этот момент не учитывали? А данное явление, к сожалению, широко распространено в индустрии.
Никто не заставляет обновляться)
Но пользователи хотят новые возможности. Даже если это какие-то глупые анимированные смайлики.
А кто мы такие, чтобы перечить пользователям.. особенно если это оплачивается))?> Я говорю о ситуации, когда у рабочего нет денег на покупку средств производства.
Ну... пусть заработает. Или возьмет в кредит.
На крайняк пусть напишет сам)
> Надеюсь вы понимаете, что за незаконное коммерческое использование проприетарных тулчейнов и пиратского софта - огромные штрафы и реальные сроки.В реальной жизни рабочего, точно так же взявшего без спросу перфоратор из магазина, чтобы сделать шабашку, как минимум оштрафуют, а возможно и посадят.
> Проверки лицензий на софт у предпринимателей на Западе - обычное явление.
И правильно.
Точно так же как проверка документов у автомобилистов или экспедиторов на товар.> Создать самостоятельно средства производства может только большое сообщество. Как оно функционирует - уже другой вопрос.
Ненене, это как раз очень важный вопрос.
Например идеология ГНУ вообще не отвечает на вопрос "а что кушать?".
Точнее отвечает, но мне такие ответы не очень нравятся:
ʼбольшие зарплаты запретитьʼ, ʼсоздать министерство опенсорсаʼ, ʼопенсорс разрабатывать с налогов, размер зп определять голосованиемʼ и тд.> Но принцип как у Маяковского.
Мне больше нравится его другой стих
"Все люди бл№№и,
Весь мир бардак!"> Сообщество - рука миллионнопалая, сжатая в один громящий кулак! )))
Вот разрушать такая толпа точно умеет. "отнять и поделить". А вот что-то сделать или хотя бы профинансировать того кто может сделать, к сожалению нет.
Можно посмотреть кто и как финансирует разработку опенсорса и пойти в угол плакать.Сейчас Сообщество™ это толпа потребителей, которые только дай-дай-дай и для них "опенсорс - это как проприетарь, но бесплатно"
> Я про коммунизм здесь не говорю. Давно уже в мире сложились гибридные схемы совмещения капитализма и социализма (Швеция, Израиль, Китай тому примеры).
> Т.е. ты можешь делать кое-что с добавочной стоимостью в какой-то нише в виде проприетарного софта или вебсервиса, никто же не запрещает.Хм.. что-то я не слышал чтобы в этих странах софт резко стал бесплатным. Особенно в первых двух.
Как и другие средства производства.> Но базовые средства производства - желательно чтоб были доступны для каждого пролетария-простого рабочего.
А можно хотя бы один пример такого средства?
Ни в одной из перечисленных стран я не знаю таких законов.
Максимум могут помочь пособием по безработице и получением профессии типа парикмахера или водителя.
Да и "базовое" средство - это не последний UE5, IDE или фотошоп, а RPG-maker, блокнот и Tux Paint.
> Ок, я типичный прогаммер на галере, горбачусь на дядю из корпорации. Заработанные
> я решил вложить: арендовал помещение и открыл кофейню.
> ЧСХ все средства производства мне пришлось покупать и на халяву мне их
> никто не дал!
> С основной работы я еще не ушел, так что не ясно то
> ли я угнетаемый пролетарий, то ли мерзкий буржуй))Считай что СПО - это очень приблизительно: аналог государственных субсидий для начинающих предпринимателей, позволяющих сэкономить на закупках средств производства.
Просто надо понимать как это было в 80х с ценами на софт и доступностью тулчейнов. А Столлман именно в те времена озадачивался данным вопросом.
Я ни в коем мере не сторонник его секты. Я просто выделяю здоровое рациональное зерно в его действиях.
> Фишка в том, что навыки получаются долго (т.е дорого) и на их
> фоне инструмент стоит копейки.
> Так же и подписка на фотошоп, ценой в пару чашек кофе в
> штатах или две шаурмы в москве, в зарплате дизайнера будут заметны
> мало.
> IntelliJ IDEA стоит подороже, но 50 баксов при зарплате в 3-4 тысячи?Хорошо так рассуждать когда СПО уже успешно базовые потребности продемпинговало, да и конкуренция пока неплохо работает.
А про такое явление как скупка конкурентов транснациональными корпорациями и намеренное банкротство не слышали? Про картельные сговоры производителей?
Схема присядания вокруг проприетарных инструментов "работает" до первого шухера/кризиса. Плюс зависимость, привыкание.
Ну и про лицензии не забывайте. Корпорации вам могут внезапно прописать в обязанность петь гимн США по утрам и присядать десять раз перед каждым автоматическим обновлением)
> Массмаркет. Я не беру всякие "ПО для атомных станций" или "автопилост для
> боинга".
> Там в цену закладыаваются годы разработки и тестирования, а потом еще и
> поддержка.Далеко не всем интересны обновления ради обновлений даже на массмаркете.
>> Ну а некоторые айтишники специально создают паразитарные уловки, имитируют "развитие" с целью монетизации. Вы этот момент не учитывали? А данное явление, к сожалению, широко распространено в индустрии.
> Никто не заставляет обновляться)
> Но пользователи хотят новые возможности. Даже если это какие-то глупые анимированные смайлики.Это понятно. Но приплясывать вокруг подобных дельцов тоже сомнительное удовольствие.
> А кто мы такие, чтобы перечить пользователям.. особенно если это оплачивается))?Да, любой каприз за ваши деньги)
>> Я говорю о ситуации, когда у рабочего нет денег на покупку средств производства.
> Ну... пусть заработает. Или возьмет в кредит.
> На крайняк пусть напишет сам)СПО - это очень хорошее подспорье в деле (на начальных этапах).
> В реальной жизни рабочего, точно так же взявшего без спросу перфоратор из
> магазина, чтобы сделать шабашку, как минимум оштрафуют, а возможно и посадят.Вот именно.
> И правильно.
> Точно так же как проверка документов у автомобилистов или экспедиторов на товар.Конечно правильно.
> Ненене, это как раз очень важный вопрос.
> Например идеология ГНУ вообще не отвечает на вопрос "а что кушать?".
> Точнее отвечает, но мне такие ответы не очень нравятся:
> ʼбольшие зарплаты запретитьʼ, ʼсоздать министерство опенсорсаʼ,
> ʼопенсорс разрабатывать с налогов, размер зп определять голосованиемʼ и тд.Да, здесь Столлман явно переГНУл палку. Наверное слишком много читал Карла Маркса или переписку Энгельса с Каутским))) Что ж, бывает. Беднягу порою переклинивает не по-детски, но в целом в его деятельности были и плюсы.
> Мне больше нравится его другой стих
> "Все люди бл№№и,
> Весь мир бардак!"Звучит прям очень по-трампистски)
> Вот разрушать такая толпа точно умеет. "отнять и поделить". А вот что-то
> сделать или хотя бы профинансировать того кто может сделать, к сожалению
> нет.У вас они что-то отняли? Продемпинговали? Ну сделайте тогда свой проприетарный софт лучше. На то оно и added-value и конкуренция.
> Можно посмотреть кто и как финансирует разработку опенсорса и пойти в угол
> плакать.Ну мне тоже порою обидно за этих наивных людей. Одни на каких-то тиктоках и ютубах гребут миллионы, а некоторым инженерам-программистам иногда даже на еду не хватает. Перекосы общества. Это называется финансовая безграмотность. Неумение планировать свой бюджет, принятие неразумных финансовых решений, "долговые ямы" – это следствия финансовой безграмотности. Перед тем как что-то делать, нужно продумать как на этом получится заработать в будущем. Иначе это просто хобби, и не следует ничего ожидать взамен.
> Сейчас Сообщество™ это толпа потребителей, которые только дай-дай-дай и
> для них "опенсорс - это как проприетарь, но бесплатно"Да, к сожалению, есть такая тенденция.
> Хм.. что-то я не слышал чтобы в этих странах софт резко стал
> бесплатным. Особенно в первых двух.
> Как и другие средства производства.Так к полной бесплатности никто и не призывает. Базовые вещи - это да, желательно чтоб были варианты. Народу нравится Линукс. Мне тоже нравится. Помогает экономить. Что тут плохого?
> Ни в одной из перечисленных стран я не знаю таких законов.
Субсидии, дотации, инкубаторы предпринимательства.
> Считай что СПО - это очень приблизительно: аналог государственных субсидий для начинающих предпринимателей, позволяющих сэкономить на закупках средств производства.Хм.. т.е за мои налоги каким-то людям будут покупать софт?
Или государство будет финансировать разработку?> Я ни в коем мере не сторонник его секты. Я просто выделяю здоровое рациональное зерно в его действиях.
В упор не вижу там ничего здравого.
Софт развивается если кто-то вкладывает в него ресурсы. Если ресурсы заканчиваются - то софт становится Abandonware.
Т.е достаточно BSD и прочих разрешительных лицензий - даже если кто-то решит закрыть код, то последняя версия останется под открытой лицензией и можно будет подхватить знамя.> Хорошо так рассуждать когда СПО уже успешно базовые потребности продемпинговало, да и конкуренция пока неплохо работает.
Какие базовые потребности?
Ты видел насколько хорош линукс на дестопе? А гимп или либрофис?
И то за вторым стоит большая фирма.> А про такое явление как скупка конкурентов транснациональными корпорациями и намеренное банкротство не слышали? Про картельные сговоры производителей?
И? Что помешает сейчас корпам из LF договориться и впихнуть в ядро какой-то нескучный ЯП.
Wait oh shi!...> Схема присядания вокруг проприетарных инструментов "работает" до первого шухера/кризиса.
> Плюс зависимость, привыкание.А СПО до первого взбрыка мейнтенера "я устал, я ухожу". Особенно если это какая-то поделка которую пилит один человек. Потому что потом будет 100500 форков и начинается классические лебедь-рак-щука.
Вон автор ВИМа имел неосторожность умереть - и все, проект на гране краха.> Ну и про лицензии не забывайте. Корпорации вам могут внезапно прописать в обязанность петь гимн США по утрам и присядать десять раз перед каждым автоматическим обновлением)
Что помешает автору это сделать в любой СПО лицензии?
Например недавний случай - theregister.com/2025/03/04/free_software_foundation_agplv3/
Вкратце:
Была прога под AGPL+коммерческой лицензией. У нее были форки.
Автор поменял лицензию на "AGPL + добавленные пункты про запрет продажи и платной техподдержкой".
Форк забрал изменения себе.
На форк подали в суд, и суд постановил что те действительно нарушили лицензию.> Далеко не всем интересны обновления ради обновлений даже на массмаркете.
Ну не обновляйся) Сидят же люди на семерке или даже ХР.
Но они же хотят не только не обновляться, но чтобы последний хром запускался на ведре 20 летней давности.> Это понятно. Но приплясывать вокруг подобных дельцов тоже сомнительное удовольствие.
Извини, не вижу логики.
Завтра твоя любимая опенсорс программа может потребовать самое последнее ядро и версию раста.
Просто потому что автор так захотел.> СПО - это очень хорошее подспорье в деле (на начальных этапах).
Не всегда. Лучше купить нормальный инструмент, чем прдолиться с недоделкой и тратить драгоценное время. От когда ты уже стал профи - то можно и на табуретке сыграть, а вот стать им играя на табуретках не получится.
> Да, здесь Столлман явно переГНУл палку. Наверное слишком много читал Карла Маркса или переписку Энгельса с Каутским)))
Его писанина не проблема, если бы на нем не была основана лицензия)
>> Можно посмотреть кто и как финансирует разработку опенсорса и пойти в угол плакать.
> Ну мне тоже порою обидно за этих наивных людей. Одни на каких-то тиктоках и ютубах гребут миллионы, а некоторым инженерам-программистам иногда даже на еду не хватает.Такой себе пример. Почти как про ногомячиков.
Т.е да, пару сотен зашибают миллионы, но при этом миллионы достигают только больных коленей в юниорских и областных матчах> Перекосы общества. Это называется финансовая безграмотность.
Неа. Это как раз идеология.
Например упрекание проприерастов за то, что они берут деньги.
Это вносит ложные ценности и подменяет смысл опенсорса с открытое, на бесплатное.
Если бы была ʼпропагандаʼ в стиле "да, наша программа стоит ровно столько же сколько проприетарная, но у нее открытый код, вы можете убедиться что там нет закладок. Ваши деньги идут на ее развитие" и тд, то разговор был бы другим.> Перед тем как что-то делать, нужно продумать как на этом получится заработать в будущем. Иначе это просто хобби, и не следует ничего ожидать взамен.
Часто СПО делается для себя. А потом уже вырастает в нечто большее.
И такой неофит заходит на сайт FSF и видит рекомендованные лицензии.
А потом уже поздно. Сделаешь шаг в сторону - сообщество заплюет, обольет помоями, сделает форк и будет кричать "тут бесплатно! не давайте предателю ни копейки".
Из последних - opennet.ru/opennews/art.shtml?num=62222Это очень печально, демотивирует и просто отталкивает что-то писать открытое((
> Помогает экономить. Что тут плохого?
Код зависит от крупных корпораций)
> Неа. Это как раз идеология.
> Например упрекание проприерастов за то, что они берут деньги.
> Это вносит ложные ценности и подменяет смысл опенсорса с открытое, на бесплатное.
> Если бы была ʼпропагандаʼ в стиле "да, наша программа стоит ровно столько
> же сколько проприетарная, но у нее открытый код, вы можете убедиться
> что там нет закладок. Ваши деньги идут на ее развитие" и
> тд, то разговор был бы другим.Ну так это же классическое: "Заставь дурака Богу молиться, он и лоб расшибёт".
Поэтому я подобных сектантов обычно обхожу стороной. Опеннет, можно сказать, единственное исключение, потому что здесь встречаются разные мнения. Мне вообше больше приятны бизнес-тусовки, а не программерские. Меньше токсичности, меньше подобных идеологических странностей, противоречий и завихрений.> Часто СПО делается для себя. А потом уже вырастает в нечто большее.
> И такой неофит заходит на сайт FSF и видит рекомендованные лицензии.
> А потом уже поздно. Сделаешь шаг в сторону - сообщество заплюет, обольет
> помоями, сделает форк и будет кричать "тут бесплатно! не давайте предателю
> ни копейки".
> Из последних - opennet.ru/opennews/art.shtml?num=62222Вы наверное не догоняете. Я проприетарщик до мозга костей. Но могу открыть что-то из своих личных библиотек под лицензией MIT/BSD, чисто из альтруистических соображений. Но только после того как сам достаточно заработаю, используя конкурентное преимущество и ноу-хау. Я прекрасно осознаю, что далеко не всегда получится торговать коммерческими лицензиями рядом с GNU GPL.
Пример - Sphinx, система полнотекстового поиска, разработанная Андреем Аксёновым и распространяемая по лицензии GNU GPL (+ отдельно коммерческая). В 2017 году был сделан форк проекта под названием Manticore, который начал опережать оригинал по фичам. Всё. По итогу первоначальный автор, что называется, "у разбитого корыта".
> Это очень печально, демотивирует и просто отталкивает что-то писать открытое((
Не пишите. Не слушайте идеолухов. Не связывайтесь с сектантами.
>> Имеется в виду в том числе предпринимательство - мелкая буржуазия.
> Ок, я типичный прогаммер на галере, горбачусь на дядю из корпорации. Заработанные
> я решил вложить: арендовал помещение и открыл кофейню.
> ЧСХ все средства производства мне пришлось покупать и на халяву мне их
> никто не дал!Понимаешь в чем дело. Ты не айтишник. Ты чуждый для нас элемент, припершийся сюда только чтобы денег заработать. А мы занимаемся этим себе по кайфу. И конечно при открытии бизнеса он айтишный будет у тех чье призвание - айти. А ты просто дверью ошибся. С тем же успехом мог бы рубануть стартовый капитал курьером каким, или что там еще.
Будет ли кто в айти спрашивать курьера как девелопать? Ну вы поняли. Вот и вас спрашивать ровно столько же смысла.
> ли я угнетаемый пролетарий, то ли мерзкий буржуй))
И то и другое.
> Например хороший сварщик может работать на подряде, может арендовать инструмент и работать
> на себя, может купить сварочник и стать сам предпринимателем.ЧСХ дофига оных так и сделали. Потому что могут. Арендовать сварочник? Да ну ладно вам, они стали дешевые и компактные. Многие их вообще по приколу покупать стали.
> Фишка в том, что навыки получаются долго (т.е дорого) и на их
> фоне инструмент стоит копейки.Так это и есть повод - отдать задачу вон тому если сам в этом не очень.
> Так же и подписка на фотошоп, ценой в пару чашек кофе в
> штатах или две шаурмы в москве, в зарплате дизайнера будут заметны мало.Однако в среде тех кто предпочитает опенсорсные инструменты - а таковых нынче много и основной прогресс в софтострое случается там - это зашквар. И с такими - опенсорсники просто не любят работать. Иногда все равно могут заказать работы. Но вдолгую, как часть тимы, плотно и постоянно - ну вот нет. Чуждый менталитет, чуждый воркфлоу, чуждый склад ума.
> IntelliJ IDEA стоит подороже, но 50 баксов при зарплате в 3-4 тысячи?
Проблема в том что
1) Они могут в 1 стороннем порядке вкатить не устраивающие изменения и хрен оспоришь.
2) Целиком зависеть от 1 фирмы вообще не особо умный ход.
3) В случае чего - хрен чего оспоришь, и вообще читайте EULA какие у вас там права.Грубо говоря отвалить 50 баксов за аренду на птичьих правах, без возможности маневра если что не устроило - это очень такой себе расклад вдолгую. Если вы конечно кофейню открыть хотели - оно вам может и похрен. А если хотели заниматься айти - вот тут вдолгую можно и пролететь с такими инструментами. А закроет фирма направление - и чего? Дельфисты сейчас где, например?
>> Смотря какая программа) Некоторые программы работают исправно десятилетиями.
> Массмаркет. Я не беру всякие "ПО для атомных станций" или "автопилост для боинга".Массмаркет понятие тоже очень растяжимое и абстрактное. Скажем окучиание клиентов фортуны 500 это массмаркет или нет? А шапке нормуль вроде, точнее редбиэм уже. Но какая разница.
> Там в цену закладыаваются годы разработки и тестирования, а потом еще и поддержка.
FYI там на этом всем экономят по черному. Потому что денег много не бывает.
> Никто не заставляет обновляться)
Попробуй не обновлять винду. Тебе с 1 стороны програмеры скажут что твой WinXP не поддерживается их софтом. С другой майкрософт напишет EOL. И что хочешь то и делай!
А вон то, по подписке - как ты его "не обновишь" вообще? Тебе перекроют кислород - и что хочешь то и делай. Там тот кто подписку предлагает - бог. А ты - налип на его ботинок, уповая что сегодня ему лениво тебя молнией жарить. Может и правда лениво. А что, блин, если нет?!
Поэтому мы и предпочитаем - опенсорс. Чтоб без этого "что блин если нет?!"
> Но пользователи хотят новые возможности.
А корпы хотят - стричь всех. Желательно много, нагло и чтоб к конкуренту не сбегли! Работают они так. Они бы и в собачий корм вас перерабатывали, подписав пятым шрифтом у кнопки вызова лифта что вы agree провалиться в мясорубку. Если б за это не взгревали законодатели.
> А кто мы такие, чтобы перечить пользователям.. особенно если это оплачивается))?В схеме с пастухом и стадом в конечном итоге сожрут, таки, не пастуха.
> На крайняк пусть напишет сам)
...так и появился опенсорс. Только народ понял что делать 1 и ту же работу 100 раз при том что копирование ничего не стоит - тупо. Намного эффективнее сделать 1 раз - и 100 раз улучшить программу. При тех же ресурсах лучше результат. Так даже жадным корпам понятно.
> магазина, чтобы сделать шабашку, как минимум оштрафуют, а возможно и посадят.
Копирование - это не "взять". Оно вообще никому ничего не стоит. Это как если б я пришел в магазин, отсканил структуру перфоратора, отстроил модель, ушел, собрал себе из локальных материалов точную копию, даже может автоматически, 3D принтерами и станками а в идеале и молекулярным ассемблером. И вот у меня такой же перфоратор как в магазине. Только мой и нашару.
> Точно так же как проверка документов у автомобилистов или экспедиторов на товар.
Еще 1 из причин любви к опенсорсу - отделаться от левого шмона на ровном месте. Кому оно надо лищний раз?
> Например идеология ГНУ вообще не отвечает на вопрос "а что кушать?".На минуточку.
1) Идеология GNU никак не запрещает денег получать. Более того - запрет вести коммерческую деятельность как раз явно рассматривается ими как НеСвобода.
2) Другие тоже не отвечают на этот вопрос с какими либо измеримыми гарантиями.Я вот например кастом девом занимаюсь и меня не парит GNU. Котируется решение конкретной задачи кастомера, или какого-то класса задач. А не копия сама по себе. И что тут такого? Людям в конечном итоге надо - решение их задач. А не программы какие-то.
В общем случае никому не надо - фотошоп. Станок. И проч. Надо - то что они делали. Есть много способов это получить. И на самом деле никому не интересно, допустим робот спаял печатную плату или толпа китайцев с паяльниками. Видите, можно и не покупать дорогого робота если окей помахать паялом - или желающие за вас это занедорого - нашлись.
> Точнее отвечает, но мне такие ответы не очень нравятся:
Я для себя нашел ответ в виде кастомдева. Как видите для этого никаких министерств не требуется.
> Вот разрушать такая толпа точно умеет. "отнять и поделить". А вот что-то
> сделать или хотя бы профинансировать того кто может сделать, к сожалению нет.Вы явно проспали краудфандинг. Я лично помог некоторым пионерам нужных мне направлений - проплатив их начинания на соотв. площадках. То что вы так не умеете и это слишком круто для вас - вы отстали от жизни и не в курсе новых форматов.
Сейчас можно просто спросить на площадке типа кикстартера - мол, могу сделать то и се, хотите? Стоить будет вот столько. Если хотят - значит накидают. Не хотят - упс, вот тут без гарантий.
> Можно посмотреть кто и как финансирует разработку опенсорса и пойти в угол плакать.
Интересно как всякие кикстартеры и индигоги вписываются в столь печальную картину мира?...
> Сейчас Сообщество™ это толпа потребителей,
По себе других не судят. Это вы с вашими кофейнями - дверью ошиблись зайдя зачем-то в софтострой. Могли бы с тем же успехом курьерить или стекла машинам мыть.
> Хм.. что-то я не слышал чтобы в этих странах софт резко стал
> бесплатным. Особенно в первых двух. Как и другие средства производства.А таки я вот например печатки ворочаю - в KiCad под линух. И очень даже могу потом герберы на фабу загнать, нашлепать этого и - продать кому-то. А за инструменты, вот, не платил.
> Да и "базовое" средство - это не последний UE5, IDE или фотошоп,
> а RPG-maker, блокнот и Tux Paint.Есть немаол открытых IDE и продвинутых редакторов где можно сделать вполне себе имеющие комерческую ценность вещи. И совершенно не обязаетльно для этого проприетарщикам уже кланяться.
> А корпы хотят - стричь всех. Желательно много, нагло и чтоб к конкуренту не сбегли! Работают они так. Они бы и в собачий корм вас перерабатывали, подписав пятым шрифтом у кнопки вызова лифта что вы agree провалиться в мясорубку. Если б за это не взгревали законодатели.О да! Те, кто защищает корпов - это обычно непуганые зелёные вкатуны. У них прозрение и протрезвление наступит намного позже, с опытом (и то, если повезёт).
> О да! Те, кто защищает корпов - это обычно непуганые зелёные вкатуны.
> У них прозрение и протрезвление наступит намного позже, с опытом (и
> то, если повезёт).У корпов есть хорошие интересные моменты. Но горе тому кто забудет что это акула бизнеса. Ибо - станет ее бизнес-ланчем на раз. При том вон того корпа совершенно не интересует что будет делать "отработанный материал" после того как его с ставшими ненужными знаниями по клевой, крутой и абсолютно сдохшей приблуде - списали в утиль.
> 2. Буду использовать Раст только после одобрения его Столлманом.А хорошо бы было, если бы Столман таки публично высказался про Rust.
В ядре понятно, руки выкручивают, заставляют использовать.
А вот в юзерспейсе уже более свободен выбор языков. В юзерспейсе Rust использовать не буду. Есть другие - с ООП и наследованием: C++ и D. И они есть и уже полноценно работоспособны в составе GCC.
> А хорошо бы было, если бы Столман таки публично высказался про Rust.Думаю он мог бы высказаться про маленьких анимешных девочек которые пишут проекты на расте.
Но боюсь после предыдущего раза еще не пришел в себя.
Да и девочки могут оказаться с сюрпризом.
> В ядре понятно, руки выкручивают, заставляют использовать.А до этого заставляли использовать СИ, да еще и с гнутыми расширениями. Причем определенной версии. И никто не умер)
Но ядро же не про "кто в лес, кто по дрова" - какие-то правила должны быть.> А вот в юзерспейсе уже более свободен выбор языков. В юзерспейсе Rust использовать не буду.
Никто и не заставляет.
> Есть другие - с ООП и наследованием: C++ и D. И они есть и уже полноценно работоспособны в составе GCC.
C++ гугл выкидывает потихоньку из андроида - тк такое же дырявое как си.
> C++ гугл выкидывает потихоньку из андроида - тк такое же дырявое как си.Нет, на Си++ можно писать вообще не трогая память напрямую и освобождать объекты автоматически. Просто манагеры решили, что на расте даже обезьянки смогут. Посмотрим чем закончится их очередная оптимизационная авантюра))) Наверное, как всегда, блоатваром с франкенштейнами. Ну так это, думать просто надо было, а не бегать за баззвордами.
> Нет, на Си++ можно писать вообще не трогая память напрямую и освобождать объекты автоматически.Можно. Но внезапно окажется что оно тормозит, потому что все проверки придется делать в рантайме.
> Наверное, как всегда, блоатваром с франкенштейнами.
Ванга из вас так себе, мистер Аноним.
> Можно. Но внезапно окажется что оно тормозит, потому что все проверки придется делать в рантайме.Тормозит аж на 1 такт процессора! А с оптимизацией - часто вообще ноль. Зато не надо с боровом сражаться. Пишешь понятный код с применением ООП, быстро компилируешь большие проекты, не тащишь за собой модно-молодёжные хвосты из тысяч зависимостей, не изобретаешь как это надо зарефакторить по-растомански чтоб хотя бы откомпилировалось, и ещё с десяток растограблей.
Вы не на том акцент делаете. Лучше смотрите на узкие места (bottleneck) в программировании называется hotspot, на который затрачивается значительная доля процессорного времени.
> Чо, на сишечке не смогли?))
> А... же забыл! Самый сишный компилятор GCC уже давно пишется на плюсах))Ну, еще задолго до сишечки, части оптимизатора (и не только) там были на диалекте лиспа:
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/gcn...
https://github.com/gcc-mirror/gcc/blob/master/gcc/match.pd#if GIMPLE
/* Optimize (X + (X >> (prec - 1))) ^ (X >> (prec - 1)) into abs (X). */
(simplify
(bit_xor:c (plus:c @0 (rshift@2 @0 INTEGER_CST@1)) @2)
(if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
&& !TYPE_UNSIGNED (TREE_TYPE (@0))
&& wi::to_widest (@1) == element_precision (TREE_TYPE (@0)) - 1)
(abs @0)))
#endif
> еще задолго до сишечкиs/сишечки/плюсиков/
Не удивительно.
Сам ГЦЦ начинался с "волосатого паскаля" (что бы это вообще не значило).Но использование более подходящих ЯП для конкретных задач - это скорее плюс чем минус.
Десятое правило Гринспена. (с)
>что писали "я не буду пользоваться продуктом где есть хоть строчка на расте"Ну не ври же, нигде я не видел, чтоб вот так дословно и писали, прям, одна строчка.
А то одну-то строчку можно и в сишную конвертировать.
Есть в литературе такой приём, как гипербола. Вот это оно.Гипе́рбола (из др. -греч. ὑπερβολή «переход; чрезмерность, избыток; преувеличение») — стилистическая фигура явного и намеренного преувеличения с целью усиления выразительности и подчёркивания сказанной мысли, например: «я говорил это тысячу раз» или «нам еды на полгода хватит».
>Чо, на сишечке не смогли?))В новости же сказано, что взяли готовый из компилятора Rust'а, сами ничего не писали.
>выполнят свои угрозы и перестанут пользоваться GCC
Код на Rust'е только во фроненде gcc rust'a, а больше его нигде там нет
Поправка в новости сказали что взяли Polonius, это переосмысление borrow checker lifetimes. Он позволяет "брать в долг" в большем количестве контекстов чем текущая система (по аналогии с пословицей "Neither a borrower nor a lender be" но в точности наоборот). только насколько я помню работа над внедрением Polonius затормозилась, но была возобновлена как инициатива в 2024 ревизии
https://rust-lang.github.io/rust-project-goals/2025h1/Poloni...
> Чо, на сишечке не смогли?))А чего у вас там с ${name}-sys? На rust'шишке нишмагли-ниасилили? Сишечку-плюсики биндим? А как же безопасность?
Так у меня непонятки, прошу просветить. Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust. Тогда зачем GCC внедрило в свой проект новый фронтэнд языка Rust?GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?
> Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust.Хм.. мне казалось что там простая МИТ/Апач.
Что позволяет делать, например, Ferrocene как альтернативный компилятор.
Можешь скинуть ссылку на доку?> Тогда зачем GCC внедрило в свой проект новый фронтэнд языка Rust?
Потому что раст внедряется в ядро, и они не хотят оказаться за бортом прогресса.
> GNU Compiler Collection - это копилефт, Rust - пермиссивка.
> Как сообщество разработчиков GCC будет продолевать эти баръеры?Теоретически они могут перелицензировать под gpl.
Возможно просто написать свой другой код сразу под своей лицензией.
Еще вариант - забить на старые правила.
>Хм.. мне казалось что там простая МИТ/Апач.Что позволяет делать, например, Ferrocene как альтернативный компилятор.
Я про торговую марку. Ты можешь сам запилить свой компилятор языка Раст и даже соблюсти все требования к компилятору. А вот в названии компилятора ты не сможешь употребить слово "Rust". Ситация как с альтернативными сборками Лисы.
Компилятор никто и не переименовывает. Как был GCC, так и остался. Просто добавится ещё одна запись в строчке Supported Languages и всё.
Фронтэнд как будет называться?
gccrsPS Но лучше бы назвали grsc, по аналогии с другими фронтами: gcc, gdc
grc - так логично и красиво.
>>Хм.. мне казалось что там простая МИТ/Апач.
> Что позволяет делать, например, Ferrocene как альтернативный компилятор.При том как я понимаю - проприетарный. Все прелесли апачово-миотвой экосистемы: всегда накормят какой-то проприетарной гадостью в самом критичном месте... :\
P.S.С языком Си всё просто. Ты просто пишешь свой компилятор в строгом соответствии со стандартом С23, и он будет компилятором языка Си. Правда, текст Стандарта платный, да и копилефт не против торгово-денежных отношений.
> Правда, текст Стандарта платныйПравда Вы всегда можете скачать бесплатно последний черновик стандарта, который ничем не отличается от принятого в итоге стандарта.
Правда вы потом не сможете получить госконтракт, если в нём прописана поддержка стандарта, а вы только черновик читали. Нет, можно и соврать, но послушав рассказы человека, проведшего два года жизни в федеральной тюрьме Васека, не рекомендую. А где таких требований нет, там да, там и черновик сойдёт, и даже его можно не читать до конца.
Поподробнее про историю как человек провёл "за драфт стандарта" несколько лет в тюрьме можно? Желательно с ссылками
Сочиняет же. Кому стандарт нужен для контракта, тот его покупает. Кому стандарт нужен для работы - тот за стандартом следит и имеет тот самый черновик, который переименовывают в стандарт через пару недель после принятия.
> в строгом соответствии со стандартом С23Или не в строгом, как и написаны все компиляторы С.
> С языком Си всё просто.Угу, заметно.
> Ты просто пишешь свой компилятор в строгом соответствии со стандартом С23,
А если сам стандарт написан "нестрого")?
Ну типа
"мы ваще в непонятках как два числа сложить, но разработчики компиляторов башковитые... так что будет UB
ps кстати код с использование UB нарушает Conformance и ваш код превращается в какашку, но мы как комитет сделали все что могли. счастливого вам написания надежного кода, неудачники!"> и он будет компилятором языка Си.
Возможно но это не точно.
Ведь если он будет реализовывать только часть стандарта - то его тоже будут называть "комилятор С".
ИЧСХ из открытых компиляторов ни один его полностью не реализует.
Вывод? Стандарт С это просто ненужная фигня))
>Стандарт С это просто ненужная фигняЯ бы не был столь категоричным. Всё-таки нужная, но да, фигня.
>>Стандарт С это просто ненужная фигня
> Я бы не был столь категоричным. Всё-таки нужная, но да, фигня.Лучше чем вечные "скачайте ночнушку" и безопасТные вещи типа curl | sh как некоторые любят (первый же хаксор дефейснувший сайт хруста соберет просто легион лулзов, после чего сможет заожно безопасТно пробэкдорить полпланеты).
Может и не придётся ничего обходить, т.к. Rust попросту умрёт. Лет 15 назад вот внезапно всплыла мода на функциональщину (Haskell, LISP, ML {ML в контексте семейства языков вроде oCaml и F#}), все тогда вдруг начали говорить что всё скоро уйдёт в историю, выкатили также Clojure (диалект lisp для jvm), Ruby. И да, душные люди могут придраться, что из перечисленного чисто ФЯ - это haskell, так что заклинание в виде дисклеймера нужно проговорить. Только в итоге ничего толком не взлетело, а полезные функциональные фичи минорно добавили во все языки.
Rust - абсолютно та же история. Его точно также накачивают, прогревают что за ним будущее (и многие даже ведутся), на деле же он в отличие от функциональных языков с их уникальными фишками вообще не добавляет ничего инновационного, в ином виде все это УЖЕ есть в C++, а учитывая что Rust не существует без LLVM, написанный на C++ (в отличие кстати от некоторых из перечисленных языков, которые таки написаны полностью сами на себе!), то Rust вообще сложно воспринимать всерьёз. При этом на Rust минимум кода по соотношению времени и количества/пользы. Даже те проекты, которые якобы заявлены что "написаны на Rust", на деле оказывается, что лишь малая доля написана на Rust, зато самомнения столько, словно весь проект полностью с нуля переписан.
> в ином виде все это УЖЕ есть в C++, а учитывая что Rust не существует без LLVM, написанный на C++ (в отличие кстати от некоторых из перечисленных языков,Квинтэссенция опеннетного кекспертизма ...
https://github.com/rust-lang/rustc_codegen_cranelift
https://github.com/bytecodealliance/wasmtime/tree/main/crane...
> This has the potential to improve compilation times in debug mode. If your project doesn't use any of the things listed under "Not yet supported", it should work fine. If not please open an issue.
> Platform support
> x86_64 AArch64 Riscv64 s390x (System-Z)
> Platform support
> x86_64 AArch64 Riscv64 s390x (System-Z)А что еще нужно в современном мире?
ppc64el возможно... но все равно нишево.
wasm32
>> Platform support
>> x86_64 AArch64 Riscv64 s390x (System-Z)
> А что еще нужно в современном мире?Например ARMv7M (Cortex M) для мк и полный v7 (armhf abi) - для одноплатников. Или мы ща в каждый управляющий датчик будем 64 бита пхать, для лулзов? Кто датчику гигазы оперативы то будет напаивать чтобы 64 бита смысл имели? Жаба суровый зверь.
>> Platform support
>> x86_64 AArch64 Riscv64 s390x (System-Z)Сказать-то че хотел?
"Фу-фу-фу, не осилили в полтора рыла за пару лет проделать работу десятков человек за пару десятилетий!"?А если б осилили, то было бы "Опять растаманы зачем-то сделали уже проделанную работу еще раз, вместо того, чтобы написать что-то новое"?
Так оно только опеннетным Военам Супротив Раста интересно - потому что опенсорсные бэкэнды (аж целых два "продакшенреди" на весь мир, ага) для трансляции низкоуровневых инструкций в конкретный машинный код - вот они, LLVM и GCC.
Используются (и вылизываются) отнюдь не только растоманами или плюсанутыми.Кстати, то ли дело гугловский Го:
> Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
> macOS (x86-64)
> Windows (x86, x86-64)
>
>>> Platform support
>>> x86_64 AArch64 Riscv64 s390x (System-Z)
> Сказать-то че хотел?
> "Фу-фу-фу, не осилили в полтора рыла за пару лет проделать работу десятков
> человек за пару десятилетий!"?Ну вот, ты сам все сказал. Неосиляторы и есть неосиляторы, причем тут время? Напомню, что ты показывал это как рабочий проект на замену llvm.
> Кстати, то ли дело гугловский Го:
>> Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
>> macOS (x86-64)
>> Windows (x86, x86-64)
>>А причем тут он?
> Ну вот, ты сам все сказал. Неосиляторы и есть неосиляторы, причем тут время?Эк опеннетный Мось^W Нуну гугла, современных сишников и еще кучу народа "опмустил". Знать он силен!
>> а учитывая что Rust не существует без LLVM
> Напомню, что ты показывал это как рабочий проект на замену llvm.Экий ты фантазер, ...
>> Кстати, то ли дело гугловский Го:
>>> Linux (x86, x86-64, ARM, ARM64, MIPS, MIPS64)
>>> macOS (x86-64)
>>> Windows (x86, x86-64)
>>>
> А причем тут он?Там тоже неосиляторы или "этодругое"?
> Rust попросту умрёт.Все умрут.
> Лет 15 назад вот внезапно всплыла мода на функциональщину
Мода прошла, функциональщина осталась. Как была мода на автомобили 100 лет назад - мода прошла, а автомобили из статусного аксессуара перешли в обыденность и даже необходимость.
> отличие от функциональных языков с их уникальными фишками вообще не добавляет ничего инновационного
Инновация не в том, что он добавляет чего-то в язык, а в том, что добавляет в обвязку - компилятор (боров чекер), менеджер пакетов (карго) и т.д.
> в ином виде все это УЖЕ есть в C++
Сразу видно кексперта, не видевшего ни С++, ни Rust.
> а учитывая что Rust не существует без LLVM, написанный на C++ [...] то Rust вообще сложно воспринимать всерьёз.
Аргумент уровня человека пишущего выход за границы массива по кд.
> При этом на Rust минимум кода по соотношению времени и количества/пользы.
Гуглим %компаниянейм% Rust и каждый раз выпиваем стопку. Не забываем предварительно вызвать скорую.
> на деле оказывается, что лишь малая доля написана на Rust
Размерность "малой доли" не приведена, аргумент отброшен как не имеющий смысла.
> Все умрут.C++ уже переживёт и вас и меня.
> Мода прошла, функциональщина осталась. Как была мода на автомобили 100 лет назад
> - мода прошла, а автомобили из статусного аксессуара перешли в обыденность
> и даже необходимость.Ага ага. Автомобили как были статусным аксессуаром, так и остались, разве что появились самоходные повозки (вёдра) для народа, и то даже они обладают определённым статусом, так что эта аргументация сработала против вас, т.к. реальности не соответствует.
> Инновация не в том, что он добавляет чего-то в язык, а в
> том, что добавляет в обвязку - компилятор (боров чекер), менеджер пакетов
> (карго) и т.д.Карго - это инновация? xD. Менеджер пакетов? Да вы шутите. Хорошо, если серьёзно, с натяжкой боров чекер, только смысла в этом не так много, учитывая что в C++ уже есть механизмы защиты памяти. Move-семантика появилась в C++11, а механизмы владения и того раньше. Статические анализаторы позволяют довольно чётко контролировать память.
> Сразу видно кексперта, не видевшего ни С++, ни Rust.
Я могу поверить, что ВЫ видели что-то в Rust, вероятно больше меня, но едва ли вы знаете C++.
>> а учитывая что Rust не существует без LLVM, написанный на C++ [...] то Rust вообще сложно воспринимать всерьёз.
> Аргумент уровня человека пишущего выход за границы массива по кд.Я вовсе не против, что Rust использует LLVM, но как язык - он совершенно зависим, хотя сообщество делает вид, что это не так.
> Гуглим %компаниянейм% Rust и каждый раз выпиваем стопку. Не забываем предварительно вызвать
> скорую.Не впечатляет. Ровно также Microsoft в своё время выкатили F#, многие пророчили ему большое будущее, были даже евангелисты F# (чем-то напоминают нынешних Rust-овичков). В итоге так и остался поделкой для студентов (и это действительно крутой инструмент для того чтобы обучающиеся потыкались в функциональщину).
> Размерность "малой доли" не приведена, аргумент отброшен как не имеющий смысла.
Просто возьмите и оцените долю кода на Rust в Discord. Некоторые любители Rust вообще прямым текстом несут чушь что "Дискорд написан на Rust". И с остальными продуктами примерно также.
Для сравнения: на Сишке (чистой) почти сразу написали массу продуктов, многие из которых изменили мир и используются по сей день. На Rust на сегодняшний день написали ОДНУ кривейшую ОС, которая течёт по памяти и виснет при работе некоторых простейших приложений, встроенных в недосистему и это за годы существования языка! (при этом никто не просит и не говорит о функциональности сегодняшнего Linux или FreeBSD).
> C++ уже переживёт и вас и меня.Угу, COBOL тоже пережил. Но разве это жизнь?
> Автомобили как были статусным аксессуаром, так и остались
Это где такое? На постсовке? Ну да, тут может быть.
А напр. в сша и в европах авто это просто утилитарная хрень. Она может быть и статусной, но тут как с часами - могут быть утилитарные касио за 20 баксов, а могут быть швейцарские с золотом и камнями. Но их существование не делает часы сами по себе не утилитарными.> Статические анализаторы позволяют довольно чётко контролировать память.
Не могут как показывает практика)))
> но как язык - он совершенно зависим, хотя сообщество делает вид, что это не так.
Если так рассуждать, то все языки на базе llvm зависимые. Но это как бы пофиг.
Плюс у раста таки есть альтернативные компиляторы.> на Сишке (чистой) почти сразу написали массу продуктов,
За 40 лет?)) А сколько из них потом заменили на нормальный язык? Даже gcc пишут на плюсах.
Раст релизулся в 2015 году. Ему всего 15 лет.> На Rust на сегодняшний день написали ОДНУ кривейшую ОС
У вас треть инета маршрутизируется через клаудфарю и ее pingora. Сколько адроид телефонов с версией 13 и старше? А там везде раст. Первый язык который приняли в ядро.
И да, это огромное достижение за 15 лет в таком инертном и конкурентном рынке.
>> C++ уже переживёт и вас и меня.
> Угу, COBOL тоже пережил. Но разве это жизнь?Внезапно, его фронтэнт в GCC недавно добавили. Как говорится, а жизня то - налаживается!
>Ровно также Microsoft в своё время выкатили F#, многие пророчили ему большое будущее, были даже евангелисты F# (чем-то напоминают нынешних Rust-овичков). В итоге так и остался поделкой для студентов (и это действительно крутой инструмент для того чтобы обучающиеся потыкались в функциональщину)А я читал, на этом языке один человек переписал софт на крупной американской бирже за полгода то, что команда из десятка плюсовиков делала несколько лет. Притом код оказался быстрее плюсового. Вот бы все плюсовики были такими "студентами".
> Лет 15 назад вот внезапно всплыла мода на функциональщину (Haskell, LISPLISP? Мода на лисп была наааамного раньше.
> в ином виде все это УЖЕ есть в C++,
В том-то и дело что в ином)) С++ до сих пор тянут тяжелое наследие сишки.
> а учитывая что Rust не существует без LLVM
Компилятор cranelift написан на расте. У него нет такой глубокой оптимизации как у llvm, но для той же сишки существуют только два открытых оптимизирующих компилятора... и оба написаны на плюсах.
> то Rust вообще сложно воспринимать всерьёз.
Ну так не воспринимайте)) Как будто ваше мнение хоть на что-то влияет.
>В том-то и дело что в ином)) С++ до сих пор тянут тяжелое наследие сишки.Когда спрашивают почему Си плюс-плюс такой ужасный, беспринципные люди от балды говорят, что виновата сишка. Борзеете однако. Все проблемы "Си плюс-плюс" происходят от самой "Си плюс-плюс". Нечего тут приплетать сишку.
> Борзеете однако.У плюс есть множество чисто плюсовых проблем.
Но есть еще целая куча сишных как результат с совместимостью с сишкой.
Так что не нужно тут ляля, почитайте Страуструпа как он создавал си++.
>Но есть еще целая куча сишных как результат с совместимостью с сишкой.Слушай, никто из сишников не уговаривал Страуструпа, чтобы он за основу своего ООП языка взял процедурную чистую Сишку. Никто из сишников не кричал, чтобы "Си плюс-плюс" сохранял какую-то там совместимость с чистым Си. С самого своего появления "Си плюс-плюс" был отдельным языком, со своими правилами.
>Так что не нужно тут ляля, почитайте Страуструпа как он создавал си++.Не хами. Историю появления языка "Си плю-плюс" я знаю лучше чем ты. Когда вы вините в своих проблемах ни в чём не повинную сишку, люди старшего поколения понимают, что вы несёте пургу, а вот молодые люди могут вам просто напросто поверить.
Борзеть не надо. Все проблемы языка "Си плюс-плюс". Это проблемы самих "Си плюс-плюсников". Вы сами себе злобные буратино.
> Когда вы вините в своих проблемах ни в чём не повинную сишку,Ни в чем неповинную?
Омнище, которое даже два числа не может сложить без UB неповинное??
Это как "не вините машину без тормозов, ее просто так сделали!"> люди старшего поколения
Уже в маразме))
> а вот молодые люди могут вам просто напросто поверить.
Молодые уже посмотрели на это убожество из 70х и все поняли сами. Им не нужно ничего говорить.
> Все проблемы языка "Си плюс-плюс". Это проблемы самих "Си плюс-плюсников". Вы сами себе злобные буратино.
Это первородный грех)) Убожество сишки унаследовалось с++.
> Все проблемы "Си плюс-плюс" происходят от самой "Си плюс-плюс". Нечего тут приплетать сишку.В смысле?
Начнём с того, что UB - сишное изобретение. Закончим.
Проблемы препроцессора (__вот __это __в __библиотеках) и модульности оттуда же.
Наяривание на Стандарт, словно надо сначала определиться, кто будет крайним в случае новой Фукусимы, а уже потом писать Hello World - оттуда же.
Начнём с того, что UB в unsafe это растовое изобретение. Закончим.
Конечно нет, вот оно в C# в 2001 году: https://ecma-international.org/wp-content/uploads/ECMA-334_1...Но какое это имеет отношение к C89, который ввёл понятие UB, которое перекочевало в C++ вместе с практикой творить дичь в компиляторе, прикрываясь оптимизациями и разрешением на дичь в стандарте? На Rust это опосредованно через LLVM влияет.
>Начнём с того, что UB - сишное изобретение. Закончим.Винить чистую сишку в том, что в языке "Си плюс-плюс" есть UB? Слушайте, вы в конец оборзели, а?
А спорить о том, что когда и где появился сам термин UB не будем, ага?!
> Винить чистую сишкуГрязную (вплоть до boringcc) винить нельзя.
> в том, что в языке "Си плюс-плюс" есть UB?
А откуда он взялся? Самозародился?
> А спорить о том, что когда и где появился сам термин UB не будем, ага?!
где --> C89 <-- когда
> Винить чистую сишку в том, что в языке "Си плюс-плюс" есть UB?Никто ее не винит. Это как винить копейку, что она ведро с гайками, по меркам современных авто.
ЯП совершенно не виноват, что он просто овно.
Это надо винить его создателей (в случае дыряшки - коммитетчиков).> Слушайте, вы в конец оборзели, а?
Нет, тебе показалось)
Торвальдс в своё время принял правильное решение не приняв "С плюс-плюс" в ядро. Такие нам не нужны.
Ажиотаж с Rust больше похож на внедрение dotNet.
А что когда внедряли в вантузе .NET был точно такой же ор?
Да, почти 1 в 1. Аргументы такие же: "безопасно" и "зато плюсы быстрее". Даже ОС написали на нём - Microsoft Singularity. Рекламу функциональщины я наблюдал рядом (на RSDN), но она происходила тихонечко сбоку от этой шумихи.Что любопытно: дотнетчики воевали как бы с плюсовиками, но досталось Дельфи.
>Rust - абсолютно та же история.Нет, конечно. Потому что абстракции в названных вами функциональных языках на были бесплатными. В Rust они бесплатны.
>на деле же он в отличие от функциональных языков с их уникальными фишками вообще не добавляет ничего инновационного, в ином виде все это УЖЕ есть в C++Ну здрасьте. Borrow checker, поддержка Unicode на уровне стандартной библиотеки, отсутствие UB, развитая стандартная же инфраструктура, редакции, афинные типы. Все это уже есть в Плюсах? Не поделитесь номером стандарта?
Ну и да, Rust содержит некоторые плюшки из функциональных языков.
>Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом Rust.А зачем его называть именно "Rust"? Да хоть горшком его назови, лишь бы растокод успешно компилял. Вот пусть и называется gccrs.
>GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?
Какие барьеры? Бери и перелицензируй под что угодно. Лицензия позволяет. Проприерасты же наверняка и в свои проприетарные продухты код оригинального Раста засунут.
Лицензия - про название. Нельзя называть "rust compiler" что-то кроме официального компилятора. А если название, скажем, gccrs - можно.
> Согласно лицензии, компилятором языка Rust может считаться только официальный компилятор, разрабатывемый сообществом RustЛицензии на что?
> GNU Compiler Collection - это копилефт, Rust - пермиссивка. Как сообщество разработчиков GCC будет продолевать эти баръеры?
Нет там никаких барьеров, нечего преодолевать.
А насчёт пакетного менеджера rust. Cargo кажись называется - тоже будет? А пакеты на других языках на нем можно будет добавлять с библиотеками?
Молодец. Расписал всё по делу.
Ну а чего? Без Арин-нет у тебя ничего не скомпилируется. Идея интересная.
Коротко про раст1) Популистский и надоедливый маняпиар изо всех щелей, который почему-то рассчитан на домохозяек, а не на специалистов. (бОльшая часть растосообщества действующие веб разрабы, что уже о многом говорит)
2) Шизоидные менеджеры, которые слишком явно обслуживают интересы корпораций и придерживаются линии партии.
3) Раст - это политическая организация, а не язык программирования. Сам факт того, что на странице с описанием обновлений тебе предлагают поддержать НУЖНЫЕ движения в другой стране(например, Иране) уже о много говорит. Также лоббирование всяких КОКов, запрет "токсичных" констант и прочая неолиберальная СЖВ-шиза очень отталкивает.
4) Ужасная культура разработки, которая перешла изкультуры веб разработки. Даже для самых маленьких проектов используют leftpad.rs, которые рекурсивно тянут за собой ещё десятки зависимостей и по итогу для маленькой программы, которая выводит аналог "Hello, World" придётся скачать мегабайты и сотни тысяч(буквально) кода зависимостей. Это очень смешно слышать в контексте со словом "безопасность". Просто скачайте небольшой проект и напишите cargo tree, посмотрите количество зависимостей и попробуйте угадать в какой из них автор может закинуть вам говняк.
5) Не очень понятна ниша языка. Для серьёзных числодробилок и сырой работы с памятью все равно придётся переходить в не безопасный режим. Не легче тогда сразу писать ядро вычислений на не безопасном языке, а потом использовать языки со сборкой мусора и вообще забыть о проблемах с памятью? Да, я знаю, что есть волшебные обертки, которыми можно огородить опасные участки кода, но опять же это не даёт никаких гарантий и в случае ЧП программа просто упадёт, либо продолжит исполнение с некорректными данными.
6) Отвратная работа с динамической линковкой
7) Огромные бинарники даже после релиз мода, которые приходится strip-ать(Недавно сравнивал две аналогичные по функционалу программы, одна написана на СИ(одним файлом, лол), а другая на расте. Получилось 40Кб и 1.4МБ. Думаю, сами поймёте, что и где).
8) Долгая компиляция и ужасное "раздувание" папки с проектом, после сборки. Из проекта с весом папки 10 мб после сборки можно получить все 1.5-2.5 гб.
8) Абсолютно раковое и фанатичное сообщество(напоминаю, что большая часть сообщества выходцы из веба и скриптухи)
Итог: если рассматривать раст как язык, то может быть он и заслуживает внимания(но опять же его плюсы не окупают затраты на переход), но вот все, что крутится вокруг языка - просто ужасно. Именно это окружение и отпугивает.Конечно, наши мнения никакой роли не играют, потому что раст пилится и спонсируется корпорациями. А у кого деньги, тот и танцует, как говорится. Но справедливости ради, если бы корпорации вкладывали деньги в развитие и пиар брейнфака, то сейчас бы все носились и рассказывали какой брейнфак классный. К сожалению, в техническую сферу пришли деффективные менеджеры и рекламщики.
> Коротко про растОго как у тебя бомбануло. Столько всего понаписывал))
1. Пруфы про большинство веб разработчиков будут? Или ты просто в лужу прнул?
2. Так корпорации это единственные кто может писать большие СПО проекты - в последнем ядре это 88% кода.
3. Т.е это не просто люди которые делают классный ЯП, но они еще и поддерживают свободу? Ваще круто!
Кстати CoC есть в любом успешном проекте, без него только какие-то неудачники.
4. Но пока говняк закидывают прямо в ХЗ библиотки или в ядро - привет Bvp47.
5. Будет достаточно чтобы программа падала, а не молча дарила рут кому попало.
6. Проблема есть и решается.
Но это не мешает делать большие проекты. Возможно дело в неосиляторах.
7. Возможно ты забыл выключить дебаг символы.
8. Кто бы мог подумать что проверки в compile time занимают время! А построение всех зависимостей - место. Попроси у деда мороза жесткий диск хотя бы на Тб. Его хватит на сотни таких проектов.
8.2 Хахаха, смешно такое слышать)> Итог: если рассматривать раст как язык, то может быть он и заслуживает внимания
Ого, неужели здравая мысль случайно возникла в предыдущем потоке бреда?
> (но опять же его плюсы не окупают затраты на переход),
Такие интересные выводы и опять без пруфов? Кажется лужа уже переполняется газом.
> но вот все, что крутится вокруг языка - просто ужасно. Именно это окружение и отпугивает.
Кого? Любителей тоталитарных режимов? Правых фашиков? ГНУ-коммуняк?
>> Коротко про раст
> Ого как у тебя бомбануло. Столько всего понаписывал))Звучит интересно, особенно в свете попытках ответить по каждому пункту:)
>>> Коротко про раст
>> Ого как у тебя бомбануло. Столько всего понаписывал))
> Звучит интересно, особенно в свете попытках ответить по каждому пункту:)Ага, можешь сравнить кол-во текста))
У меня получилось гораздо компактнее.
Правда анон ниже, был еще менее многословен, зато по делу.
>>>> Коротко про раст
>>> Ого как у тебя бомбануло. Столько всего понаписывал))
>> Звучит интересно, особенно в свете попытках ответить по каждому пункту:)
> Ага, можешь сравнить кол-во текста))
> У меня получилось гораздо компактнее.Размерами меряешься? У кого компактнее у того лучше? Не удивлен. Вот недавно мне на глаза попался аккаунт бывшего контрибьютора rustc https://github.com/jyn514
>>>> Коротко про раст
>>> Ого как у тебя бомбануло. Столько всего понаписывал))
>> Звучит интересно, особенно в свете попытках ответить по каждому пункту:)
> Ага, можешь сравнить кол-во текста))Я тебе открою один секрет. Готов? Я не писал этот текст))
> Я тебе открою один секрет. Готов? Я не писал этот текст))О, ты тоже открыл для себя, чудесный мир LLM?
... и троллинга?
не хватает, как минимум, ещё одного пункта:9. полноценная поддержка различных CPU.
Глядя на их проекты, складывается ощущение, что кроме AMD64, они не осилили ничего больше. Да, иногда мелькает (и даже работает!) что-то из aarch64/ARM64, видимо, по недосмотру-недоразумению, но мы верим в них, ржавом@к@ки исправятся, и в живых останется только один - х86_64. Ведь все поголовно юзают только этот камень в 64bit и распоследние версии ядра и сист. бибки на своих устройствах?
Atomic{I,U}32? Ха, слабаки! Только 64!!!
Когда там поддержку mips'ов завезли в ring? mips(be) ёще дольше ждать пришлось пары-тройки строк кода.
armv5? Не, даже armv7 не без приключений...А может предложим местным rust'a-гуру, что тут любят писать - "сишка - дыряшка, растишка - няшка!" собрать что-нибудь на их ня-ня-няшном? Отмазы от них будем расценивать, как ниасиляторство-пустобрёх. Ну, напр., arti под mips (big endian). Хотя, это им совсем сложно будет. Может, nushell под mips (little endian)? Не, сложновато? Или под aarch64-unknown-linux-uclibc питоновский cryptography? А, что, если...
Не, ниасиляторы! Пусть учат новый слоган - "сишка - няшка, растишка - фуфляшка!!!"
> А может предложим местным rust'a-гуру...Прошли сутки, а этого было более, чем достаточно, чтоб уделать дидов-сишников.
<code>
~# eu-readelf -h /usr/sbin/nu
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 01 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Ident Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 1
Type: EXEC (Executable file)
Machine: MIPS R3000
...
</code>или
<code>
~# eu-readelf -h /usr/sbin/arti
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 01 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Ident Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 1
Type: EXEC (Executable file)
Machine: MIPS R3000
...
</code>Не, растафилы-растаманы могут только булькать, тявкать, квакать, кукурекать, мяукать, etc.
Если язык ограничен одной платформой, то это - вещь в себе, и йухан такой не надо... и они его ещё и ядро тянут.
>> А может предложим местным rust'a-гуру...
> Прошли сутки, а этого было более, чем достаточно, чтоб уделать дидов-сишников.Ээээ?
Неужели ты думал, что сейчас все забегают после вскукареков из питушин0го угла?
Сорян, всем на тебя просто плевать.> Не, растафилы-растаманы могут только булькать, тявкать, квакать, кукурекать, мяукать, etc.
Но свой язык в ядро линукса добавили)
Заодно слегка выкинули из мейнтенеров слишком вахтеристого дида.> Если язык ограничен одной платформой, то это - вещь в себе, и йухан такой не надо... и они его ещё и ядро тянут.
Уже притянули.
И ты можешь хоть лопнуть от злости, ни ты, ни тебе подобные, ни на что не повлеяют.
> складывается ощущение, что кроме AMD64Ничего и не существует. И это реально так.
Еще есть немного ARM64 и где-то внизу трепыхается риск-v.Всякие ppc64el и S390X очень нишевые и богатенькие. Захотят поддержку - сами переведут из tier 2 в tier 1.
> Ведь все поголовно юзают только этот камень в 64bit и распоследние
> версии ядра и сист. бибки на своих устройствах?Прикинь, да!
Все адекватные не будут ставить последнее ядро, на древнючий проц, потому что никто толком не тестирует его. А потом оказывается что уже 10 лет не работает какая-то файлуха.
Для старья есть старье. Вот им и пользуйтесь.> mips
Новейший общедоступный проц на мипсе был выпущен 10 лет назад - Warrior-M M6250.
Кому нужен этот хлам? Кому-то нужен - ну так пусть тот и допиливает, это опенсорс, а не коммерческий тулкит.> armv5
Никому ненужный легаси хлам.
> даже armv7 не без приключений...
Но пруфов ты конечно не приведешь)))
> Пусть учат новый слоган
Сишка ов-няшка?))
ЗЫ: мне нравится как ты горишь)) Прям ощущаю страдания)
Буду рад увидеть тебя еще раз в следующей новости про перевод чего-то на раст. Или в новостях про ядро.
Хотя с другой стороны - вонять в комментах это единственно что вы в состоянии.
> Ничего и не существует. И это реально так.Охотно верю! Всё, что здесь (https://github.com/rust-lang/rust/tree/master/compiler/rustc...) - мертвый код, но зачем?
> Но пруфов ты конечно не приведешь)))
Нет, не приведу. Пруфов полно, но смысла приводить для фанатиков - нет, не смогут.
> ЗЫ: мне нравится как ты горишь)) Прям ощущаю страдания)
Надеюсь, не очень глубоко в себе ощущаешь?
Зачем ГыЦыЦ пилит компилятор раста? Уже есть эталонный, он всегда будет более фичастым. Помнится ГыЦыЦ в свое время пилил компилятор явы -- предсказуемо не взлетел. Также уверен, что ГыЦыЦ как всегда обмажется вирусной лицензией, что лишь еще сильнее изолирует его от опенсорсного сообщества.
> Зачем ГыЦыЦ пилит компилятор раста?Чтобы ядро собирать именно gcc!
Зачем это разумеется не понятно - ядро прекрасно собирается свободным шлангом и испрульзутеся в миллиардах андроид устройств. Но для фанатиков ш6о6одки это ну вот очень-очень важно.В итоге будет эталонный компилятор, а будет вечноотстающее гнутое поделие.
Главное, чтобы его для сборки ядра хватало для начала.
> Главное, чтобы его для сборки ядра хватало для начала.Походу это 1 из мотиваторов и есть.
а где скачать свободный шланг? тот самый шланг, который все знают, - проприетарный
> а где скачать свободный шланг?Вот тут github.com/llvm/llvm-project
Самый что ни на есть свободный шланг. Качаешь и делаешь с ним что хочешь.
но по ссылке проприетарный шланг. открой лицензию и глаза. и уж чего с ним точно нельзя делать, так это "чего хочешь"
> но по ссылке проприетарный шланг. открой лицензию и глаза. и уж чего
> с ним точно нельзя делать, так это "чего хочешь"Открыл лицензию - Apache License Version 2.0.
Можно открывать, можно закрывать, можно продавать, можно делать что хочу.
Назови что-то что я не могу с ним сделать)))
>Назови что-то что я не могу с ним сделать)))Ты его не сможешь сделать копилефтным. А это минус. Твоя пермиссивщина легко завтра станет проприетарщиной. Не веришь? Посмотри истоирю Qt.
> Ты его не сможешь сделать копилефтным.Разве? Не достаточно будет заменить файл LICENSE?
GCC перестал разрабатывать фронтэнд языка Java тогда, когда официальная виртуальная машина Java вышла с копилефт лицензией.
Затем, зачем и делает gcc go. То есть есть оригинальные компиляторы go и rust, но их собиряют только для некоторых платформ. Тогда как gcc можно собрать для гораздо большего числа платформ, вот в них и будут работать gcc go и gcc rust
>он всегда будет более фичастымОтвет очевиден - не нужен фичастый, а нужен другой.
Зато GnuCobol и Gnu Ada взлетел. Gnu D, GNU Guile, Gnu Fortran и Gnu Lisp не отстаёт. Если оставить С/С++ и языки корпораций Java/Go/C#.
GCC Modula-2 живёт https://freepages.modula2.org/
> Предложенная реализация Borrow checker отличается тем, что написана на языке RustА это точно GCC?! Зачем оно в нём? Разве у растаманов нет своего компилятора?
Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб - как его ещё соптимизировать ?[dependencies]
chrono = "0.4"
serialport = "4.7"
clap = { version = "4.5", features = ["derive"] }
rand = "0.9"[profile.release]
strip = true
panic = "abort"
codegen-units = 1
lto = true
opt-level = "s"для сравнения +- то же самое на С - 9.6 кб
> Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой
> тест компорта а он 540кб - как его ещё соптимизировать ?Убрать нахрен dependencies и написать работу с компортом самому? :)
Мне для понимания - может я что-то упускаю, мне не критичны эти 500кб
> как его ещё соптимизировать ?https://github.com/johnthagen/min-sized-rust
> This repository demonstrates how to minimize the size of a Rust binary.RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo +nightly build --release -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abort
Если нет возможности использовать nightly, тогда надо выбросить +nightly и добавить в начало RUSTC_BOOTSTRAP=1
Хеловорд с твоим [profile.release] уменьшается с 317760 до 18528 байт (для nightly с 306208 до 13000).> для сравнения +- то же самое на С - 9.6 кб
Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.
> добавить в начало RUSTC_BOOTSTRAP=1Хеловорд с твоим [profile.release] уменьшается с 317760 до 18528 байт
этот костыль просто игнориуется
warning: unused manifest key: profile.release.RUSTC_BOOTSTRAP
да и странно такой фигнёй заниматься - это же вроде включает нестабильные ф-ции компилятора?
> этот костыль просто игнориуетсяНет, потому что это переменная среды, и её надо добавить в начало команды, а ты её зачем то засунул в Cargo.toml
"Этот костыль" нужен для того, чтобы стабильная версия rustc могла собрать следующую стабильную версию rustc, но при этом использовать не-стабилизированные функции.> да и странно такой фигнёй заниматься - это же вроде включает нестабильные ф-ции компилятора?
Здесь под "стабильностью" подразумевается не надёжность работы, а гарантии обратной совместимости.
Короче говоря это для разработчиков компилятора - мне такое не надо
> Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.да чего там сравнивать - распарсить три параметра, заполнить буфер рандомом, записать в порт и прочитать из него же через внешний loop - раст код на 2 порядка больше. Как хелловорд 18кб получается - тоже с no_std? Такое сравнение как раз и неспортивно.
> Как хелловорд 18кб получается - тоже с no_std?
cat hello.rs && rustc -O -C prefer-dynamic hello.rs && strip hello && ./hello && ll ./hello
fn main() {
println!("{} Hello World!", 1<3);
}
true Hello World!
-rwxr-x--- 1 анон анон 6,1K 22 марта 13:15 ./hello*
И правда, как?
Твой код ничего не делает, повтори такое с простым кодом который что-то делаетuse std::io::{Read, Write};
use std::time::Duration;
use clap::Parser;
use rand::Rng;#[derive(Parser)]
struct Args {
#[clap(short, default_value = "/dev/ttyS0")]
port: String,#[clap(short, default_value_t = 115200)]
baud: u32,#[clap(short, default_value_t = 1024)]
count: usize,
}fn main() {
let args = Args::parse();
let timeout = Duration::from_millis(100);
let mut port = serialport::new(&args.port, args.baud)
.timeout(timeout)
.open()
.expect("open error");println!("port {}, baud {}, count {}", args.port, args.baud, args.count);
let mut tx_buffer = vec![0u8; args.count];
let mut rx_buffer = vec![0u8; args.count];
let mut rng = rand::rng();loop {
rng.fill(&mut tx_buffer[..]);port.write_all(&tx_buffer).expect("write error");
port.read_exact(&mut rx_buffer).expect("read error");if tx_buffer != rx_buffer {
println!("test FAILED");
break;
}
}
}если получится хотя бы 50кб вместо 500кб - будет неплохо, только без хни с нестабильными возможностями компилятора
> Твой код ничего не делает, повтори такое с простым кодом который что-то делаетЗапусти "cargo tree" и осознай, что приведённый код совсем не простой.
Как тебе уже написали, clap - это комбайн на все случаи жизни, и скомпилировать в 50кб не получится никак.
С командой из коммента выше получается 284856 байт (nightly - 276808) и это очень хороший результат, беря во внимание всё то, что _статически_ собрано внутри.
Хренасе простой! Тут эквивалентного сишного кода килобайтов на 100, одни таймауты запаришься делать - придется нырнуть в чан системного программирования для POSIX и воспользоваться сигналами, таймерами и еще черти чем.
Это элементаный код потому что кроме парсера командной строки это всё обёртки над ioctl ядра и сишный эквивалент компилируется в 10 кб. Мне не понятно - почему раст линкуя статически и имея всю информацию не может оптимизировать свои говнообёртки - они либо криво написаны или LTO у него не работает
> Это элементаный код потому что кроме парсера командной строки это всё обёртки над ioctl ядра и сишный эквивалент компилируется в 10 кб.ЛОЛ. А в сишном "эквиваленте" ты также используешь криптостойкий генератор случайных чисел (rand_chacha), а то он сам добавляет 10к в бинарник. Да и крейт serialport это не только вызовы ioctl.
> Мне не понятно - почему раст линкуя статически и имея всю информацию не может оптимизировать свои говнообёртки - они либо криво написаны или LTO у него не работает
То, что ты назвал "говнообёртками" это всего лишь сторонние крейты, которые ты бездумно добавил в зависимости, и к языку Rust никакого отношения не имеют. Это как говорить, что C++ говно потому что мне не нравится Qt.
LTO не может выбросить код, который ты явно (или неявно) используешь. В целом он работает на отлично, без крейта clap и с заменой криптостойкого chacha на тривиальный xorshift32 размер падает до 63600 (nightly 51376), и это почти соответствует заявленной планке в 50к.use std::io::{Read, Write};
use std::time::{Duration, SystemTime};fn xorshift32(x: &mut u32) -> u32 {
*x ^= *x << 13;
*x ^= *x >> 17;
*x ^= *x << 5;
*x
}fn main() {
let mut args = std::env::args().skip(1);
let args_port: String = args.next().unwrap_or_else(|| String::from("/dev/ttyS0"));
let args_baud: u32 = args.next().and_then(|s| s.parse().ok()).unwrap_or(115200);
let args_count: usize = args.next().and_then(|s| s.parse().ok()).unwrap_or(1024);
let timeout = Duration::from_millis(100);
let mut port = serialport::new(&args_port, args_baud)
.timeout(timeout)
.open()
.expect("open error");println!("port {}, baud {}, count {}", args_port, args_baud, args_count);
let mut tx_buffer = vec![0u8; args_count];
let mut rx_buffer = vec![0u8; args_count];
let mut rng = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH)
.unwrap().as_secs() as u32;loop {
tx_buffer.fill_with(|| xorshift32(&mut rng) as u8);port.write_all(&tx_buffer).expect("write error");
port.read_exact(&mut rx_buffer).expect("read error");if tx_buffer != rx_buffer {
println!("test FAILED");
break;
}
}
}
> (rand_chacha), а то он сам добавляет 10к в бинарник.Как вы из чачи 10 кило получить умудрились?
А так у того анона получился отличный пример почему на хрусте будет блоатварь. Наподкдючал пакетов - и вот тебе питон-электрон на все 50 мегабайтов хелловорлда. Вот как-то так на хрусте и будут програмить набежавшие на хайп. А вы получите - сотни блоатвари!
> Как вы из чачи 10 кило получить умудрились?В основном за счёт нескольких реализаций, оптимизированных под разные расширения процессора.
$ nm -C -S --size-sort -t d target/release/test1 | grep rand_chacha
0000000000040237 0000000000000021 t rand_chacha::guts::init_chacha::impl_avx
0000000000035171 0000000000000700 t rand_chacha::guts::refill_wide::impl_avx2
0000000000035871 0000000000001367 t rand_chacha::guts::refill_wide::impl_avx
0000000000038739 0000000000001498 t rand_chacha::guts::refill_wide::impl_ssse3
0000000000037238 0000000000001501 t rand_chacha::guts::refill_wide::impl_sse41
0000000000033341 0000000000001830 t rand_chacha::guts::refill_wideС крейтом rand размер 75976 (nightly 63168), без 63600 (nightly 51376), разница 12376 и 11792 байт соответственно.
Какаято космическая глупость - зачем эти кучи реализаций если при статической лнковке прекрасно известно под какую архитектуру оптизирован код.
> Какаято космическая глупостьКак по мне - воинствующая некомпетентность. Но это я, пожалуй, оставлю психологам.
Замена парсера командной строки на argh даёт сразу минус 100кб, странно почму clap такой жирный - у меня же указано только features = ["derive"] и ниакакого юникода. Замена rand на fastrand всего 10кб - совсем немного.
Ещё раз напомню - все обёртки линкуются статически, почему раст не может выкинуть то что не используется, у него есть вся информация в отличии от Qt которая собирается как динаимически подключаемый код и на момент сборки нет информации что может понадобиться.
> Как хелловорд 18кб получается - тоже с no_std?Нет, обычный, собранный стабильной версией rustc.
$ cat Cargo.toml
[package]
name = "test1"
version = "0.1.0"
edition = "2024"[profile.release]
strip = true
panic = "abort"
codegen-units = 1
lto = true
opt-level = "s"$ cat src/main.rs
fn main() {
println!("Hello, world!");
}$ RUSTC_BOOTSTRAP=1 RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo build --release -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abort
...$ ./target/release/test1
Hello, world!$ du -b target/release/test1
18528 target/release/test1$ rustc -V
rustc 1.85.1 (4eb161250 2025-03-15)
>> как его ещё соптимизировать ?
> https://github.com/johnthagen/min-sized-rust
>> This repository demonstrates how to minimize the size of a Rust binary.
> RUSTFLAGS="-Zlocation-detail=none -Zfmt-debug=none" cargo +nightly build --release
> -Zbuild-std=std,panic_abort -Zbuild-std-features=optimize_for_size,panic_immediate_abortВопрос: а почему столь простая хотелка - столь криво делается?
> Если нет возможности использовать nightly,
Еще и "скачайте ночнушку" фирменное? Для работы, блин, с компортом доисторическим?! ORLY?!
>> для сравнения +- то же самое на С - 9.6 кб
> Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.Это почему? На си stdlib юзается же.
>>> для сравнения +- то же самое на С - 9.6 кб
>> Чтобы сравнивать с Си, надо включать #![no_std], по другому не спортивно.
> Это почему? На си stdlib юзается же.Наверное, потому что stdlib не входит в те 9.6 Кб?
>> Это почему? На си stdlib юзается же.
> Наверное, потому что stdlib не входит в те 9.6 Кб?Ну так а хрустикам что мешает сделать одну .so на всю ораву и реюзать ее? Сишники смогли. Плюсеры смогли. А у этих вечно все...
В Rust не смогли как раз из-за опыта того, как "смогли" плюсовики. А сишники почти смогли ценой прекращения развития языка, но все равно постоянно ломают ABI-совместимость в стандартной библиотеке.
>>> Это почему? На си stdlib юзается же.
>> Наверное, потому что stdlib не входит в те 9.6 Кб?
> Ну так а хрустикам что мешает сделать одну .so на всю ораву
> и реюзать ее? Сишники смогли. Плюсеры смогли. А у этих вечно
> все...Вопрос был "почему", не надо менять тему.
И Си, и Плюсы можно линковать статически. За исключением одной "свободной" ОС, где мозг технарям заклевали идеологи, и потому лицензия запрещает.
> clap = { version = "4.5", features = ["derive"] }Выкини clap и работай с аргументами командной строки вручную. clap -- это комбайн, который умеет всё, что может понадобиться для работы с аргументами командной строки, и ещё немного того, что никогда никому не понадобится.
> для сравнения +- то же самое на С - 9.6 кб
9.6 кб ты можешь получить только отказавшись от std, потому что обработка utf8 строк содержит огромные таблицы, которые я думаю сами по себе больше 9.6Кб.
> 9.6 кб ты можешь получить только отказавшись от stdя подумал что LTO должен выкидывать всё ненужное - жаль что в расте кривой Dead Code Elimination
Как тебе LTO выкинет таблицы для декодирования utf8, если ты этим пользуешься? Типы str и String используешь? Вот значит терпи таблицы.
> Как тебе LTO выкинет таблицы для декодирования utf8, если ты этим пользуешься?Где он ими пользуется для работы с компортом?
> Типы str и String используешь? Вот значит терпи таблицы.
Охрененная логика, просто топчик, не важно делал ли что с юникодом - но таблиц впихнем...
> Где он ими пользуется для работы с компортом?Там в депендансах clap, то есть ты работал с аргументами командной строки, так? Но аргумент командной строки может быть произвольной последовательностью ненулевых байт с нулевым байтом в конце. unix не даёт никаких гарантий того, что это будет валидный utf8. Поэтому std эти строки валидирует, и для этого ей нужен код декодирования utf8 и те самые таблицы.
> Охрененная логика, просто топчик
Бобманул сарказмами, лол. Забавно что это произошло из-за банального непонимания того, что за программу ты написал, и что именно она делает.
> для сравнения +- то же самое на С - 9.6 кбНасколько плюс-минус?
С поддержкой нормального парсинга командной строки?
С поддержкой utf?
Со статически линкованными всеми либами?
С нормальными сообщениями об ошибках?В очередной раз убогость пытаются выдать за минимализм. Перепиши тоже самое без std, с abort вместо нормального panic_handler, без вывода ошибок и будет примерно тоже самое.
Но зачем так жить?
> Со статически линкованными всеми либами?ты даже свои инструменты не знаешь
file test
test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=66742db34e88f8d3c016ed1c285c43ba16732d5d, for GNU/Linux 3.2.0, strippedон как и С код не линкует libc так что у них равные условия
> ты даже свои инструменты не знаешь
> file test
> test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
> for GNU/Linux 3.2.0, strippedОх уж эти знатоки инструментов -- сделай ldd и удивись, почему в списке нет std-либы раста.
> он как и С код не линкует libc так что у них равные условия
Ну вот тебе с "равными":
% cat hello.rs && rustc -O -C prefer-dynamic hello.rs && strip hello && ll ./hello [1]
fn main() {
println!("{} Hello World!", 1<3);
}
-rwxr-x--- 1 анон анон 6,1K 22 марта 13:12 ./hello*
> сделай ldd и удивись, почему в списке нет std-либы раста.libc у них общая зависимость - я надеялся LTO должен выкидывать ненужное от std раста, ну нет так нет, а хелловорд на С можно в 100 байт наверно уложить, дело не в этом.
> с abort вместо нормального panic_handler, без вывода ошибок и будет примерно тоже самоеразве у меня подругому собрано?
[profile.release]
panic = "abort"
>для сравнения +- то же самое на С - 9.6 кбКак минимум добавь сюда Runtime библиотеку килобайт в 200...
>>для сравнения +- то же самое на С - 9.6 кб
> Как минимум добавь сюда Runtime библиотеку килобайт в 200...Stdlibc в операционке всяко есть... как .so - без этого система вообще работать не будет :)
>Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб - как его ещё соптимизировать ?Не использовать Раст. Ответ очевиден же?
Для меня очевидно раст это лучшее что есть сейчас и я его с радостью буду использовать, не плюсы же зубрить и все его дебильные UB
> для сравнения +- то же самое на С - 9.6 кбЧё правда, все подключённые к раст проекту зависимости есть и в сишном проекте тоже? И бектрейсы твоя сишная прога умеет выдавать?
Там нифига не тоже самое. Си просто не умеет ничего, в том числе зависимости. Поэтому ты например юзаешь printf из уже собранной сошки. А в расте у тебя не принтф, а другие инструменты, которых нет в либц. Поэтому они попадают в твой бинарь.
Это не баг, это фича.
Это как вывести привет мир на си и на жаве и сказать что они одно и то же делают. Нет, не одно и то же.
> Чё правда, все подключённые к раст проекту зависимости есть и в сишном
> проекте тоже? И бектрейсы твоя сишная прога умеет выдавать?А зачем бектрейсы и прочий отладочный крап чисто по приколу в релизе?
> Это не баг, это фича.
Блоатварь теперь фича? :)
> Это как вывести привет мир на си и на жаве и сказать
> что они одно и то же делают. Нет, не одно и то же.Ну конечно, приветмир это же не приветмир а приветмир. Логика, понимать надо!
>А зачем бектрейсы и прочий отладочный крап чисто по приколу в релизе?Затем, чтобы не было "программа совершила недопустимую операцию по адресу 0x...". Поскольку если программа упадёт у конечного пользователя, собравшего её неизвестно каким компилятором, неизвестно в каком окружении, запустившего её в неизвестно каком линуксе и так далее, то можно было сразу понять в чём проблема, а не играть в угадайку.
>Блоатварь теперь фича? :)На дворе 2025 год, а вы предлагаете экономить на спичках. Проблем от такой экономии гораздо больше чем выгоды.
>Ну конечно, приветмир это же не приветмир а приветмир. Логика, понимать надо!Семантика у этих программ очень различается. Си - AOT, Java - JIT, Си - ручное управление памятью, Java - GC и так далее. В частности, время запуска сишного кода будет куда меньше, поскольку не нужно запускать виртуальную машину. Можно долго рассказывать, насколько Java хуже Си для написания hello world, но вот как только вам нужно будет написать веб сервер или IDE, то важность этих аргументов резко померкнет.
> неизвестно в каком окружении, запустившего её в неизвестно каком линуксе и
> так далее, то можно было сразу понять в чём проблема, а
> не играть в угадайку.Поэтому мы тут по приколу напихаем всем бэктрейс, дебагинфо всякое поди и проч. Во збс логика. Особенно всяким проприетарщикам безопасТно станет - все кишки их программы будут как на ладони.
>>Блоатварь теперь фича? :)
> На дворе 2025 год, а вы предлагаете экономить на спичках. Проблем от
> такой экономии гораздо больше чем выгоды.На дворе 2025 год. И нарол и так за#$%выают гаджеты которые прожигают карман, и проценты батареи тающие на глазах. Даже с 6-амперной лопатой.
И так то тормозной софт - не айс. Из капель собираются - реки. И в итоге здоровый мощный комп - тупит больше чем винда 95 с офисом 97. При том не то чтобы оно что-то новое уметь взамен стало. Просто тормозит что капец.
> Семантика у этих программ очень различается. Си - AOT, Java - JIT,
> Си - ручное управление памятью, Java - GC и так далее.И кто жабе доктор? За это хруст ее и - прибьет нахрен. Подвинув эти недоразумения на двоих с нетом.
> В частности, время запуска сишного кода будет куда меньше, поскольку не
> нужно запускать виртуальную машину. Можно долго рассказывать, насколько Java хуже Си
> для написания hello world, но вот как только вам нужно будет
> написать веб сервер или IDE, то важность этих аргументов резко померкнет.Не вижу завалов вебсерверов на жабе. Только у замшелых корпов.
>Может хоть этот не будет гигантские бинарники выдавать, а то сделал простой тест компорта а он 540кб
>для сравнения +- то же самое на С - 9.6 кбОткуда такая тяга к экономии каждого байта, даже в ущерб всему остальному? С увеличением сложности программ разрыв между сишной программой и программой на rust будет сокращаться
Это не экономия на байтах. Растаманы не знают где очерчены границы. Если их программа для работы потребует много ресурсов, они скажут сами виноваты покупайте новый комп. У сишников смена компа нужна тогда когда реально появялется новая технология.
> Это не экономия на байтах. Растаманы не знают где очерчены границы.У них границы хотя бы есть, в отличие от "ехал сишник через буфер..."
> Если их программа для работы потребует много ресурсов, они скажут сами виноваты покупайте новый комп.
Никто не виноват. Просто сиди на старой версии.
> У сишников смена компа нужна тогда когда реально появялется новая технология.
Например программы без порчи памяти?
Нет, сынок, это фантастика! (с)
Здесь килобайты в чем-то побольше гигабайты.
Когда блокнот вместо 1 мб ест 4 Гб это нездОрово никогда, ни в 2025 ни в 2100.
Когда изначально язык сальный и всё на нём написанное жиреет в несколько раз - жто неправильно и никакая дополнительная доп.безопасность этот минус не перекроет.
Я не хотел салить хотя понимал что всё к этому сведётся, ничего лучше раст сейчас нет - просто начните его использовать.
>Здесь килобайты в чем-то побольше гигабайты.Доказательства будут?
>Когда блокнот вместо 1 мб ест 4 Гб это нездОрово никогда, ни в 2025 ни в 2100.Аналогично
>Когда изначально язык сальный и всё на нём написанное жиреет в несколько разКто-то не понимает, что библиотека всегда прибавляет константный размер к бинарнику. Для бинарника на 1 Кб исходников она прибавит ну пускай 200 Кб, что много в процентном соотношении. Но для бинарника на 200 Мб исходников она прибавит всё те же 200 Кб, что в процентном соотношении уже на порядки меньше
>жто неправильно и никакая дополнительная доп.безопасность этот минус не перекроетОсталось найти ситуацию, в какой услоные +200 Кб для кого-то перекроют все плюсы от этой библиоитеке. Полагаю, вы ни одного такого случая не найдёте
Нико молодец. Не только придумал и воплотил основную фичу раста, так ещё и продолжает упрощать овнершипы и лайфтаймы, сохраняя безопасность. Вот что умные люди делают, без оглядки на всяких дидов и комитеты.
> Нико молодец. Не только придумал и воплотил основную фичу раста, так ещё
> и продолжает упрощать овнершипы и лайфтаймы, сохраняя безопасность. Вот что умные
> люди делают, без оглядки на всяких дидов и комитеты.Как в анекдоте про евреев и самолет получилось - офигенно летает, но при переходе на сверхзвук крылья отваливаются. Теперь надо найти кого-то то насверлит дырок^W^W придумает как сделать чтобы оно в экспоненциальную сложность анализа не уходило на ряде кода из прода. Небольшой нюансик.
Не понял а попроще можно? И это аналогии приплетай правильно.
> Не понял а попроще можно? И это аналогии приплетай правильно.Евреи сделали новый истребитель. Летает шикарно, все дела. Но при переходе через звуковой барьер - крылья отваливаются. Разработчики что только не пробовали. Но крылья отваливаются и отваливаются. С горя пошли они к раввину...
- Так и так, сделали мы самолет, и все хорошо но - крылья отваливаются. Уж и так упрочняли их и сяк. Все равно отваливаются. Что делать?
- А вы наоборот, дырок в этом месте насверлите!Насверлили. Крылья не отваливаются. Охреневшие разработчики идут к раввину.
- А в чем прикол то? Как же так?!
- Вы туалетную бумагу видели?
- Конечно!
- А чтобы она по перфорации хоть когда-нибудь рвалась?Вот тут нужен - кто-то как тот раввин из анекдота. Заткнуть экспоненциальные взбрыки.
Вот только ни евреев, ни раввинов в оригинальном анекдоте нет - он про советскую однослойную туалетную бумагу, где перфорировали ещё жидкую целлюлозу, и там действительно более плотные перемычки между отверстиями легко выдерживали то напряжение на разрыв, которое рвало саму бумагу.
> как сделать чтобы оно в экспоненциальную сложность анализа не уходило на ряде кода из продаЭта проблема относится к исследовательскому прототипу.
Полониус над которым работают сейчас не имеет к этому коду никакого отношения - они учли опыт работы над прототипом и делают не только новую реализацию из общих принципов, но ещё и на другом языке программирования.
Поэтому да, аналогия неправильная, потому что новую систему никто не "сделал". Это как был экспериментальный прототип, так и остался.
Брать этот прототип и говорить что "ну вот смотрите всё круто сделали, только ничего не работает, вот же они лохи" - это называется bad faith argument в англоязычной культуре. В русскоязычной культуре подобного устоявшегося понятия нет в принципе, а значит и концепции закреплённой в голове нету тоже. Носителям великой культуры на заметку.
> Полониус над которым работают сейчас не имеет к этому коду никакого отношения
> - они учли опыт работы над прототипом и делают не только
> новую реализацию из общих принципов, но ещё и на другом языке
> программирования.Я так понял из описания полониуса на сайте хруста, что он еще не в проде в основном хрусте - потому что некоторые такие ситуации на реально существующем коде - все еще существуют.
> Поэтому да, аналогия неправильная, потому что новую систему никто не "сделал". Это
> как был экспериментальный прототип, так и остался.Я так понимаю что это несколько больше чем сие - и рассматривается ими как то на что они перейдут. Ибо может больше кода как safe пруфать, существующий боров местами необоснованно unsafe требует фигачить.
> Брать этот прототип и говорить что "ну вот смотрите всё круто сделали,
> только ничего не работает, вот же они лохи" - это называется
> bad faith argument в англоязычной культуре.А где тут bad faith и кто лохи то? Я немного запутался.
> Я так понял из описания полониуса на сайте хруста, что он еще не в проде в основном хрусте - потому что некоторые такие ситуации на реально существующем коде - все еще существуют.Ну он в найтли, то есть не стабилизирован, хотя любой может его включить если хочет. Он там для того и сидит, что бы проверять его на реальном коде. Но это не продакшен реализация, а именно исследовательский прототип, что бы алгоритмы обкатать. Зачем Нико это пытался делать на Даталоге - я хз, но ему виднее.
> Я так понимаю что это несколько больше чем сие - и рассматривается ими как то на что они перейдут. Ибо может больше кода как safe пруфать, существующий боров местами необоснованно unsafe требует фигачить.
Есть идея, а есть реализация. Полониус как набор идей - да, именно на него и переходят. Это будущее. А текущая реализация в прототипе - на выброс. Поэтому они написали, что учли проблемы обнаруженные в прототипе и сейчас пишут настоящую-полную-версию с нуля на расте.
> А где тут bad faith и кто лохи то? Я немного запутался.
На опеннете абсолютное большинство каментов про раст - bad faith. У людей цель создать максимальную токсичность, а не дать справедливую оценку. Они как старшеклассницы в школе тыкающие пальцами в создающую им конкуренцию девку, распускающие про неё сплетни.