После 8 месяцев разработки опубликован первый прототип Unix-подобного ядра Moss, частично совместимого с Linux. Код написан на языке Rust с ассемблерными вставками и распространяется под лицензией MIT. В настоящее время проект поддерживает только архитектуру Aarch64, может запускаться в QEMU и протестировано на платах Raspberry Pi 4, Jetson Nano, AMD Kria и imx8. По утверждению разработчиков ядро легко может быть портировано для других архитектур, таких x86_64 и RISC-V, благодаря прослойке для абстрагирования поддержки оборудования...Подробнее: https://www.opennet.me/opennews/art.shtml?num=64342
Если денег не дадут, спонсора не найдут, то сдохнет проект.
> частично совместимого с Linux ... проект поддерживает только архитектуру Aarch64Ниша использования пока никакая: ни совместимости, ни архитектур.
не, ну отлаживать изначально совсем совсем сырое ядро действительно проще на одноплатнике.
У которого отладочные комы и прочее. Поэтому выбор платформы разумный.
(все лучше одной куемы и то неточна)На современном писюке чтобы увидеть хотя бы отладочный выхлоп - надо уже всю ОС не только написать но и отладить до относительно рабочего состояния.
> чтобы увидеть хотя бы отладочный выхлоп - надо уже всю ОС не только написатьИ как только в прошлом веке ОСи писали...
В 70-е годы было проще, в некоторых суперкомпах был монитор и возможность в случае чего просто остановить выполнение и залезть в машинные коды, чтобы посмотреть чего там да как. Могу судить по СМ ЭВМ.
> В 70-е годы было проще, в некоторых суперкомпах был монитор и возможность
> в случае чего просто остановить выполнение и залезть в машинные коды,
> чтобы посмотреть чего там да как. Могу судить по СМ ЭВМ.Все эти возможности никуда особо и не девались. Это просто вы малость выпали из state of art. Тем временем даже у x86 есть жытаг. А если нет ttyS0 честного - есть debug USB.
Правда, пустят ли вас в жытаг и что им будет можно и проч - вопрос номер два.
> Все эти возможности никуда особо и не девались. Это просто вы малость выпали из state of
> art. Тем временем даже у x86 есть жытаг.только ты с него ни память не прочтешь, ни регистры процессора не посмотришь.
Даже если бы знал, как им в принципе управлять и он торчал бы наружу.> А если нет ttyS0 честного - есть debug USB.
вот и иди пиши СРАЗУ без отладки работающий usb стек. На нескучном йезычке. Как напишешь - приходи. Все остальные части ос, без которой этот стек работать тоже не может - ну там, управление памятью, обработка прерываний хотя бы минимальная, начальный загрузчик - разумеется, тоже с тебя. Как все допишешь - уже сможешь отлаживать остальное.
А обычный serial обходился драйвером строк в сорок-пятьдесят (и да, без единой ассемблерной команды). Можно как-то осилить написать с первой попытки почти работающий. Даже на нескучном и для арм.
В общем ты опять показал что ни в чем не разбираешься. Зато про жытаг слышал.
слушай, твои знания о JTAG отличаются от того, что известно публично. JTAG это аппаратный отладчик. ты можешь останавливать процессор, смотреть регистры и прочее. у тебя есть доступ к памяти или сразу (на мелко
контроллерах) или после инициализации контроллера памяти.
вот иногда пишешь дельные вещи, иногда такой бред...
> только ты с него ни память не прочтешь, ни регистры процессора не посмотришь.Как таковой JTAG нужен для именно этого. Правда на x86 насколько я помню чудаки на другую букву из интела имеют свое мнение на тему того куда можно и нельзя смертным. И возможно для этого надо как минимум OEMский уровень platform debug, вот тут я не уверен, ибо не люблю x86 и предпочитаю такую развлекуху с ARM. В основном - потому что там как-то реальнее хозяином платформы быть чем на x86, где вы уже давно - голимые GUEST с далеко не максимальными правами и покоцаными фичами.
> Даже если бы знал, как им в принципе управлять и он торчал бы наружу.
Он и торчит наружу. В каждом цук PCIe разъеме. А для тех у кого и этого наружу нет, есть debug USB. А как ты думал дебажат всякие libreboot'ы и проч? Там только 1 какой-то разъем для этого юзается - и вот именно debug достаточно прост в поднятии для того чтобы даже бутлоадеры и early startup ядер в него могло уметь.
Понимаешь ли, такой дебаг имеет смысла - для platform bringup. Когда именно нихрена не работает и хрен его знает почему. Посмотреть на регистры или сплюнуть трейсфлоу прогресса что мы там делали (ака debug printf) - бывает достаточно полезно. При том трейсфлоу инициализации даже полезнее. Ибо по регистрам ты будешь довольно долго одуплять что допустим все словило клин при ините вон той железки. А если это "intializing wtf..." и тишина - пойдешь смотреть этот код и думать что с ним не так.
> вот и иди пиши СРАЗУ без отладки работающий usb стек.
Там насколько я помню очень минимальный subset, при том это x86-specific и только для 1 разъема. Народ юзает сие для libreboot и прочего такого.
> На нескучном йезычке. Как напишешь - приходи.
Вот как этот хедкраб отлиживают - и насколько сложно на нем написать вон то - я понятия не имею. На сишке я делал bring-up с ноля, но - штук попроще и таки ARM.
> этот стек работать тоже не может - ну там, управление памятью,
> обработка прерываний хотя бы минимальная, начальный загрузчик - разумеется, тоже с
> тебя. Как все допишешь - уже сможешь отлаживать остальное.Насколько я помню загрузчики типа libreboot через тот usb народ и дебажит. Ибо это какой-то очень минимальный вариант урезанный для именно дебажных коммуникаций. И его как правило только 1 разъем умеет на платформе.
> А обычный serial обходился драйвером строк в сорок-пятьдесят
Ты знатно покапитанил. Учитывая что я такое еще и сам писал, да :)
> В общем ты опять показал что ни в чем не разбираешься. Зато про жытаг слышал.
Ну да, кроме того что несколько arm железок bring up-нул с ноля. А ты показал что у тебя гонора дофига, как обычно. Правда будем честны - x86 я и правда не лю. Гиморный он на системном уровне. И враждебный. И огороженный. Одна из причин по которым ARMы в этом смысле куда открытее, и uboot для почти всего есть, в отличие от libre/core boot.
> Как таковой JTAG нужен для именно этого. Правда на x86 насколько я помню чудаки на другую
> букву из интела имеют свое мнение на тему того куда можно и нельзя смертным.В общем, опять мифы и легенды.
На деле в такой сложной штуке как современный интел - хрен ты чего посмотришь. Тебе там для этого обвязка сравнимая по сложности с еще одним процессором и чипсетом понадобится. Если даже там и есть торчащий наружу а не теоретически только возможный порт - в нем какая-нибудь отладка самого процессора и может пресловутого ME. Поможет - инженеру интел, объяснить оему где тот не справился с управлением. И то если повезло.
> Насколько я помню загрузчики типа libreboot через тот usb народ и дебажит.
ААа, вот почему у них поддерживаются те пять плат из позднего кайнозоя.
(где как раз видимо есть не-usb, или его останки)> Ибо это какой-то очень минимальный вариант урезанный
как тебе при таких познаниях удается что-то отлаживать? А, ну да... это ж у тебя программа уровня pic, ничего не умеющая кроме светодиодика и то не всегда.
Какой бы там ни был "минимальный" - тебе надо: проинитить память (щас она тебе понадобится!), проинитить шину (он к ней подключен, а не к ногам процессора и скажи спасибо если чо полегче pci), проинитить хаб (нет, usb по другому не умеет, кто-то должен тому цому обеспечить хост). Вот теперь можешь сэкономить свои три байта на инициализации собственно устройства.
Оно такое даже есть не только в легендах, но... для клавиатур и мышей, ага. Доступ в обход HID. Потому что usb hid - отдельный сверхсложный для такой тривиальной задачи стек, его трудно реализовывать в каких-нибудь начальных загрузчиках было, а нажать F1 to continue хоть чем-то было надо.
А в serial ничего сложного нет. Сложное - чтоб до этого сериала вообще как-то добраться сперва. Пол-ОС уже должно работать, и работать надежно. А то еще и цом свой повесишь нафиг, он потерянных операций не любит.
А в несупер компах (юникс сперва писали для списанной уже никому ненужной девятки, правда тот как раз был ассемблерным) просто нажимали клавишу на пульте - и можешь с диодиков считать память. Хоть всю, если не затрахаешься. Да и текущую команду тоже, у них был совершенно человекочитаемый формат.> Могу судить по СМ ЭВМ.
видимо тебе досталась 1420. У 3 и 4 никаких мониторов еще не было, но пульт и диодики были. Собственно, для запуска надо было с этого пультика на 4 набрать правильный адрес, а на 3 и с полсотни команд.
А вот Линус хрен его знает как отлаживался. Но у 386 не было управления кэшем, и были ком-порты. Уже можно было как-то что-то прочитать даже если все совсем пошло не так. (и таки и десять лет спустя дебаг через комы еще был живой и пригодился, когда все остальные средства оказались давно поломанными и нерабочими)
К 486 подозреваю у него уже айс-бокс был под рукой. (ага, это те самые пультики в новой инкарнации) Ну или куратор из интела, подсказывавший как и что делать.
У free и прочих bsd был kernel debug. Можно было поиграть в виселицу, если больше от системы уже ничего не осталось.
Кстати, у sun os тоже был. "Почему нельзя отсоединять консольный serial терминал если он у тебя откуда-то взялся вместо штатной сановской консоли".
>> Могу судить по СМ ЭВМ.
> видимо тебе досталась 1420. У 3 и 4 никаких мониторов еще не было, но пульт и диодики были.Ты эта, того ... третья стойка слева (после дисковых):
http://ineum.ru/files/51ee64/106487/1a9a45/000000/fit/616x31...Беленькие, синие, красные и жёлтые пимпалки :) Врубаешься что это?
Так что прошу на нашу девочку СМ 1420 батоном не крошить, она не такая!(С) :)
PS: В те времена я и не припомню чтоб по другому было... Это сейчас ынженегерных пультофф не бывает, ну вернее бывает, но это - лаптоп со спец-программой и кабелем, а не вот эта вот красотЪа!(С) :)
> Ты эта, того ... третья стойка слева (после дисковых):блестящие железяки торчащие по краям видишь? Штатно этот пульт у нее был закрыт крышкой, чтоб ты переключатели не поотламывал, они хрупкие, это от нее крепеж торчит, и никогда не открывался, ключ торчал наружу через дырку в крышке. (И у поздних по-моему мог быть вообще не установлен, типа ценное место в стойке еще какой-то блок занимал. Хрен их знает зачем им понадобилось сперва уменьшать высоту стойки чтоб потом ничего не помещалось. Наверное в хрущебе у генерального конструктора были очень низкие потолки.)
Для загрузки просто на консольном терминале набираешь что-то вроде g dp0 обычной клавиатурой, и поехали.
А вот у 4 никакой крышки и в помине не было, там надо было с этих переключалок ручками адрес загрузчика в правильное место положить и потом "пуск" нажать. (адресов было ровно три - ленточный, дисковый и перфоридер, кажись). У 3 вроде и такого не было, в смысле не было загрузчика в пзухах, его тоже ручками весь.
ну и соответственно - помимо "g" тот монитор еще много чего умел, лазить к пульту корявками было уже незачем.
> пульте - и можешь с диодиков считать память. Хоть всю, если
> не затрахаешься. Да и текущую команду тоже, у них был совершенно
> человекочитаемый формат.Жытаг это оно и есть. В сериализованном виде. Ибо больше оптимизировано на автоматическое этосамое соседним компом. Но если ты большой фанат картинки с програмером где 1, 0 и Enter то в принципе несколькими тумблерами можешь и вручную его наклацать. Но он все же next gen оптимизнутый для ситуации когда у тебя уже есть другая работающая компьютерная система, хотя-бы МКшка какой, а кучупинов на это гробить не хочется.
То что по мере роста сложности систем вон те умники придумали дебаг отключать чтоб такие как ты не лазили в ИХ железе и секретах это другой вопрос. А то еще поставишь колом ME какой - и как тебя потом менеджить, редиску этакого?!
Конечно можно вачдог поставить - и через полчаса в скафандре кончается воздух, и ты или куда сговорчивее, или кхр, кхр, poweroff -> хватит с тебя свобод.
> А вот Линус хрен его знает как отлаживался. Но у 386 не
> было управления кэшем, и были ком-порты.Представляешь - я отлаживался и ДО того как сериальные порты заработают. Вот ведь магия. И если ты такой о...ть эксперт - ты мне и скажешь как я это делал. Тебе как эксперту должно быть как 2 байта переслать, не? И ты минимум несколько вариантов накинешь же мне? Ну так, наезды на меня - имеют свою цену. И сейчас мы узнаем чего ТВОЯ экспертиза стоит.
> У free и прочих bsd был kernel debug. Можно было поиграть в
> виселицу, если больше от системы уже ничего не осталось.Ну поиграй на современном компе хоть во что при невзлете допустим PCI(-e) :). А, да, я и такое зарулил. Но таки - даже на относительно новом компе на мое счастье был - тадам - ttyS0. Правда только на гребенке, но если очень приспичило то на соседний комп подцепить все же хватит. С ноутом сие будет значительно обломнее, да.
> Представляешь - я отлаживался и ДО того как сериальные порты заработают.это работает только на твоих поделках с китайской помойки. А не на x86. Даже времен 386.
(Впрочем, подозреваю на современных армах тоже нихрена не.)И никаких ttys0 что характерно - тоже давным-давно нет.
Отлаживать изначально совсем сырое ядро проще в виртуальной машине
Дико тормозно (тем более не x86), неудобно, ненадежно (непонятно вообще что ты там будешь отлаживать - то ли ведро, то ли виртуализатор).Это разьве что если оно уж совсем еще в стадии "даже начальный загрузчик не работает, а почему - непонятно".
Попробуй - убедишься.
> Дико тормозно (тем более не x86), неудобно, ненадежно (непонятно вообще что ты
> там будешь отлаживать - то ли ведро, то ли виртуализатор).Вот это таки да. Qemu с моей фирвари радостно роняет проц в исключение. А на реальном железе - работает. И вот что я отдебажил? А, узнал что эмуляция вон той шляпы весьма incomplete? Нуок, отладился, типа :)
Отладился - патч давай! Будет хоть какая-то человечеству польза. От этих хрустишек даже такой не могло быть - зачем куеме патч на хрусте...(не, я конечно тоже ниасилил, "года мои не те, дрова пилить". В следующей жизни, ну или через одну.)
> Отлаживать изначально совсем сырое ядро проще в виртуальной машинеЕсли на штеуд-пЫсИ, для которого ВМ вылизали уже почти до полного соответствия, то таки - да.
А если экзотика какая? Не факт что к ней вообще эмуль есть...
>> Отлаживать изначально совсем сырое ядро проще в виртуальной машине
> Если на штеуд-пЫсИ, для которого ВМ вылизали уже почти до полного соответствия,
> то таки - да.Ну ты и отладишь себе там 440FX или что там - "QEMU Standard PC" который. Или в лучшем случае Q35 если на инновации потянуло. Остается только придумать где потом такое железо в RL взять.
А в виртуалках для целей контейнеризации, дележа ресурсов и проч - вообще-то virtio во все поля. Ибо слать директом данные по простым протоколам хосту неизмеримо быстрее чем трахаться с эмуляцией ваших 100500 регистров всякого ископаемого ненужно. И да, вот так то оно быстрое. Но вот именно ничему железному как раз и не соответствует. Это именно явное знание гуеста что есть хост - и ему можно через thin shim данные пулять без тех извратов с регистрами.
А ежели вот именно тем порно с регистрами заняться - скорость будет как хтонически позорной. Ну а что вы думали виртуализаторы как "acceleration" делают? :)
Ни фич
> Из существенных ограничений отмечается отсутствие сетевой подсистемы
> и наличие лишь... ФС Fat32 в режиме только для чтения
>> частично совместимого с Linux ... проект поддерживает только архитектуру Aarch64
> Ниша использования пока никакая: ни совместимости, ни архитектур.Зато на корпоратоугодной пермиссивщине и на модном языке. Дело за малым - найти немамонтов, готовых это дело раст-раст и в продакшон за кувшинчик смузи и чашечку лавандового рафа! Статья как раз об этом ;)
Прогресс не остановить. Есть спрос на безопасный код и на безопасные ОС. Если Линукс не хочет переписываться на Rust, то будет создан конкурент. Как бы этому не противились адепты устаревшего Си.
ага, ты встанешь с дивана и создашь. наверное к 2030 году
> ага, ты встанешь с дивана и создашь. наверное к 2030 годуПопрошу. Встать с дивана к 2030 вполне реалистичный план.
нельзя так перетруждаться.
Так это же замечательно! Создавайте "конкурент", оставьте в покое ядро Linux, GNU утилиты и все остальные и без ржи работающие проекты; пилите его, хольте и лелейте. И пусть победит сильнейший.
> GNU утилиты и все остальные и без ржи работающие проектыЕсли шо сразу надо оговориться. Я не за белых и не за красных. Я мимокрокодил.
Ладно, опустим ядро.
ГНУ утилиты на расте чем не устраивают?
Чисто с пользовательской точки зрения, не вдаваясь в религию.
Так религии здесь не при чём. На кону свобода пользователя.
Хорошо. Как ГНУ утилиты мешают свободе пользователя?
Они, наоборот, эту свободу защищают. А "ГНУ утилиты на расте", в том виде, как они есть - нонсенс. Ибо утилиты GNU, даже если FSF их и захотят когда-либо переписать на Раст, будут под GPL.
И что? Это утверждение или отрицание? Почему они нонсенс, если в следующем предложении вы как-бы доказываете обратное.
Спроси лучше у Ubuntu и Cloudflare.
> CloudflareСпросил.
Клаудфаря опустила глаза в пол, и сказала что в прошлый раз из-за сишной дырени несколько месяцев утекали пользовательские данные. А в этот всего лишь пару часов инета не было.Поэтому предалагаю спросить у GRUB2, GIMPа и блютуса на андроиде.
Они много чего могут рассказать :)
> пользовательские данныеНикто не может сказать, что именно утекло, и как это использовать.
> Никто не может сказать, что именно утекло,Кукисы точно утекали. В тестовом прогоне пароли не утекли, но они сами пишут
"Since this is just a sample, it is not correct to conclude that no passwords, credit cards, health records, social security numbers, or customer encryption keys were ever exposed."
blog.cloudflare.com/quantifying-the-impact-of-cloudbleed/> и как это использовать.
Те, кто целенаправленно выкачивали данные с минимум 7 айпишников скорее всего знают как))
> выкачивали данные с минимум 7 айпишниковИ как результат - что-то сломали? Пока что ущерб в миллиарды долларов от раста больше, чем от этих неуловимых хакеров.
И что? Возможно мои кукисы отсюда ежедневно утекают. То есть, целенаправленно передаются в ответственную организацию. И как мне в этом случае поможет раст?
>ГНУ утилиты на расте чем не устраивают?build-time зависимостью и тяжёлым std.
В принципе, если оно будет собираться gccrs без cargo, тащащего сотни тысяч заивсимостей, а для системных утилит будет сделан, например, какой-нибудь компактный gstd вместо std, может быть и будет хорошо, но для такого слишком далеко и пока что проще новый язык сделать, чем сделать такое на rust
>build-time зависимостью и тяжёлым std.Дыряшечники как всегда лгут. Вот ну не собирается ни llvm ни gcc быстро, ибо написаны на крестах. Каждый крестописатель ненавидит быструю сборку, проект должен собираться часа два, а ещё лучше четыре как минимум. Вот увидят крестовики скорость работы go или ocaml-а, так их сразу же со стула скоростью сборки сдует.
Это забавно, но скорость компиляции Rust ещё медленнее чем у C++ и C:)
Это забавно, как без малейших доказательств одну и ту же ложь тоскают из новости в новость. Мои слова о долгой сборке gcc/llvm проверяются хоть школьником, который соберёт их, ваши - ничем. Ибо существуют проекты на rust(не hello world), которые собираются гораздо быстрее, чем за пять минут.
Собери компилятор rust rust'ом.И компилятор c++ компилятором c++.
Никаких проблем провести такую проверки нет.
>Собери компилятор rust rust'ом.Ага, учитывая тот факт, что он зависит от llvm.
>И компилятор c++ компилятором c++.Сравнивать нужно минимально похожие вещи. А то договоримся так до сравнения сборки tcc и gcc.
Ты собрал. Или поп.. гкхм.. поп... гкхм... попонтоваться зашел?Сложность и количество строк кода сопоставимое.
>Сложность и количество строк кода сопоставимое.Сколько можно повторять эту глупость? Чуть ниже приведена ссылка, как пять строчек кода на крестах компилируются больше 2 секунд.
Так ты пробовал собрать компиляторы или нет?
>Мои слова о долгой сборке gcc/llvm проверяются хоть школьником, который соберёт их,Приведи соизмеримый по сложности проект на раст, тогда предметно обсудим скорость сборки. (И да, о чём это должно вообще говорить?)
Пока наблюдается факт, чтл несколько ревьюверов в клаудфларе пропустили большую бажину. Почему? Да потому что на самом безопасном читать невозможно - полный мусор
>Приведи соизмеримый по сложности проект на растЗачем его приводить, если у кресовиков уже есть крайне долго собирающийся gcc/llvm? Одной зависимостью времени сборки больше, одной меньше, погоды это не сделает. У вас десятилетиями нет возможности собрать систему быстро, но проснулись почему-то только сейчас и только по отношению к расту, хотя что си, что кресты давно пора выкинуть ради времени сборки.
И да, время сборки зависит не от размера проекта, а от того, насколько качественно проектировали язык. Как несложно догадаться, что у си, что у крестов с этим проблемы.
https://www.opennet.me/opennews/art.shtml?num=56449 Опубликован набор патчей, ускоряющих сборку ядра Linux на 50-80%
Или вотhttps://habr.com/ru/companies/jugru/articles/438260/
>Оно собралось за 2.92 секунды
>Если вы вдруг подумали, что «меньше 3 секунд» — слишком маленькое время, то совершенно нет. За три секунды современный CPU может произвести несметное число операций. Например, за какое время clang сможет скомпилировать настоящий полноценный движок базы данных (SQLite) в отладочном режиме, включая все 220 тысяч строчек кода? За 0.9 секунд на моём ноутбуке. В какой такой вселенной стало нормальным, чтобы тривиальный пример на 5 строчек компилировался в три раза дольше целого движка баз данных?И вот таких вот примеров кода, которые пятью строчками тормозят компиляцию на несколько секунд в условном хромом может запросто набраться более чем на день непрерывной сборки.
>Пока наблюдается факт, чтл несколько ревьюверов в клаудфларе пропустили большую бажинуНу и? Как наличие багов на расте отменяет баги на си?
>И да, время сборки зависит не от размера проекта, а от того, насколько качественно проектировали язык.Время сборки зависит в первую очередь от стадий оптимизации. Вон tcc компилирует вообще моментально, но почти без оптимизаций
>Как наличие багов на расте отменяет баги на си?
Никак. В любых программах встречаются баги.
В зависимости от языка - разной специфики.
У C и C++ - возможен выход за границы и повторное освобождение, у brainfuck и rust - безумный синтаксис и невозможность провести ревью
>Время сборки зависит в первую очередь от стадий оптимизации.Вам буквально в прошлом сообщении объяснили, что вы не правы, а вы опять продолжаете. Половину сборки времени в случае с ядром linux занимает ВНЕЗАПНО разбор кода. Поменяй структуру include файлов и сборка сама ускорится. Что можно оптимизировать в пяти строках на крестах - вопрос полностью аналогичный.
>у brainfuck и rust - безумный синтаксисСинтаксис первого языка вообще элементарен, даже проще сишки, с её ++i + ++i, синтаксис второго языка тоже не то чтобы сложен.
>Зачем его приводить, если у кресовиков уже есть крайне долго собирающийся gcc/llvm?Затем, что на безопасненьком ничего соизмеримого пока не написано. Разговоры одни
Аноним спрашивал про пригодность утилит с точки зрения нормального пользователя, а не гентушника. Нормальный пользователь пользуется тем, что дают, а не занимается постоянной пересборкой мира.
>а не гентушникаГентушники знали, во что ввязывались. Просто о сборке chromium, libreoffice, gcc и прочих крестоподелий такие персонажи умалчивают, а то получится неудобно.
нормально себе собираю на нетбуке i5-1130g7 firefox (долго, правда, из-за раста), gcc и либруно обычно есть distcc до нормального компа на той же генте и ccache
раз в неделю на ночь поставить ноут не проблема, а на компе весь мир за пару часов пересобирается
это всё с pgo/lto
раст не умеет ничего из вышеперечисленного
если лень собирать что-то большое - есть биндист. хотя обычно он нужен только сразу после установки, пока своё ещё не собрал
>нормально себе собираю на нетбуке i5-1130g7 firefoxFirefox собирается относительно быстро, Chromium собирается медленно, безотносительно других проектов.
>раз в неделю на ночь поставить ноут не проблемаКак насчёт пары суток? Хотя я не знаю, возможно на современных бюджетных ноутбуках он будет собираться ещё дольше.
> Как насчёт пары суток?если ты про хромиум, то никак: там не uBO == это не браузер
Очень рекомендую собрать, можно хоть версию до раста, для получения незабываемых впечатлений.
Кстати говоря, когда rust будет собираться через gcc, время компиляции генты с нуля тоже упадёт.
> ГНУ утилиты на расте чем не устраивают?тормоза, большой размер бинарников, двойной вендорлок (компилятор с проприетарной лицензией + репозиторий^W магазин библиотек), отсутствие возможности пойти и самому что-то поправить из-за уродского синтаксиса и саботирующего компилятора
>тормозаДоказательства?
>большой размер бинарниковА с чего вы взяли, что он большой? Слинкуйте всё статически, у вас и на си будет вполне сопоставимо.
>компилятор с проприетарной лицензиейОпять ложь
>отсутствие возможности пойти и самому что-то поправить из-за уродского синтаксиса и саботирующего компилятораКомпилятор мешает вашим шаловливым ручкам портить память, и вы же его в этом и обвиняете. Не пишите ни на си ни на крестах тогда.
Вот поддерживаю медведя.
Пилите проект рядом, и покажите на деле то, что утверждаете - что технология и проекты на ней на голову лучше чем на C.>>Как бы этому не противились адепты устаревшего Си.
"Адепты" С ни этому противятся. Пишите на rust сколько влезет, только не надо его везде агрессивно припихивать сишникам в их проекты на C.
> Пилите проект рядомЗачем делать двойную работу? То что раст лучше си, потому что практически что угодно лучше чем си - это просто очевидно. Поэтому нужно улучшать имеющийся проект, а не писать дубль.
> только не надо его везде агрессивно припихивать сишникам в их проекты на C.
Так сишники и не против. Ну, те кто реально пишет проекты на си, а не треплет языком на форумах. Авторы ядра вроде Торвальдса и Грега поддерживают раст.
> Так сишники и не против. Ну, те кто реально пишет проекты на си, а не треплет языком на форумахТы зачем так жестоко с ребенком? У него же депрессия случится)
>те кто реально пишет проекты на си, а не треплет языком на форумах. Авторы ядра вроде Торвальдса и Грега поддерживают раст.Давным давно они ничего не пишут (кроме постов на форуме).
А там вон выше пишут, что не хотят linux на ржавчину переписывать. Вы уж определитесь там сначала с общей линией пропаганды...
> Авторы ядра вроде Торвальдса и Грега поддерживают раст.Колеблются вместе с линией партии или, по-английски, I support the current thing.
>Пилите проект рядом, и покажите на деле то, что утверждаетеАга, переизобретайте велосипед. Между появлением проекта такого масштаба и хоть каким-то результатом, большим, чем просто запустить в виртуалке на пять минут - огромная пропасть.
>только не надо его везде агрессивно припихивать сишникамРано или поздно, абсолютно любой человек, смотрящий на си осознаёт, что писать на си сколь угодно надёжные проекты попросту невозможно - там неопределённое поведение, а тут гарантированная порча памяти. И у сишника есть выбор - либо стать падшим дыряшечником, либо что-то делать с си. Сейчас уже не нулевые на дворе, и при минимальном желании можно узнать о доказательстве надёжности кода. Вот кто мне скажет, почему сишечники так избегают использования даже тех статических анализаторов которые уже есть для си? Хотя учитывая сишную семантику, много от них можно не ждать.
>в их проекты на C.Позвольте дыряшечникам поставлять дырявые программы всем остальным. Ибо осознанное желание дыряшечников - делать дыры.
>Рано или поздно, абсолютно любой человек, смотрящий на си осознаёт, что писать на си сколь угодно надёжные проекты попросту невозможно - там неопределённое поведение,Отучайтесь говорить за всех.
Что за мантра такая про UB? Деление на 0 интов что должно делать?
Покажите двусвязанный список на своём расте, а до этого все разговоры безсмысленны.
>Что за мантра такая про UB?Это не мантра, это суровая реальность. Благодаря UB компилятор перевирает код программиста до неузнаваемости. А мог бы показать ошибку компиляции.
>Деление на 0 интов что должно делать?Например, устанавливать флаг ошибки, а не затирать молча if-ы. https://habr.com/ru/articles/827752/
>Как показано в данном примере, clang опирается на тот факт, что деление на ноль — это неопределённое поведение. Соответственно, argc ни в коем случае не может быть равен нулю. Соответственно, условие if (argc == 0) полностью исключается, поскольку известно, что такой случай никогда не произойдётИли по вашему это нормально?
>Покажите двусвязанный список на своём растеПросвещайтесь https://rust-unofficial.github.io/too-many-lists/
И да, возможность создания двусвязного списка никак не искупает наличие UB.
> Или по вашему это нормально?Вот в данном конкретном случае нормально абсолютно. argc меньше 1 быть не может принципиально.
И дело тут не в делении.
Ибо первым параметром argv является имя программы. Как программа запустилась без имени?
>Благодаря UB компилятор перевирает код программиста до неузнаваемости.Вы бы для начала прочитали бы чтоль о чём вообще ub в стандарте. Это неоднозначные ситуации не имеющие логического продолжения поведение в которых отдано на усмотрение компилятору.
> Просвещайтесь
Так и знал что не покажете.
> Вы бы для начала прочитали бы чтоль о чём вообще ub в стандарте.Вы бы сами прочитали!
> неоднозначные ситуации не имеющие логического продолжения
> поведение в которых отдано на усмотрение компиляторуэто implementation-defined behavior, а не undefined behavior.
А undefined behavior это отрыжка дидов-стандартизаторов "а х..й его знает, как оно должно быть, этого вообще не должно происходить, но вы там как-то сами разберетесь"
Ты или изображаешь полного или им являешься.Ибо почти все решения в стандарте обусловлены необходимостью работать на разных архитектурах с разным поведением.
> обусловлены необходимостью работать на разных архитектурахКонешно нет, для этого в стандарте есть implementation-defined.
А UB - это для
1) упрощения компиляторов - разрешить им не искать ошибки
2) типа, развития языка - стандарт поведение не определяет, а компилятор может определить - ему даётся возможность расширять язык, не нарушая стандарт (-fno-strict-aliasing, например)
3) глупых оптимизаций - чтобы компилятору не надо было доказывать безопасность оптимизации и не надо было давать программисту средства для явного формулирования контракта, пусть он запоминает все UB и избегает их вручную (а компилятор оптимизирует исходя из невозможности UB) - вариант, приемлемый для 80-х1-2) https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.1...
3) Это основная проблема и это применение не упомянуто в rationale - видимо, случайно так вышло, у комитетов бывает такое. Ошибку заметили (начали замечать) всего через ~35 лет (на самом деле, только один комитет из двух): придумали erroneous behavior (это как UB, но с указанием для компиляторов "отставить х***ю") и заменили им UB в одном месте. erroneous behavior. well-defined behavior that the implementation is recommended to diagnose*.
* https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p27...
> Конешно нет, для этого в стандарте есть implementation-defined.Для особо одарённых.
До C++20 переполнение целого было UB. Ибо на разных платформах целое могло быть Ones' complement, Two’s complement.
И результат на разных архитектурах был разный.
> Для особо одарённых.В зеркало посмотри.
Чтобы охватить разные платформы, есть implementation-defined (и заодно [implementation-]unspecified) - что тебе ещё не ясно, неодарённый?
Переполнение при арифметике оставили UB[1] - ты гарантируешь, что не будешь подавать числа, ведущие к знаковому переполнению, компилятор использует эту гарантию для тупых оптимизаций, всё как раньше.
Переполнение при приведении типов сменили с implementation-defined на well-defined[2] (формулировка там - отпад, в стандарте мало кто поймёт, но по зачеркнутому тексту в proposal'е на proposal понять можно).
[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p12...
[2] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p12...
> Переполнение при арифметике оставили UB[1] - ты гарантируешь, что не будешь подавать числа, ведущие к знаковому переполнению, компилятор использует эту гарантию для тупых оптимизаций, всё как раньше.Оставить то оставили. Но явно обоснованной причины теперь нет. Теперь на разных платформах сработает одинаково. Формальных отличий с беззнаковыми теперь нет.
То есть теперь ситауация полностью идентична, что для знаковой, что для беззнаковой, но знаковая UB а беззнаковая нет.
Но зачем игнорировать почти всё написанное?..> Но явно обоснованной причины теперь нет. Теперь на разных платформах сработает одинаково
Я повторю - UB не имеет отношения к разному представлению знаковых чисел, для этого есть слово implementation-defined.
То есть причина не изменилась после утверждения дополнительного кода как единственного представления.
Что за причина? На практике это оптимизации. Ты пишешь код, зависящий от знакового переполнения, компилятор его выкидывает: https://godbolt.org/z/c3ef9s5sK
Была ли именно эта причина в голове у комитетчиков? Ну, слушай, сишный комитет определил бит таким образом, что байт - это тоже бит. Плюсовый комитет однажды[1] спохватился и выдал документ, что им неизвестно определение бита. И бросился переписывать стандарт, чтобы отложить для дальнейшего рассмотрения "более масштабные вопросы определения «бита» и т.п." (larger questions of defining “bit” and the like) - принятый P1236R1 это P0907R4, переписанный так, чтобы вместо "bit" стояло "range exponent". В итоге сошлись на "width" (не будем спрашивать, в чём она измеряется, комитет нервничает). Возможно, они забыли, что являются частью ISO/IEC, у которого есть определение бита в ISO/IEC 2382, на который и ссылается стандарт плюсов на третьей странице... но ссылку поставили в прошлом тысячелетии, много с тех пор воды утекло, можно и забыть.
То есть нужна поправка на плотность накурки. Если снова вчитаться в Rationale[2], то
- там не видно намёков, что UB хотели сделать для оптимизаций
- видно намёк, что словом UB хотели охватить архитектуры с trap on signed overflow (или флаг -ftrapv)
- видно намёк, что не считают UB проблемой из-за популярности "implementations with two’s-complement arithmetic and silent wraparound on overflow", на которых авторы стандарта, видимо, хотели видеть отсутствие UB[1] https://stackoverflow.com/a/54664839
[2] https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.1... (и дальше по слову "wrap")
> - видно намёк, что не считают UB проблемой из-за
> популярности "implementations with two’s-complement
> arithmetic and silent wraparound on overflow"Там три раза проговаривается "silent wraparound" / "quiet wraparound" / "may be undefined. [But] In practice...", словно это имеет значение. А это имеет значение только в том случае, если компилятор не перегибает с трактовкой UB.
> Что за причина? На практике это оптимизации. Ты пишешь код, зависящий от знакового переполнения, компилятор его выкидываетТеперь возникает вопрос. Почему не сделано точно так же для беззнакового переполнения? Или наоборот: Почему для знакового не сделать точно так же как для беззнакового?
Теперь они стали абсолютно идентичными в плане поведения.
> То есть теперь ситауация полностью идентична
> ...
> Теперь они стали абсолютно идентичными в плане поведения."Папа, где море?"
Всегда было UB / никогда не было UB
Есть -ftrapv / нет аналога -ftrapv[1]
Ставит overflow flag / ставит carry flag
У оverflow оттенок исключительной ситуации / K&R: "can never overflow"
Это всё в пользу бедных. Отказ убирать UB комитетом - явная косность мышления.
> Это всё в пользу бедных. Отказ убирать UB комитетом - явная косность
> мышления.Так ведь оптимизации и с чего бы им что-то продавливать без консенсуса с Clang и GCC.
В стандартном C/C++ нет движения в сторону безопасности в ущерб оптимизациям, а UB не запрещает при желании определять поведение флагами компилятора[1] - вместо обычных оптимизаций на допущении об отсутствии UB в программе.
Если хочется гарантий в рамках стандарта, то типа вот вам ckd_add(). И оно даже работает, в отличие от профилей[2]!
[1] в GCC шли разговоры о том, чтобы всё подобное запихнуть во что-то вроде -Oboring
[2] Страуструп после неприятных новостей от американских органов сказал, что плюсы будут удовлетворять запрос на безопасность за счёт системы неких профилей. Создал 2 года назад заглушку на гитхабе и больше её не трогал.
https://github.com/BjarneStroustrup/profiles/commits/main/
> Деление на 0 интов что должно делать?Смысл в том, что ты можешь не получить SIGFPE в ожидаемом месте, потому что компилятор уберёт деление, если его результаты дальше требуются только в ветках, зависящих от условия "деление на ноль произошло".
Ты смотришь на код сверху вниз: одна функция вызывает другую, та вызывает третью, там сложные условия, вроде все осмысленные... Если где ошибка и есть, она будет локализована в функции, даже [[gnu::noinline]] напишем для верности.
Тем временем компилятор: это заинлайним и уже видно, что в "осмысленную" ветку можно попасть только после деления на ноль - значит она std::unreachable, удаляем её, а в других ветках результаты деления не нужны, его тоже удаляем. А на noinline пофиг - то, что ты считаешь инлайнингом, то компилятор считает другой формой межпроцедурного анализа и хочет видеть noipa.
> Шайка социалистов дармоедов Гну должна быть уничтожена. Кажется тут есть консенсус в
> сообществе последние лет 7. Вылазьте из танкаТолько когда таким как ты мы открутим бошку, а останки доедят твои же коллеги-корпораты - не удивляйся уж и не спрашивай за что. Ты же сам первый агрессию начинал, а с агрессорами надо делать известно что.
> Разработчики ядра линукс не считают, что их кто-то не оставляет в покое.
> Наоборот - сами переписывают куски на раст) Они все ничего не
> понимают, включая Линуса, да?)Дык там есть всякие забавные вещи типа gccrs :). Но сабжу он явно не понадобится...
Это же разные люди, те кто создают новое ядро и те кто пилят текущее. К кому вы обращаетесь? К тем старым разработчикам ядра, которые не против затащить туда раст? Возможно, они мыслят стратегически и понимают, что если не переведут потихоньку ядро на безопасную кодовую базу - то проиграют на длинной дистанции. А вам остается только терпеть, потому что вы не принимаете участия в разработке.
Прогресс не остановить. Есть спрос на безопасный код и на безопасные ОС.Прогресс это когда всё меньше надо зоботиться о безопасности. )
> Есть спрос на безопасный код и на безопасные ОС. Если Линукс не хочет переписываться на Rust, то будет создан конкурент.Безопасный код с ассемблерными вставками?
> Безопасный код с ассемблерными вставками?Нет, с unsafe.
https://github.com/hexagonal-sun/moss-kernel/blob/master/src...
а теперь вопрос знатокам. Зачем издеваться надо собой создавая ядро на расте если весь код состоит из большого unsafe ?
Код состоит из одного большого unsafe, если ты пишешь на си. Ключевое слово unsafe в Rust нужно для отделения автоматической и ручной верификации определённых свойств. В сишечке у тебя требуется ручная верификация для всего. В расте только для небольших локализованных участков кода.Похожего можно добиться в си, если обложиться кучей тулзов статистического анализа. И с этой точки зрения unsafe это что-то из серии "вот тут кусочек анализа не применять, я ручками всё сделаю".
Нюанс в том, что статистический анализ плотно и глубоко интегрирован в раст. Намного удобнее пользоваться, что ведёт к продуктивности.
Почему ты рекомендуешь FreeBSD вместо Arch?
> В сишечке у тебя требуется ручная верификация для всего. В расте только для небольших локализованных участков кода.компилятор раста верифицирует только работу с памятью - соответствие кода спецификации он не проверяет, для этого нужны более лучшие языки, даже С лучше подходит для этого.
>даже С лучше подходит для этогоПодробности с доказательствами будут, или как обычно?
SeL4 был написан на Си, а не на Хрусте, при этом используется в реальных проектах, в отличие от поделок на Хрусте.
>SeL4 был написан на СиКакая наглая ложь. Он не написан на си, он написан на связке си и кода, доказывающего коректность сишного кода. Без кода с доказательством коректности сишный код - не более чем сборник UB.
В какой части этого выражения есть раст?
В случае с растом есть проверка исходников на минимальное количество самых очевидных ошибок. Вы не стесняйтесь, покажите где в среднем дыряшечном проекте доказательство корректности.
Где вы нашли эти исходники, если там си?
То есть если Sel4 переписать с Си на Раст, по твоей логике он будет написан не на Расте. Понятно.
А что плохого в "обложиться тулзами статиЧНОГО" анализа если они дадут тот же результат, особенно без всяких там проверок в рантайме, которые "теоретически хороши", но на практике их надо обходить?
Чтоб добиться того же эффекта на индустрию, надо встроить весь этот анализ прямо в компиляторы и сделать их как минимум включёнными по умолчанию. Если врубить такой подобный анализ на всей сишечке, внезапно окажется что куча кода требует полного переписывания. Проще новый язык сделать под это всё, что собственно и произошло.
Но наличие этого нового ЯП еще на гарантирует наличие ПО, которое будет на этом самом новом ЯП написано. Значит у нас (читай: человечества) два путя: прогнать анализаторами весь написанный код на Си с последующими корректировками, либо переписать ПО на Расте. Первое, очевидно, проще, т.к. отпадает необходимость учить новый ЯП. Соответсвенно, зачем нужен Раст?
Переписывание одинаково сложно и трудозатратно. Не важно, переписываешь ты на новенькую безопасную сишечку, либо на другой язык. Переписывать придётся с нуля и целиком. В качестве другого языка не обязательно раст кстати. Есть куча языков, которые изначально создавались ради того, чтоб не писать сишечнокрестовые портянки. Java например или Golang из относительно удачных, D как пример мёртвого или Haskell для любителей странного. Мотивация разная и сочетания плюсов/минусов разное.Конкретно в случае раста в плюсах будет равнозначное потребление ресурсов. Потребляемое процессорное время, память и вот это всё будет в той же весовой категории (иногда чуть лучше, иногда чуть хуже). А в минусах (по сравнению с другими альтернативами) сложная семантика языка, которая к тому-же достаточно уникальна.
Речь не идёт о минорных корректировках, а о полном переписывании с нуля в соответствии с конкретными целями и в определённых условиях. Опять же, не то, чтоб для всего-всего переписывание имеет экономический смысл.
Статический анализ не магический анализ. Для того, чтоб оно хорошо работало, на входе нужен код с определённой семантикой.
>чтоб не писать сишечнокрестовые портянкио да... портянки на яве или го более привлекательные конечно )))
Зависит от задачи же. Большая часть ЯП вроде бы универсальна. Но люди в здравом уме не пишут вебсерверную лапшу на чистом первородном C89 или там программы управления для высокоточных станков на питоне.Программист на сишечке/крестах, полезность которого выше нуля, это человек с опытом >15 лет. При этом можно школьника за пару-тройку лет натаскать на тот же golang. И очевидно, что первого не имеет смысла привлекать к невероятно важной (для бизнеса по продаже тапочек) задаче перекладывания JSONов из одного хранилища в другое. При том, что второй скорее всего эту задачу решит быстрее исключительно по причинам специальной обученности на конкретной задаче.
laindono тебе тут на "ON" кто то "-" поставил. Адекватов тут не любят :)Ну это так, лирика, а по теме поста - союзно!(С)
>прогнать анализаторами весь написанный код на Си с последующими корректировкамиПрогоните и удивитесь. Анализатор gcc ломается от малейшего рефакторинга, просто переставая видеть ошибки. А если вы возьмёте нормальный анализатор, который будет находить все ошибки, то вам придётся выкидывать почти весь сишный код.
>Чтоб добиться того же эффекта на индустрию, надо встроить весь этот анализ прямо в компиляторы и сделать их как минимум включёнными по умолчанию.Верно.
>Если врубить такой подобный анализ на всей сишечке, внезапно окажется что куча кода требует полного переписывания.
Ложь.
>Проще новый язык сделать под это всё, что собственно и произошло.
Доказательство данного утверждения будут или как обычно?
> ЛожьЕсли бы это было легко и просто, то существовали бы автоматизированные средства для подобного. Но их не существует, не смотря на огромное количество попыток их создать. Если у тебя есть хорошие идеи на этот счёт, то я недавно интересный тендер от DARPA видел на эту тему.
> Доказательство данного утверждения будут или как обычно?
Строго говоря обратное требует доказательства в равной степени.
Переписывание с нуля (без разницы с чего на чего) позволяет разобраться с техническим долгом. Это экономически выгодно, когда внесение правок становится дороже, чем это самое переписывание.
Чем больше становится система, тем эти самые правки становится сложнее вносить. Вплоть до полной стагнации кодовой базы.
Окей, с этой точки зрения ответь мне на вопрос, имело ли смысл переписывать ассемблерный код на сишечку?
>А что плохого в "обложиться тулзами статиЧНОГО" анализаНу так делайте, хотя бы спустя более чем полвека, после появления дыряшечки. Но ведь этого почему-то нет. Вы не знаете почему?
плохо что так делает просто мизерный процент разрабов.
>>требуется ручная верификация для всегоВы из какого года пишете про ручные проверки?
У нас ИИ для этого есть, даже офлайн работает.
Кстати, боров чекер в Русте прилично замедляет работу.
> Вы из какого года пишете про ручные проверки?
> У нас ИИ для этого есть, даже офлайн работает.Хм, а чего тогда такое ков-во CVE?
Или.. а на каких кодах вы его обучали?> Кстати, боров чекер в Русте прилично замедляет работу.
Это если опыта нет.
Когда он есть, то инварианты и правильная обработка веток пишется автоматически.
Ну зойчем вы тгавите?! Написано же - не только из unsafe. Есть еще ассемблер. Потому что на нескучном йезычке невозможно писать код, работающий с железом.Вот теперь - безопастненько!
ты и на сишечке без ассемблерных вставок не напишешь ничего лоулевельного.. эт какбы не то что норма а база... смешно с вас конечно.
Чего же вы, несишники, тогда своей безопастностью кичитесь, если ассемблерные вставки и у вас это база?
умные люди понимают зачем в автомобилях ремни безопасности и подушки.
хотя ни то ни то не дает 100% гарантии выживания.
но с ними таки лучше чем без них.вот с растом так же.
Ага. Пристегивать ремни безопасности и вешать коробку передач, так что бы можно было руками внутрь залезть и, слегка подшаманив, передаточное число поменять.То что руки оторвать может не важно.
Ремень то пристёгнут.
> ты и на сишечке без ассемблерных вставок не напишешь ничего лоулевельногоинтринсики есть даже в вашем "безопасном" расте
смешно читать рассуждения веб-синьоров про асм
Покажи мне переход из kernel space в user space исключительно на интринсиках. Заодно обработку исключений от процессора приложи. Полагаю, своих ядер ты никогда не писал.
Ты хоть не используй слова, смысла которых не понимаешь. Понаберут веб-сеньоров-помидоров по объявлениям.
> Ты хоть не используй слова, смысла которых не понимаешь. Понаберут веб-сеньоров-помидоров
> по объявлениям.так и запишем, показать не смог, слился
Написали бы низкоуровнего, а то пишите через бэкдор и понимай вас. Будьте проще - и народ к вам потянется.
>>на сишечке без ассемблерных вставок не напишешь ничего лоулевельного..Ну, если надо специфическую инструкцию вбить, то это на любом языке вставка будет. А если просто код, то можно без вставок. Например, на STM32 или ESP32 можно все на Си написать, без единой вставки, и таблицы векторов прерываний целиком на Си сделать.
>Есть еще ассемблер. Потому что на нескучном йезычке невозможно писать код, работающий с железомc растом все ясно, но вот С, созданный для написания OC, уже может без асемблера работать с железом? да хотябы есть приличная libc без асемблера?
> c растом все ясно,А мне вот - нет :(
> но вот С, созданный для написания OC, уже может без асемблера работать с железом?
Да (*) но - тебе не понравится :)
Поэтому Си-шники запросто пользуют ассемблер - с нашей религией это в полной гармонии.
Это которая "по локти в железе!(С)" :)> да хотябы есть приличная libc без асемблера?
Нет. Да и ЗОЙЧЕМ?! Что бы _что_? %-\
libc нужен не системному программисту могущему в ОСЬ, а чайнику, который с базовыми алгоритмами не знаком.
>на нескучном йезычке невозможно писать код, работающий с железом.На любом ЯВУ невозможно. Почему - тебе расскажут где-то на втором курсе. Если поступишь.
Ну ... это - если ты на бухгалтера поступишь...А если куда то в непонятные буквы Computer Science - тебе прямо таки _должны_ рассказать ну к примеру про Symbolics(кажись) Lisp-macines ... Про Lilith - the Modula-workstation ... про CPU исполняющие прямо Java Byte-code (имя - забыл)... про Forth-cpu от Rockwell ... а если ты в РФ и кафедра "в сапогах" то и про Эль-76 тоже должны рассказать :)
Мир - он большой, в нём чего только не было\есть :)
и все такое мертвое и забытое.
с чего бы?
Ну это Вы зря ляпнули. Написать на многих компилируемых ЯВУ можно, но работать будет медленно или не так, как задумывалось.
Интересно, а есть ли примеры ядер для ОС (не обязательно Линукс-совместимого) которые были написаны в функциональной парадигме?
Системое программирование - это исключительно структурная (процедурная) парадигма. Системное программирование это такое программирование когда оживляешь железо.А вот, ООП и функци-анальщина - это абстрации, сахар. Для Абстраций системный код написанный в процедурной парадигме это как, фундамент и несушие стены у зданий.
Обероны и семейство. Хорошая производительность.
BeOS и Haiku тоже на ООП, но там ещё и eventloop, который в десятую macos и перенесли (а вот ооп не стали, слишком плохо вязалось с устоявшейся NS-архитектурой из Xerox).
NS - Network Subsystem?
https://ru.wikipedia.org/wiki/NeXTSTEPУ эпплов в обжси до сих пор всё под префиксом NS идёт, они от этого только в стандартной библиотеке свифта ушли.
бесячая хрень этот NS, вообще не знаю как там разрабы с ним живут
>Обероны и семейство. Хорошая производительность.Никлаус Вирт создавая операционную систему для своих машин никогда к ООП парадигме не прибегал.
>BeOS и Haiku тоже на ООП,
Только высокоуровневые компоненты, например графические библиотеки.
Genode на C++
Системое программирование - это исключительно ассемблерная (конвейрная) парадигма. Системое программирование это такой программирование когда call gates, registers, memory barriers, instruction sets.А вот, процедуры - это функци-анальщина, абстрации, сахар. <далее неразборчиво>
Вот поэтому и в методах ООП никто не запрещает делать вставки на asm-е. Даже, при необходимости, всё тело метода на asm-е сделать.
Шаблоны, методы, классы в системщине запрещены.
С чего бы вдруг?))
Кем запрещены: анонимом?
А, Яфинном, так не всё же в мире есть Linux. А то вот в микроконтреллерах классы с шаблонами заходят.
> ШаблоныЭто лишь нормальное обобщённое программирование, в ядре оно тоже есть, только менее нормальное - через GNU-аналоги auto и замену функции на функцию-макрос[1].
> классы
Хм, DEFINE_CLASS(...) - что это[2]? Класс, сделанный на макросах.
> методы
Положить в структуру указатель на функцию, которая принимает первым аргументом эту структуру по указателю - ба, да это виртуальный метод.
И вы проспали Rust в ядре. Там есть всё - конструкторы и деструкторы (new и drop), умные указатели (KBox ~= unique_ptr), таблицы виртуальных методов (судя по dyn), дженерики (~= шаблоны)[3]. Если бы в ядро приняли плюсы, это всё не так больно бы входило.
[1] https://elixir.bootlin.com/linux/v6.18-rc7/source/arch/s390/...
[2] https://elixir.bootlin.com/linux/v6.18-rc7/source/drivers/gp...
[3] https://elixir.bootlin.com/linux/v6.18-rc7/source/rust/kerne...
> И вы проспали Rust в ядре. Там есть всёИ даже больше! В C и C++ нельзя сделать DSL с новыми операторами. А в расте можно. В ядре уже лежит код `pin_init!(... <- ...)`[1] - это макрос с новым оператором, которого в языке нет.
[1] https://elixir.bootlin.com/linux/v6.18-rc7/source/rust/kerne...
Придётся автору сего кода закрыть доступ в репозиторий ядра.
То что ты занимаешся софистикой не отменяет того факта, что для системщины сишке нет альтернативы.
>То что ты занимаешся софистикой не отменяет того факта, что для системщины сишке нет альтернативы.Ну вот лгать то не надо. Тот же паскаль портит память ничуть не хуже сишки, и к ассемблеру подключается. А ещё, говорят паскаль комилирует куда быстрее сишки.
Паскаль в 2025 году, батенька вы шутите.
Как что- то плохое
Если устраивает сишка то и паскальь устроит
>>То что ты занимаешся софистикой не отменяет того факта, что для системщины сишке нет альтернативы.
> Ну вот лгать то не надо. Тот же паскаль портит память ничуть
> не хуже сишки, и к ассемблеру подключается. А ещё, говорят паскаль
> комилирует куда быстрее сишки.ты промахнулся с ответом, мне ответил, а не автору
паскаль компилится быстрее сишки, что оригинальный, что делфи, но синтаксис там конечно ну его... видел трогал чуть-чуть плавал
> но синтаксис там конечно ну его... видел трогал чуть-чуть плавалСинтаксис это привычка.
И показатель профессиональности - профи может использовать любой синтаксис.
Это как если бы проф водитель такой "ой, у вас тут педаль ручника напольная, не буду ездить".У многих серьезных ЯП (АДА, фортран) синтаксис отличен от СИшного, но это не делает их плохими.
АДА так вообще заткнет СИ за пояс по надежности.
> АДА так вообще заткнет СИ за пояс по надежности./Troll mode ON
... Ariane V flight V88 ...
:-) ;-p :-D
/Troll mode OFF
> /Troll mode ON
> ... Ariane V flight V88 ...В том то и дело что Troll mode.
Те кто знают, те понимают что подход "если мы не будем тестировать, то всё пойдет как нужно" может быть только на бумаге (туалетной)))А про дыряшку можно почитать хотя бы последние новости.
Типа блутуза или взлома через png.
Взлетела ракета...
Упала в болото!
Какая в ней Ада
Такие полёты :)
(С) НороТЪ> Те кто знают, те понимают что подход "если мы не будем тестировать, то всё пойдет как нужно" может быть только на бумаге (туалетной)))
Погоди-погоди-погоди! В Аде ведь тоже "безопасТная работа с памятью"(С)!!! :)
Мораль: всё вы только обещаете, а потом ракеты из болота вытаскивай ....
:)
> Погоди-погоди-погоди! В Аде ведь тоже "безопасТная работа с памятью"(С)!!! :)Ага, а вольве есть ремни безопасности, но если поставить заглушку за 100 рубасов...
> Мораль: всё вы только обещаете, а потом ракеты из болота вытаскивай ....
Мораль: у ракеты соотношение успешных к неуспешным явно больше CVEшек в ведре)
Я уже молчу про бекдоры, которые тыщи глаз 10 лет не замечали.
Наверное смотрели куда-то в другое место)))
>> Мораль: всё вы только обещаете, а потом ракеты из болота вытаскивай ....
> Мораль: у ракеты соотношение успешных к неуспешным явно больше CVEшек в ведре)Ути - пуси!(С)
Даже только линугз (А это со фар - махровый Си) уже под 30 лет как тащит на себе весь мир (нее один конечно). И твоё страшное!(С) "соотношение успешных к неуспешным явно больше CVEшек в ведре" - чего бы это ни значило ... _никого_ не ... не напишу а то потрут! ;-pПосмотрим кстате как оно (ведро) с растом дальше пойдёт, взлетит или тихонько забудут, полечит оно проблемы или просто заменит другими ...
https://github.com/froggey/Mezzano
По сслыке там Лисп. Но давай честно, Лисп без Лисп-машины отнюдь не низкоуровневый язык.
> Лисп без Лисп-машины отнюдь не низкоуровневый язык.В приличных реализациях CL диассемблер в комплекте идёт. Догадываешься почему? Подскажу: CL компилируется в нативный код. Без всякой лисп-машины, прямо из-под линуксового ядра. Вот это чудеса, а?
Во внутренности CL не смотрел, но подозреваю, что исходники на Лиспе транслируется в машиный код проходя стадию ассемблирования. А ассемблер, друг мой, это процедурная парадигма.
Без Лисп-машин, Лисп уже не Лисп.
по вашему выходит раз нет haskell-машины например то это тоже получается процедурный язык
на железе оно всё процедурное. а еще там всякие JNZ, JZ, что по-сути ужасный GOTO в языках высокого уровня.
Это IF NOT и IF вообще-то...
GOTO это - JMP...;-)
>по вашему выходит раз нет haskell-машины например то это тоже получается процедурный языкНе перевирай. Хаскел не процедурный язык. Просто сюда набежали адепты C++ и начали говорить, что операционки можно писать используя ООП. Пришлось их спускать с небес на землю.
И ещё, одна очевидняа мысль. Вся мощь Лиспа, как языка заключена в наличии Лисп-машины. Без Лисп-железа языки семейства Лисп никогда не проявят всей своей мощи. Исторически так сложилось, что Лисп-машины уступили конкуренцию архитектуре IBM-PC-совместимый компьютер (то бишь ваши десктопы).
> Без Лисп-железа языки семейства Лисп никогда не проявят всей своей мощи.Да с чего бы?! Доказать осилишь?
Это было удобно когда компьютеры были большие но слабые ...
Нонешние просто человеческим языком программить начали ... и заметь - тоже появились AIPU ;)Другое дело что массовым программистам лисп не зашёл. Ну и всио :(
Там даже ассемблерные вставки можно найти
MirageOS? правда в какой там парадигме не могу сказать
Symbolics Lisp machines
и это самые знаменитые, была их - куча.
1980-е годы.
И чо? Всё что не вчера - совсем не было?
Если «джаст фор фан», то может что хорошее и получится
"Фан" и получится.
>Код написан на языке Rust с ассемблерными вставками и распространяется под лицензией MIT.Стопицот раз было сказано, что ПО под разрешительными лицензиями нежизнеспособно. Взлетает только копилефт.
Какой копилефт кроме Линукса взлетел?
Glibc, GCC, GNOME, KDE, LO (MPLv2), GIMP, Blender, VirtualBox, QEMU
Отдельно из KDE отметим Krita, раз у нас отмечен GIMP отдельно от гомогнома, потому что Критой пользуются не только кедерасты, ещё стоит отметить Firefox.
Аудиоплагины Calf Studio Gear шикарны. ZynAddSubFX и его новая версия Zyn-Fusion, Surge XT, Audacity. Альфа четвёртой версии Audacity так и вовсе благодать.
Firefox как бы да, сам им пользуюсь, но по сути он кормится с донатов гугла за поиск. Так что его успешность, к большому сожалению, относительная
> Glibc, GCC, GNOME, KDE, LO (MPLv2), GIMP, Blender, VirtualBox, QEMUНу GCC вовсю теснит Clang, та же Apple перешла на него. Blender да, успех, GIMP - ну плюс-минус, но это всё относительно мелкие вещи для пользователей. Либо же идущее к линуксу инфраструктурное, как кему. А что-нибудь уровня Kubernetes и PostgreSQL есть?
Вне проприерастии не теснит.
Ты можешь хоть миллионпицот раз это написать- реальности все равно. Открой статистику по свободным лицензиям и удивись! Гну _никогда_ не было лидером.
Статистику по использованию в работающих системах?Или статистику по заброшенкам на помойках?
на языке Rust с ассемблерными вставками
вот так точно безопасно
Ну это лучше чем си с ассемблерными вставками.
Ассемблерные вставки уровень безопасности уравнивают. Здесь ваш чекер боровов не помошник.
У ассемблера нет неопределённого поведения, в отличие от.
ты балбес или троллишь?
на асме нельзя инкрементить знаковый инт, шоб, до границ того инта дойдя, незнамо что получилось? или ты правда балбес?
В асме на самом деле нет UB.
Он сделает то, что от него просят (ассемблирует).
А процессор, если что не так*, сделает то, что по меркам Си называется implementation-defined или [implementation-]unspecified.UB, о котором говорят и которого боятся - это если бы gas стал молча выкидывать куски кода, которые должны привести к ошибкам при исполнении (мотив - это простая, дешёвая оптимизация, а за осмысленность или безопасность нам не платят).
* What happens when you shift a register by more than the register size? https://news.ycombinator.com/item?id=37426598
таки да, на расте фиг напишешь асм неправильно, каждый регистр и побочные эффекты надо указывать
https://doc.rust-lang.org/nightly/reference/inline-assembly....
Что делает и так непростую разработку на ассемблере и вовсе изумительной.
> на языке Rust с ассемблерными вставками и распространяется под лицензией MIT.Как линукс, только недопиленый, без драйверов, с похабной лицензией с которой его растащут по норам, на эзотерическом яп. Обречено на успех захвата мира. Пару фоторамок должно осилить.
Лицензия как раз куда лучше, более дружественная для бизнеса
Чем лучше? Бизнес исходниками mit не поделится.
Ну так это удобно, что бизнес может не раскрывать то, что не хочет. Я, будучи бизнесом, не хотел бы, чтобы меня заставляли делиться вообще всем. А так, благодаря этому бизнес может этот код спокойно для себя использовать.
А я за то, чтобы тебя, в таком случае, принудительно на законодательном уровне не пускали на рынок. Можешь идти в Сахару и там продавать свои блобы.
Я за интересы бизнеса. Если всех как я выгонять, будете бедно жить на своём опустевшем рынке
> Я за интересы бизнеса. Если всех как я выгонять, будете бедно жить на своём опустевшем рынкеМы в самом ближайшем будущем будем жить вообще без рынка в вашем понимании. И без вас, если будете сопротивляться. Или вообще жить не будем. Нет, не угрожаю. Просто объективная реальность такова. Мы по факту уже живём в системе разделения труда планетарного масштаба. А это в свою очередь предполагает, что каждый получает по труду. Не больше и не меньше. Любой же бизнес предполагает получение прибыли. Прибыль - это то, что вы получаете сверх того, что вам положено по труду. Т.е. получение прибыли - это паразитирование на обществе. Когда паразитов становится слишком много, то происходит одно из двух: либо организм загибается, либо от паразитов избавляется каким-либо способом.
> Прибыль - это то, что вы получаете сверх того, что вам положено по труду. Т.е. получение прибыли - это паразитирование на обществе.Ну это полная чушь, старая марксистская глупость. Бизнесмен-то как раз трудится: организует, налаживает поставки. Или по-вашему организаторский труд ничего не стоит? Вы сами в жизни пробовали что-нибудь организовать?
Плюс ко всему, идея "плата строго за труд, ни больше ни меньше" тоже максимальна абстрактная. Кто решит, сколько точно? Госплан? Ну мы видели его эффективность.
А про то, что бизнес - паразиты, бросьте это. Бизнес как раз - это главные производители. Какую вещь не возьми, сделана бизнесом
> Ну это полная чушь, старая марксистская глупость. Бизнесмен-то как раз трудится: организует,
> налаживает поставки. Или по-вашему организаторский труд ничего не стоит?Я разве говорил, что ничего не стоит?))
> Вы сами
> в жизни пробовали что-нибудь организовать?Я одно время работал третьим помощником капитана, потом - вторым. И даже несколько часов был и.о. капитана)) Так что - кое-что организовывал.
> Плюс ко всему, идея "плата строго за труд, ни больше ни меньше"
> тоже максимальна абстрактная. Кто решит, сколько точно? Госплан? Ну мы видели
> его эффективность.Всё очень и очень просто. Труд измеряется во времени. Каждый получает пропорционально отработанному времени. Хотите подробней - смотрите здесь: https://samlib.ru/editors/b/bobylew_j_w/society.shtml#TOC_id... Или подождите немного - готовится к выходу статья. Прям с подробными математическими выкладками и достаточно подробным же описанием экономической модели.
> А про то, что бизнес - паразиты, бросьте это. Бизнес как раз
> - это главные производители. Какую вещь не возьми, сделана бизнесомНе существует никакого абстрактного бизнеса. Всё и всегда производится людьми. Есть разные формы организации социально-экономических отношений. Сейчас у нас капитализм. На финальной стадии. Я бы даже сказал - уже агонизирует. Что такое капитализм? Это когда каждый производит то, что считает нужным. По факту - без какой-либо организации и без учёта реальных потребностей общества. А потом вступает в конкурентную борьбу за сбыт продуктов своего труда. Это касается всех - и "бизнесменов", и рабочих (они продают свою способность к труду). Конкуренция же заканчивается всегда одним - вымиранием. Внутривидовая за ресурсы, я имею ввиду. Оно работало ровно до того момента, пока от капитализма было куда свалить - были не охваченные капиталистической формой социально-экономических отношений уголки планеты. За счёт их освоения в общественный оборот поступал поток ресурсов, который позволял относительно (очень относительно - почитайте, что в той же Англии в 19 веке творилось) сносно жить и тем, кто производит продукты труда, и тем, кто на них паразитирует. А сегодня - всё. Примерно с середины 19 века лавочка закрылась, осваивать больше нечего. Результат - Мировая бойня номер раз, Мировая бойня номер два, фашизм, нацизм, гуманитарные бомбардировки, угроза полного самоуничтожения, голод, нищета и вот это вот всё.
Так вот, про "бизнес". "Бизнес" - это когда руководящая прослойка, пользуясь своим положением распределяющих ресурс, начинает себе эти самые ресурсы присваивать. Сверх того, что им положено по труду. Только и всего. Продукты же труда производят люди (повторюсь). Производство (т.е. люди) в силу разных факторов (степень разделения труда, совершенство орудий производства и т.д.) могут быть по-разному организованы. Формы организации к "бизнесу" не имеют никакого отношения. Устраняем перекосы в системе оценки труда - и внезапно на месте корпорации возникает крупное предприятие по производству чего-либо, хоть тракторов, хоть программного обеспечения. При этом организационная структура не изменится практически никак - есть управляющее звено, занимающееся организационными вопросами, есть те, кто занимаются непосредственно производством продукции. Потому что структура определяется не "бизнесом", а самим способом производства - разделением труда, которое требует координации потоков ресурсов и готовой продукции.
> Это когда каждый производит то, что считает нужным. По факту - без какой-либо организации и без учёта реальных потребностей общества.Полная чушь. Бизнес как раз-таки внимательно анализирует потребности, какие есть рынки, насколько они насыщены, занимается организацией этого всего. Зачем вы повторяет старые советские байки, ещё и про загнивание? 70 лет социализма не хватило, чтобы понять их ложность?
> Полная чушь. Бизнес как раз-таки внимательно анализирует потребности, какие есть рынки,
> насколько они насыщены, занимается организацией этого всего.Хех, знали бы вы, насколько вы - предсказуемы)) Так и думал, что про "учёт потребностей" вспомните. Иными словами, вы говорите, что "бизнес" осуществляет планирование своей деятельности. Тогда откуда ваши претензии к Госплану? Который занимался ровно тем же самым - прогнозом потребностей общества и распределением ресурсов в соответствии с этими прогнозами)) "Вы не понимаете - это другое"?))))))
> Зачем вы повторяет старые
> советские байки, ещё и про загнивание? 70 лет социализма не хватило,
> чтобы понять их ложность?Байки? Ложность?))))) Ну т.е. у нас нет войн во всём мире, нет фашизма (причём везде)? Нет эксплуатации человека человеком? Нет демографической катастрофы? Национализм и шовинизм не лезет изо всех щелей? Мы не движемся к очередной мировой войне? Ничего этого нет?))) И если вы внимательно читали то, что я вам прислал, то можете заметить, что никаких "баек" я не повторяю. Все совпадения связаны с тем, что и я, и "писатели баек" говорим об одном и том же - о той реальности, в которой вы живёте.
Да вы тоже предсказуемы. Претензия к Госплану одна - неэффективность. И претензия не столько к самому Госплану, сколько к системе, подчистую вырезавшей любое подобие рынка и частной инициативы.А что касается всех этих страшилок, что вы перечисляете - вы можете и дальше повторять эти сказки Венского леса, что капитализм - это главное зло и стоит лишь его убрать, как всё исцелиться. Только правдой эти сказки от повторения не станут
> Да вы тоже предсказуемы. Претензия к Госплану одна - неэффективность. И претензия
> не столько к самому Госплану, сколько к системе, подчистую вырезавшей любое
> подобие рынка и частной инициативы.Действительности не соответствует. Изучайте историю СССР.
> А что касается всех этих страшилок, что вы перечисляете - вы можете
> и дальше повторять эти сказки Венского леса, что капитализм - это
> главное зло и стоит лишь его убрать, как всё исцелиться. Только
> правдой эти сказки от повторения не станутНу т.е. аргументов у вас нет, только выкрики остались (усталый вздох).
Это вы себя, батенька, описали и себе посоветовали) изучайте историю СССР)
> Это вы себя, батенька, описали и себе посоветовали) изучайте историю СССР)Ну-ну))
Как говорит товарищь Васерман.Ситуация поменялась. Теперь есть возможность планировать, которой раньше не было.
> Как говорит товарищь Васерман.Ситуация поменялась. Теперь есть возможность планировать,
> которой раньше не было.Планировать и тогда можно было. Другой вопрос, что планирование необязательно подразумевает уничтожение рынка и подавление частной инициативы
> Планировать и тогда можно было. Другой вопрос, что планирование необязательно подразумевает
> уничтожение рынка и подавление частной инициативыЧастная инициатива и рынок не связаны никак)) А вот нормальное планирование уничтожит рынок гарантированно. Но не уничтожит свободу выбора товаров, чем вы тут всех усиленно пытаетесь напугать.
И вообще - заканчивайте уже нести чушь про рынок. Серьёзно. Ваш "рынок" порождает только одно - монополии. И на этом "рынок" заканчивается. А вы со своей кофеенкой/салоном красоты/какая ещё там хр...нь существует в вашем влажном воображении автоматически превращаетесь в корм для этих самых монополий (точнее - крупных финансово-промышленных групп). Сожрут вместе с гов..ом и не подавятся. А вы пополните армию бездомных под соседним мостом. И никакое государство вам тут не поможет - госаппарат везде и всюду находится в руках этих самых монополий. Которые готовы в очередной раз передраться на почве конкуренции за ресурсы (т.е. в том числе - на почве конкуренции за вас, потому что вы для этих людей не более, чем корм).
А что кроме рынка остается? Коммуняцкое государство рухнуло даже не протянув сотни лет. Вон Китай понял, стал рыночным и показывает успехи. Есть пример успешной плановой экономики в мире?
> А что кроме рынка остается?Выбор очень прост: коммунизм или смерть. Для всех нас. Людей. Или мы организовываем общество так, чтобы каждый получал по труду, не больше и не меньше, или вымираем. Благодаря самоуничтожению и деградации. Процессы уже запущены, во всём мире. И остановить их будет ой как не просто. Чему все эти споры - наглядное подтверждение. И даже если/когда остановим, то это только полдела. У нас осталось лет 200, чтобы организовать в космосе самодостаточные поселения. Не орбитальные лаборатории, а именно полноценные поселения. С добычей ресурсов там же в космосе. Иначе на этом - всё. Мы сейчас сжигаем и съедаем то, что образовывалось МИЛЛИОНЫ лет. Нефть, газ, уголь. Нам же хватило буквально пары сотен лет, чтобы все легкодоступные запасы начали истощаться. Уран - вообще невосполнимая вещь. Когда оно всё закончится, мы скатимся к уровню численности Средневековья. С тем же уровнем медицины и всего остального. Но это будет уже неважно - космос и для нас, и для тех кто будет (если будет) после нас, станет недоступен. Т.е. на этом проект "Земная жизнь" можно будет считать завершённым. Потому что Солнце, которое светит у вас над головой каждый день, имеет свой срок годности. А условия на Земле станут не очень комфортными для жизни задолго до того, как с Солнцем начнёт происходить всякое интересное. И когда оно всё начнётся, наших потомков здесь уже быть не должно. Чтобы это случилось, начинать нужно не просто сейчас, а позавчера уже надо было.
Вы так сопротивляетесь, как-будто мы, коммунисты, предлагаем всех убить и съесть. Почитайте хотя бы, что писали классики (не обязательно всё - возьмите Манифест коммунистической партии, там 40 страниц с небольшим всего, оно немного устарело, но в основном - всё актуально). Нету там ничего такого. Мы предлагаем лишь чтобы все жили. Нормально жили. Без золотых унитазов, но и без угрозы сдохнуть от голода в подворотне, потому что с работы выгнали.
> Коммуняцкое государство рухнуло даже не протянув сотни
> лет.Ёклмн... Изучите уже историю 20 века. Нормально изучите, не по байкам всяких ... Когда изучите - поймёте, почему всё оно произошло. Да и не важно уже всё это. СССР 30 лет, как нет (он, кстати, за это время прошёл путь от страны, где плуг был чуть ли не вершиной технической мысли, а умение читать - экзотикой для 70% населения, до страны с ядерной энергетикой, готовящейся отправить первого человека в космос). Что там было - уже совершенно не важно. Важно то, что есть и будет. А есть у нас разгорающаяся мировая война на почве капиталистической конкуренции, абсолютно бессмысленной, навязываемой кучкой поехавших головой паразитов, которые делят - кто и на ком будет дальше паразитировать.
> Вон Китай понял, стал рыночным и показывает успехи.Какие, блин, успехи? Вы там были, видели как там люди живут? Мне вот доводилось. У них проблем не меньше, чем во всём остальном мире. И проблемы те же.
> Есть пример
> успешной плановой экономики в мире?СССР по этому поводу уже всё доказал, на этом вопрос закрыт. Все возражения адресуются учебникам по истории. Если вы их не читали - это ваши проблемы.
В общем, начинайте думать головой уже наконец.
> Выбор очень прост: коммунизм или смерть... Прочее бла бла бла ужс ужс! Ресурсы в космое добывать аааа!Хватит причитать и отставить панику. Станет выгодно ресурсы в космосе добывать, капиталисты и будут добывать. Коммуняки ничего не умеют, кроме "отнять и поделить". Особенно смешно читать пассажи про скорую смерть солнца через миллиард лет. Человечеству 40 тысяч лет от роду, а Шариков уже на миллиард планирует, ну фантазёр!
> Вы так сопротивляетесь, как-будто мы, коммунисты, предлагаем всех убить и съесть.
А точно не хотите? Как-то не верится. Что вы будете делать с теми кто несогласен в вашем коммуняцком раю жить?
> возьмите Манифест коммунистической партии
Вот это было смешно! Спасибо!
> Ёклмн... Изучите уже историю 20 века. Нормально изучите, не по байкам всяких ...
Ага, по байкам которые вы выберете изучить нужно? Нет уж, спасибо, без вас как-то разберусь с источниками информации.
> Когда изучите - поймёте, почему всё оно произошло. Да и не важно уже всё это.
Уууу, проклятые буржуи коммунистам в штаны насрали, вот негодяи! Да как же неважно, если вы хотите в эту кучу еще раз наступить? Хорошо что вас таких немного, и никакого коммунизма не планируется, вы же даже свой коммунизм (СССР) защитить не смогли, никто просто не вышел, всем было плевать.
> Какие, блин, успехи? Вы там были, видели как там люди живут? Мне вот доводилось. У них проблем не меньше, чем во всём остальном мире. И проблемы те же.
Проблемы есть, но они существуют. Как дела у СССР? Норм дела, а какие могут быть дела у трупа?
> В общем, начинайте думать головой уже наконец.
Отравленный советской пропагандой тип советует пользоваться головой, весело.
> Хватит причитать и отставить панику. Станет выгодно ресурсы в космосе добывать, капиталисты и будут добывать.Очевидно по этому у штатов химически уран из руды добывают, а у остальных центрифуги.
При этом себестоимость химического варианта в десяток раз больше.
Эк у вас подгорает)) Прям любо дорого смотреть - значит в правильном направлении движемся.
> Эк у вас подгорает)) Прям любо дорого смотреть - значит в правильном
> направлении движемся.Подгорает от мертвого совка? Я наоборот очень рад что его больше не существует, как и нет дураков, готовых снова попробовать. Новых не нарожали, а старые коммуняки ни на что не годны, политические импотенты, приученные стоять в стойле и не отсвечивать. Так что на мой век капитализма еще хватит, а всех желающих построить коммунизм будут еще лет 300 тыкать мордой в этот проавльный, кровавый эксперимент под названием СССР.
> Подгорает от мертвого совка? Я наоборот очень рад что его больше не
> существует, как и нет дураков, готовых снова попробовать. Новых не нарожали,
> а старые коммуняки ни на что не годны, политические импотенты, приученные
> стоять в стойле и не отсвечивать. Так что на мой век
> капитализма еще хватит, а всех желающих построить коммунизм будут еще лет
> 300 тыкать мордой в этот проавльный, кровавый эксперимент под названием
> СССР.Если бы всё было так, как вы говорите, то вы бы тут который день уже в истерике не бились бы ;)
> Если бы всё было так, как вы говорите, то вы бы тут который день уже в истерике не бились бы ;)Вам говорят КОММУНИЗМ (кровавое поделие нелюдей) НЕНУЖЕН.
А вы всё комментируете и комментируете, Прохфессор)
За чем же вы так бьётесь, вы ж так не убьетесь! (с)
> Выбор очень прост: коммунизм или смерть. Для всех нас.Не болтайте ерундой!(С)
Для этого надо вначале революшу замутить и выиграть...
А потом устроить красный террор, с продразвёрсткой, карательными отрядами и вот этим вот всем... Без этого коммунизьму не бывает.Но кто же вам во-второй раз поверит?!? :)
Да и нету у нонешних комуняк фигур мирового значения, всё что вы можете это бабулек пенсионерок на жалость пробить, сопливо вымаливая на пропитание ... жалкий конец самой могущественной банды :-Р
Как то таГ(С) ;-)
> Да и нету у нонешних комуняк фигур мирового значения, всё что вы
> можете это бабулек пенсионерок на жалость пробить, сопливо вымаливая на пропитание
> ... жалкий конец самой могущественной банды :-РТо-то у вас подгорает)) Может дело не в фигурах? ;) Революцию ведь не фигуры делали, а народ. Сам.
> То-то у вас подгорает))А чего у меня должно подгорать?
Совок сдох, коммуняки где-то на уровне опущенцев.Капитализм работает.Это у вас должно, тк до очередной геворюции вы скорее всего не доживете.
> Капитализм работает.Главное - повторяйте себе это почаще))
> Это у вас должно, тк до очередной геворюции вы скорее всего не
> доживете.Не доживу - я, а подгорает почему-то у вас))
>> Капитализм работает.
> Главное - повторяйте себе это почаще))Угу, вот прям сейчас работает. Что в америках, что в китае.
> Не доживу - я, а подгорает почему-то у вас))
Вот вы не доживете, поэтому у вас подгорает.
А я просто попкорн жую, и посмеиваюсь над убогими.
> Планировать и тогда можно было.В корне не верно. Не было.
Биг дата и все такое. Теперь есть.
Пусть докажет свое утверждение, а балаболить любой коммуняка может. Не требудется даже доказывать в общем виде. Пусть возьмет какую-то небольшую отрасль и доказывает на ней, построит модель, запустит ее и покажет качество ее прогнозов на живом рынке.
> запустит ее и покажет качество ее прогнозов на живом рынкеВ корне неверная постановка задачи.
В нее закралась слово рынок.
Постановка задачи внутренне противоречива.
>> запустит ее и покажет качество ее прогнозов на живом рынке
> В корне неверная постановка задачи.
> В нее закралась слово рынок.
> Постановка задачи внутренне противоречива.В чем противоречие? Пусть попробует спланировать спрос/предложение по какой-то группе товаров с бигдатой как там кто-то предлагает выше. Если сможет - ему нобелевка по экономике гарантирована. Как вы коммуняки вообще себе вообще планирование представляете? Представим, что вы спланируете что в следующем десятилетии понадобится N электроэнегии, а тут херак и через год новая технология, требующая 5N, вы что весь свой план переписывать будете каждый раз как такое возникнет? Совок даже цену на нефть не смог спрогнозировать, из-за чего благополучно исдох.
> В чем противоречие?Рынок принципиально не планируется. Взбредет в голову очередному Маску и будет лярдами закупать какой-либо металл на постройку презентационной ракеты. Можно лишь сделать модель гибкой, способной реагировать на выкрутасы рыночных сумасшедших.
> Представим, что вы спланируете что в следующем десятилетии понадобится N электроэнегии, а тут херак и через год новая технология, требующая 5N, вы что весь свой план переписывать будете каждый раз как такое возникнет?
Именно. Не тут нужно планирование с обратной связью. То чего раньше принципиально сделать не могли. Технологий не было.
> Совок даже цену на нефть не смог спрогнозировать, из-за чего благополучно исдох.
И тут ложь. Нельзя спланировать цену на нефть, если ею манипулируют, завозя саудитам бабки мимо рынка. И при себестоимости 6 продовать за 4 долго не получится.
> Всё очень и очень просто. Труд измеряется во времени. Каждый получает пропорционально отработанному времени.Тляяяя ... Ну Шариковщина же! "Взять всё - и поделить!(С)"
А потом как в позднем СССР - не отработать день, а "отбыть" ...
А пословица - "Где бы не работать - лишь бы не работать"? напомнить откуда?Проходили это уже. Второй раз на грабли ... ну такое :(
>> Всё очень и очень просто. Труд измеряется во времени. Каждый получает пропорционально отработанному времени.
> Тляяяя ... Ну Шариковщина же! "Взять всё - и поделить!(С)"
> А потом как в позднем СССР - не отработать день, а "отбыть"
> ...
> А пословица - "Где бы не работать - лишь бы не работать"?
> напомнить откуда?
> Проходили это уже. Второй раз на грабли ... ну такое :(До-о, конечно. Читать мы, значит, не умеем ;)
> Я, будучи бизнесом, не хотел бы, чтобы меня заставляли делиться вообщеЕсть пару компаний у которых есть свободные 100 у.е. и стоимость разработки системы
на рынке обойдется в 150 у.е. Если ничего не делать когда-нибудь появится конкуренты которые договоряться и ты вылетаешь через пару месяцев с долгами.Один бизнес сделать не сможет, а вдвоем с твоим братом, другом, одногрупником, лучшим врагом из кокурирующей компании сможете и даже сможеет получить прибыль в следующем
месяце.Твои действия?
1. Скинулись на OpenSource и разработали ядро, через месяц оба имеете свои фоторамки на инновационном Rust и худо бедно гребете бабло
2. Прождать пару месяцев прожрать деньги, но вылететь с рынкаРасскажи по подробнее о своем выборе
...
3. подождать пока те два лоха сделают техническую часть, скопировать (и да - исходники не прятать - там вель ничего не поменялось :) ) а дентги вложить в рекламу и агресивный PR ...В результате - вы сделали всю грязную работу, я загрёб все денежки ;-p :-D
Это не я придумал, это я смотрю что с попенсорсом случилось и "рассуждаю вслух"(С)
> подождать пока те два лоха сделают техническую часть, скопировать (и да - исходники не прятать - там вель ничего не поменялось :) ) а дентги вложить в рекламу и агресивный PRНет конкурентного преимущества, кроме пиара.
4. Что бы было надо добавить за мало денег на добавление фичи и закрыть, не отдавая назад.
Вот тогда и пиар легче сработает.
> Нет конкурентного преимущества, кроме пиара.Будто бы это не единственное что нужно :-р
Сплошь и рядом побеждают __плохие__ технически решения ... чоготак?!(С)
Потому что любую дичайшую вещь можно пиаром представить преимуществом. Главное, хоть в чём то отличаться от других.Поэтому закрыть. Написать хоть что-либо, ну или начать переписывать. И тогда уже пиарить!
Вот-вот, но не для пользователя. Потому, что пользователь получит залоченные смарты и роутеры.
> Вот-вот, но не для пользователя. Потому, что пользователь получит залоченные смарты и
> роутеры.Даже на них таки как правило можно получить сорцы. И благодаря этому существуют вещи типа openwrt, альтернативных сборок андроида и проч.
Просто для сравнения:
* репы проекта maemo отданные ноклой комьюнити живые до сих пор и n900 и даже при остром мазохизме n800 каким до сих пор можно пользоваться.
* а вот майкрософт вырубил гальюниям виндостор, сорцов нет, альтернативынх способов инстала тоже, нате вам чудный кирпич как прощальный подарок от проприетарщика.
OpenWRT существует, по большей части, за счёт реверсинженеринга.
> получит залоченные смарты и роутеры.Ахах то есть мяу. На линуксе с гопаельным окружением то-то все смарты свободные! Все 2! А роутеры с линуксом все сплошь открытые и свои наработки выкладывают, угу.
Вот-вот! Все местные тут так ратуют за GPL и против бизнеса, что мол так его! Даёшь свободу! Да только свободы по итогу нет, а лишние препоны для малого и среднего бизнеса, здоровых ребят, есть
>Да только свободы по итогу нет, а лишние препоны для малого и среднего бизнеса, здоровых ребят, естьВо-первых, у вас есть бизнес? Во-вторых, бизнес может ВНЕЗАПНО
не брать код под GPL, а сразу покупать код под EULA. Так почему вы не покупаете код под EULA, как вам GPL в этом мешает?
> не брать код под GPL, а сразу покупать код под EULA. Так
> почему вы не покупаете код под EULA, как вам GPL в
> этом мешает?А был бы под MIT, можно было бы просто брать, в том и смысл
>А был бы под MIT, можно было бы просто братьНу дак и под EULA тоже можно сразу взять. Или вы такой бизнесмен, что не в состоянии зарабатывать деньги без чужого бесплатного кода? А почему это вы только программистов так эксплуатируете?
Писать под разрешительными лицензиями, за несколькими небольшими исключениями, имеет смысл только для работников бизнеса: они хотят скинуть поддержку кода на кого-то другого, а рекурсивно открывать свой остальной код не хотят.
> А почему это вы только программистов так эксплуатируете?Так никто никого не эксплуатирует, человек написал софтину, выложил ее под MIT, подарил всему миру - и люди пользуются без препон. В чём эксплуатация-то? Его никто не заставлял ее писать или выкладывать, а он написал и выложил, по собственной воле. Не надо искать эксплуатацию и угнетение везде и всюду в жизни
>подарил всему мируНикакого мира не существует. Условный школьник не извлечёт никакой пользы из freebsd, если она не работает на его ноутубке, по крайней мере, пока не напишет для неё дрова. А случится это во-первых не скоро, а во-вторых нет никаких гарантий того, что конкретно этот школьник станет программистом. И код под разрешительными лицензиями дарится в первую очередь корпорациям и лишь во-вторую - части других программистов.
>В чём эксплуатация-то?В том, что автор оригинального кода за него абсолютно ничего не получает.
> В том, что автор оригинального кода за него абсолютно ничего не получает.Так это его выбор, он так решил. Хотите отблагодарить - найдите контакт автора и задонатьте. Но не указывайте ему какую он должен использовать лицензию.
>> А почему это вы только программистов так эксплуатируете?
> Так никто никого не эксплуатирует, человек написал софтину, выложил ее под MIT,
> подарил всему миру - и люди пользуются без препон. В чём
> эксплуатация-то? Его никто не заставлял ее писать или выкладывать, а он
> написал и выложил, по собственной воле. Не надо искать эксплуатацию и
> угнетение везде и всюду в жизниА я вот не хочу халявщикам типа тебя ничего "дарить". Если ты готов совместно девелопать проект, поделив косты девелопа - одно. А если ты о...ший халявщик, желающий отпаразитировать на моем труде и ничего не вернуть - другое. И довольно много проектов уже заметили что с "свободой" по BSDшному есть какие-то нюансы. В виде о...ших хапуг. Особенно мило когда проприерасский корп норовит проект под себя подмять, опроприетарить, а автору оригинального кода дырку от бублика выкатить.
Например можно сравнить отношения Valve <-> Linux и Sony/Nintento <-> BSD. А заодно мне как-то для себя прикольнее юзать систему гда AAA-class графоний будет - для всех. А не только тех кто хочет сдаться в рабство вон тем DRMщикам, ага. В результате - BSD делают что? А, дрова из линуха с огромным отставанием копируют? Ну и где они теперь с их свободой? А, на свалке истории?
Как говорится, добрым словом и пистолетом можно добиться большего чем одним добрым словом. А ублажать логичнее того кто будет помогать с девелопом проекта. С точки зрения благополучия авторов и проектов.
Если для здоровых ребят препоны не ставить, повторятся 90-е.
Это с какого это вдруг все смарты стали с окружением GNU ?
А с чего мне топить за пользователя против бизнеса?
> Лицензия как раз куда лучше, более дружественная для бизнесаВот только этот бизнес потом - налетает на проект как львы на антилопу, раздирает на части, и в кустах раздается хруст костей и рык отпугивающий конкурентов от жрата. Львам хорошо: нашару набили брюхо, да еще "халявшиков" обрычали о как, трясутся как осиновые листья. Но вот участь антилопы в этой схеме довольно незавидна. И мы вроде бы как раз про нее? :)
Видимо без бизнеса лучше, да? Знаменитые лекарства от государства, смартфоны от сообщества и фильмы от министерства просвещения, ага. Но что-то мне подсказывает, что ты точно так же лечишься пфайзером, а не кремлевской таблеткой и смотришь фильмы Нолана, а не играешь в Смуту.
> Видимо без бизнеса лучше, да?Как бы это вам сказать. Unmanaged капитализм - очень так себе штука, да. И последнее что перед ним стоит делать это метать бисер халявы под BSD и MIT. Ибо как показал пример BSD и Linux - господа не только возьмут код нашару - но и засудят неудачников при случае в благодарность. Тем временем GPLный конкурент с полисей commit or GTFO - обойдет на повороте, ибо не давал растаскивать свой проект.
И кстати GPL вообще бизнес не запрещает. Вообще совсем. Более того, они считают это несвободным ограничением.
То что ваш бизнес построен на кидалове, выкрутке рук и зажимании сорца который вы сами получили нашару (== активность на грани фрода и скама имхо) - и вы не представляете себе иных форматов взаимодействия с апстримом чем разодрать на части и не делиться - упс, а вот это ВАШ косяк, не более того. Т.е. ниоткуда не следует что это - единственная бизнес модель и тем более - лучшая из. Ну так, глядя на то как тут куча пермиссивных проектов кто в GPL/AGPL а кто и в бред типа BSL вдаряется, когда оказывается что пермиссивные апстримы часто получают от шустрых веников дырку от бублика как отдачу в проект и чего-то буксовать начинают.
> Знаменитые лекарства от государства, смартфоны от сообщества
> и фильмы от министерства просвещения, ага.Ну как бы дикий капитализм имени Капоне - тоже такое себе, ага. А с BSD как ОС случилось по сути "ничего личного, это бизнес". Разве что вместо пуль - лояры AT&T. Который потом сделал козью морду и загадив им и себе поляну - свалил на Ubuntu :D
> Но что-то мне подсказывает, что
> ты точно так же лечишься пфайзером, а не кремлевской таблеткой и
> смотришь фильмы Нолана, а не играешь в Смуту.А вот с Капоне я бизнес все же не веду, тьфу-тьфу-тьфу. Ну и BSD и MIT это инкубатор для новых Капоне буквально. И осыпание куч пермиссивных проектов и выгорание авторов без отдачи - не даст соврать. Недавно прям эпидемия целая началась.
Т.е. я совсем не против бизнеса. А вот если какой-то шустрый веник изволит вести бизнес на моем коде - пусть делится со мной или улучшает проект. Или - изволит хреначить САМ. С хрена ли я должен на него бесплатно и без отдачи пахать?
А в чем участь антилопы? Если ты проект выкладываешь в опенсорс, ты априори его даёшь без ожидания чего-то взамен. А вот давать что-то типа в опенсорс, но под вирусной лицензией - это ты по сути выкидываешь свой вклад - бизнес не будет пользоваться серьезный. Чтобы пользовались простые юзеры? Ну может быть, но это не слишком амбициозно. Линукс и с натяжкой Firefox - единственные успешные копилефты. Только Линукс - это редкая ниша ОС, в которой корпы согласны иметь общую открытую платформу, чтобы их закрытые программы работали, ну а Firefox живёт с донатов Гугла на поиск
> А в чем участь антилопы? Если ты проект выкладываешь в опенсорс, ты
> априори его даёшь без ожидания чего-то взамен.Нет, вот на минуточку. В Linux прямым текстом говорят - commit or GTFO. И в этих ваших законах о авторских правах сказано что автор царь и бог. Все права у него. Что попросит - то и извольте. Or GTFO.
Так что я как автор - вполне могу дать сорц на определенных условиях. Которые я и устанавливаю. И с ожиданием чего-то взамен. As described in copyright laws (c).
С чего какие-то хищники решили что я именно ваш жрат я не в курсе - так что не взыщите если с моей стороны при таких поползновениях в ответ - прилетает. А кто хочет вас покормить своей тушкой нашару - ему и карты в руки :)
> А вот давать что-то типа в опенсорс, но под вирусной лицензией - это ты по
> сути выкидываешь свой вклад - бизнес не будет пользоваться серьезный.А, то-есть миллиарды юнитов с линухом и даже 70% линуха на абажуре мне причудились наверное? И да, я припоминаю прогнозы от таких как вы как там фуксия ща всем даст мастеркласс и захватит мир. Годы шли. Хайпожорский пермиссив смог в захват 2 фоторамок. После чего тиму малость децимировали и планы по захвату мира урезали.
> Чтобы пользовались простые юзеры? Ну может быть, но это не слишком амбициозно.
> Линукс и с натяжкой Firefox - единственные успешные копилефты.Да неужели? А бизибокс например на сотнях миллионов юнитов - несчитово? Или там uboot которого в встраиваемых системах хоть отбавляй?
> Только Линукс - это редкая ниша ОС, в которой корпы согласны иметь общую
> открытую платформу, чтобы их закрытые программы работали, ну а Firefox живёт
> с донатов Гугла на поискСам гугл вообще смог браузер сделать - лишь потому что KDE в свое время KHTML вывалил. Но конечно корпоративный рак сделал из него те еще метастазы. Что еще корпы могут то, кроме того как все изгадить, опохабить и набить подлянами. Сколько Капоне в пиджак не наряжай, а методы бизнеса у него - характерные.
> Так что я как автор - вполне могу дать сорц на определенных
> условиях. Которые я и устанавливаю. И с ожиданием чего-то взамен.
> As described in copyright laws (c).С этим-то я как раз не спорю. Но по мне это противоречит идее опенсорс. Опенсорс - это выложил и сделал дар человечеству. А копилефт - это конкретно кружок любителей "свободы", анти-бизнес тема. Только редкие копилефт проекты могут заинтересовать серьёзный бизнес
> А, то-есть миллиарды юнитов с линухом и даже 70% линуха на абажуре
> мне причудились наверное?Я уже пояснил, что Линукс - редкий пример успешного копилефта
> Да неужели? А бизибокс например на сотнях миллионов юнитов - несчитово? Или
> там uboot которого в встраиваемых системах хоть отбавляй?Это всё та же тема - инфраструктурное. Что-нибудь вот уровня Kubernetes или PostgreSQL есть в копилефте?
> Сам гугл вообще смог браузер сделать - лишь потому что KDE в
> свое время KHTML вывалил.Не гугл, так правил бы до сих пор IE. Файрфокс его поджимал, но чисто из-за ошибок Майкрософта. А гугл хром потом отправил в область пары процентов и IE, и Фаерфокс
> С этим-то я как раз не спорю. Но по мне это противоречит идее опенсорс.А как по мне это как раз привносит баланс в идею. Когда вместо отношений master-slave, лох и гопник, и тому подобного - появляются симметричные, одноранговые взаимодействия равных с равными. Или какое-то приближение к этому.
> Опенсорс - это выложил и сделал дар человечеству.
Я предпочту делать дар тем кто его заслуживает. Тем, кто придет, присоединится, разделит косты, поможет с проектом и в итоге поможет достичь те цели что преследовал я.
А раскармливать шайку львов своей тушкой я совершенно не желаю. И для непонятливых я могу это объяснить, прямо в их формате. Так что устраивать халяву наглым типам - это вы без меня, сами.
> А копилефт - это конкретно кружок любителей "свободы", анти-бизнес тема. Только редкие
> копилефт проекты могут заинтересовать серьёзный бизнесКопилефт это кружок по интересам "давайте друг другу помогать в достижении задачи, вместо соревнования кто кого жрет на завтрак". Мне кажется что для разумных существ второй режим логичнее.
> Я уже пояснил, что Линукс - редкий пример успешного копилефта
Да как-то uboot, busybox и проч - тоже не жалуются. Да блин, хоть glibc - какой аналог то? Или чем вы библы ffmpeg допустим заменить сможете? Они все довольно успешные, в том смысле что применяются миллионными тиражами по глобусу.
> Это всё та же тема - инфраструктурное. Что-нибудь вот уровня Kubernetes или
И в чем уникальность и незаменимость энного оркестратора? Который к тому же обслуживает интересы узкой группы толстых котов и кроме них - никому нафиг не. Так что фрик шоу "банка с пауками" там может быть вопросом времени.
> PostgreSQL есть в копилефте?
И его успех - в чем именно? Он не особенно популярен. Только у всяких околокоммерческих паразитов. А в массы пошел - MySQL так то. Он на порядки популярнее. Ну или сейчас MariaDB, один фиг. Если сравнить число инсталляций - базы MySQL я рутинно вижу. Постгрес надо сильно отдельно искать. И конечно коммерческих ушлых жуликов которые сделали мизер, зато позакрывали все, EULA обвесили и пошли бизнес делать - вокруг постгра есть. Я не против бизнеса на опенсорсе но я против паразитских форматов.
> Не гугл, так правил бы до сих пор IE. Файрфокс его поджимал,
> но чисто из-за ошибок Майкрософта. А гугл хром потом отправил в
> область пары процентов и IE, и ФаерфоксНу так мозилла наняла всяких митчел и прочих хайпожоров. И получила то что должна была.
Если бы вместо Торвальдса был скажем Таненбаум - ему бы даже GPL не помог бы. Это необходимое условие, но ни в раз не достаточное.
>А в чем участь антилопы?В заработке за счёт чужого труда, очевидно же.
>Если ты проект выкладываешь в опенсорс, ты априори его даёшь без ожидания чего-то взамен.Ну и зачем так делать?
>А вот давать что-то типа в опенсорс, но под вирусной лицензиейЭто называется свободный код.
>это ты по сути выкидываешь свой вклад - бизнес не будет пользоваться серьезный.Пойди скажи гуглу, что андроид - это несерьёзный бизнес. И потом, какое мне дело до того, что компании не смогут заработать за счёт моего кода? Они запросто могли бы заключить со мной контракт, и стабильно платить зарплату, если им так нужен код. Ну или написать аналог самостоятельно, заплатив кому-то другому.
>Чтобы пользовались простые юзеры?ВНЕЗАПНО.
>в которой корпы согласны иметь общую открытую платформуВот удивительно - у корпов есть аж целая винда, поставляемая под EULA, а они, негодяи такие, почему-то выбирают свободный софт. А раньше было ещё больше операционных систем под EULA, только вот почему-то их не покупали, так и загнулись. Вот скажите, почему это серьёзные бизнесы не покупают у других серьёзных бизнесов, а?
>>Если ты проект выкладываешь в опенсорс, ты априори его даёшь без ожидания чего-то взамен.
> Ну и зачем так делать?Просто если ты хочешь осчастливить человечество. Ну и для резюме.
>>А вот давать что-то типа в опенсорс, но под вирусной лицензией
> Это называется свободный код.Ну вот в моём понимании - не особо-то этот копилефт свободный.
> Пойди скажи гуглу, что андроид - это несерьёзный бизнес. И потом, какое
> мне дело до того, что компании не смогут заработать за счёт
> моего кода? Они запросто могли бы заключить со мной контракт, и
> стабильно платить зарплату, если им так нужен код. Ну или написать
> аналог самостоятельно, заплатив кому-то другому.Чувство причастности к великому, что вот, моим кодом бизнес пользуется. Плюс могут и пригласить на работу, если понравишься.
> Вот удивительно - у корпов есть аж целая винда, поставляемая под EULA
Винда не у бизнесов, а у Майкрософт. ОС - по сути единственная ниша, в которой копилефт может быть на мой взгляд оправдан, и то у линукса из-за этого было и есть кучу проблем (долго не мог подцепить Sun'овский код ZFS, например)
>Просто если ты хочешь осчастливить человечество.Человечества не существует. Есть куча разрозненных груп и осчасливливая одну, печалим другую, а третьим до этого вообще нет никакого дела.
>Ну вот в моём пониманииЭто официальное общепринятое название, которое нужно использовать при беседе с посторонними людьми, иначе вас банально не поймут.
>Чувство причастности к великому, что вот, моим кодом бизнес пользуется.Устраивайтесь работать в бизнес и вашим кодом гарантированно будут пользоваться. Выкладывать для этого совершенно ничего не нужно.
>Плюс могут и пригласить на работу, если понравишься.Зачем им вас приглашать на работу, если вы уже код забесплатно выложили? И потом, ну не будет условная японская Сони приглашать условного датчанина на работу, по крайней мере не массово. Он японского не знает, живёт далеко и всё такое прочее. Она найдёт местного локального японца, и будет платить зараплату как раз таки ему. Таненбаум не даст соврать - накодил Minix, и так бы и умер в неведении, если бы русски не раскопали правду.
>Винда не у бизнесов, а у МайкрософтА M$ это что, не бизнес? А всякие солярисы, ириксы и прочее?
>ОС - по сути единственная ниша, в которой копилефт может быть на мой взгляд оправданОн везде оправдан: и в компиляторах, и в браузерах, и в языках программирования и так далее. Не нравится? Иди покупай готовое решение под EULA, либо пиши собственное.
> Это официальное общепринятое название, которое нужно использовать при беседе с посторонними людьми, иначе вас банально не поймут.Опять же, опенсорс - это и копилефт, и пермиссив. На опеннете принято порицать пермиссив, а я вот считаю, что пермиссив ближе к духу истинной свободы, чем вирусный копилефт.
> Зачем им вас приглашать на работу, если вы уже код забесплатно выложили?
Толковые программисты в дефиците. Если ты написал крутой код, то тебя можно нанять писать ещё больше крутого кода уже для этой конторы
>>Винда не у бизнесов, а у Майкрософт
>А M$ это что, не бизнес? А всякие солярисы, ириксы и прочее?Ну Майкрософт это один конкретный бизнес, а у других-то ОСи не было. И тут вот повезло Линуксу по разным причинам вырасти в общую платформу.
> Не нравится? Иди покупай готовое решение под EULA, либо пиши собственное
Ну так мы это и видим - бизнес во всю пишет сам и отказывается от гнутого, либо же переходит на MIT и другие пермиссив альтернативы, как тот же Clang вместо GCC или uulibs вместе гнутых. Все последние великие вещи, вроде Kubernetes - пермиссив
> Толковые программисты в дефиците. Если ты написал крутой код, то тебя можно нанять писать ещё больше крутого кода уже для этой конторыТак зачем его нанимать, если он и так пишет то что тебе нужно?
Так он один раз написал то, что мне нужно, не каждый раз. А если мне нужны навыки его как специалиста, и я вижу этот его проект как доказательство его компетентности - я могу его взять и пригласить к себе
А можешь не брать и не приглашать.Есть множество способов как надавить на человека, что бы он сделал то что тебе нужно.
>Если ты написал крутой код, то тебя можно нанять писать ещё больше крутого кода уже для этой конторыВы не сказки рассказывайте, а возьмите статистику по популярным библиотекам со свободным кодом и количеством трудоустроенных авторов. Условный гугл или огрызок не облез бы, если бы нанял автора libxml на сопровождение библиотеки, только вот он этого почему-то не сделал.
>Ну Майкрософт это один конкретный бизнесКто мешает покупать у этого конкретного бизнеса?
>а у других-то ОСи не былоБыли. OS/2, SunOS и так далее.
>бизнес во всю пишет сам и отказывается от гнутогоМы видим обратную тенденцию - если раньше каждый мелкий бизнесмен толкал свой собственнический код, то сейчас даже крупные корпорации открывают свои нараотки.
> Просто если ты хочешь осчастливить человечество. Ну и для резюме.А что если вместо этого я хочу - объединиться с теми кто поможет рещить мне вот эту задачу и разделить сложность и косты на несколько рыл? И осчастливливать я буду прежде всего - их. За то что помогают мне. А за резюме и осчастливливание львов путем кормления своей тушкой - вы там сами топите, во! Своей тушкой львов и кормите! :D
> Ну вот в моём понимании - не особо-то этот копилефт свободный.
А в моем понимании те закрывает общедоступный сорц - паразиты, фрод и скам.
> Чувство причастности к великому, что вот, моим кодом бизнес пользуется. Плюс могут
> и пригласить на работу, если понравишься.И какая мне радость что гугло отлично отпаразитировал на мне, получил миллиарды и дал мне с всего этого - дырку от бублика? Я буду знать что я гранд-лох? А это точно - фича? :)
Я думаю что получить или эн денег или комитов в проект - куда прикольнее чем "чувство причастности" + дырку от бублика.
> Винда не у бизнесов, а у Майкрософт. ОС - по сути единственная
> ниша, в которой копилефт может быть на мой взгляд оправдан,Если так посмотреть - с BSD/MIT/APACHE <-> Proprietary и в других местах горя можно хлебнуть. И куча проектов воющих как мартовские коты что их юзают, и ничего взамен не дают - не дадут соврать. Так что да, лохи среди програмеров что-то стали подзаканчиваться.
>без драйверовВот, кстати да, про чуть ли не самое главное все забывают. А между прочим линуксант.ком ещё работает, если кто пользовался
А что случилось с той их операционкой где "всё есть ссылка" по аналогии с юниксовым "всё есть файл"? Концепция провалилась?
> Концепция провалилась?Нет, ее пилят как могут полтора землекопа.
Она даже на реальном железе запускается, что в общем-то удивительно без драверов-то.
Написать драйверы под пару тестовых железок, если уж за ОС взялись, могут наверное. А про какую ОС речь?
> Написать драйверы под пару тестовых железокТак под пару и написали))
> А про какую ОС речь?
Про redox os
Пишется на расте всё - от загрузчика и ядра до DE (COSMIC пишет system76).
Сколько людей ее пишут можно глянуть в их гитлабе (gitlab.redox-os.org/redox-os/redox).
Спойлер - целых 9 (девять) тел и без финансирования корпами.
И тем не менее оно вполне себе работает (на подходящем железее)
> без финансирования корпамичто показывает, насколько она нужна.
> что показывает, насколько она нужна.Так так про многое можно сказать.
Про сорта БСД, про всякие опенсолярисы и прочую маргинальщину.
Про Хурд в конце концов! Хотя тут согласен, Хурд не нужен))
А ведь оно все написано на божественной сишечке!Я в общем-то и не утверждал что редокс нужна.
Но свое дело она сделала - показала что возможно написать ОС на раст.
А ржаветь будет линукс, потому что у них есть деньги.
>что показывает, насколько она нужнаНет, это ничего не показывает, кроме того, что корпы не спешат вкладываться в пока ещё рисковый с точки зрения финансового результата проект.
> Спойлер - целых 9 (девять) телцелых десять лет. Или уже больше.
А оно все еще "вполне себе работает". То есть - загружаетцо. На "подходящем железе". Ну в qemu короче.
На Си справилось три человека за пол-года. Причем "подходящее железо" даже нормального окружения разработки не имело (его-то они и написали) и скомпилированный код переносили чуть ли на на перфоленте.
Еще через пол-года они написали минимум одну прикладную программу, которую уже использовал бизнес. А еще им пришлось придумывать с нуля абсолютно все. (Начиная вот от парадигмы все есть файл) Язык, компилятор, инструменты.Юникс, не, не слышал?
(ну да, ну да - кто-то платил им все это время зарплаты, по тем временам, видимо, очень даже немаленькие)
Ну а когда через еще двенадцать лет один финский студент написал полуработающее ("загружалось", ога) ведро - у него всего через год отбоя не было от желающих сотрудничать (потому что уже существовал интернет, и он мог донести информацию о своей поделке, ну и ему не приходилось с этими желающими делить единственную pdp11, которая только загружалась минут по 15 и без конца ломалась).
>у него всего через год отбоя не было от желающих сотрудничатьНу так посредственное всегда хорошо залетает широким к***вым массам
Ну, вот, а ваше произведение искусства - совершенно, как корабль в бутылке, но нахрен никому и не нужно.
Вот поэтому девять кое-какеров в свободное от шабашки время написали "загружаетцо".Десятого уже не нашлось, широкие массы не хотят годами зубрить закорючки, каждый день новые.
Кораблем хоть полку можно украсить. Пыль с бутылки вытирать удобно. А с этим вот что делать?
>Ну, вот, а ваше произведение искусства - совершенно, как корабль в бутылке, но нахрен никому и не нужно.Дык Redox пока далеко позади имеющихся, более развитых по функциональности. Когда хоть примерно догонит, тогда посмотрим, где окажутся поделки сишные. Хотя вполне возможно, что Линукс к тому времени уже на Rust будет.
Также не будем забывать о требованиях к языкам программирования (пока это не совсем требования, но до них уже недалеко) со стороны одного из самых крупных заказчиков ПО планеты - правительства США.
как тоись - опять позади?! ДЕВИТЬ ЧИЛАВЕК ДЕСИТЬ ЛЕТ пилили-пилили, да так и позади?!> Когда хоть примерно догонит
"ааа, ну пока пойдем к катьке, ее куклой поиграем"
> Также не будем забывать о требованиях к языкам программирования (пока это не совсем
> требования, но до них уже недалеко) со стороны одного из самых крупных заказчиков ПО
> планеты - правительства США.Если бы эти "требования" не были выдуманы хрустофанатиками - мы бы уже видели использование аналогов-не-имеющего-ресдоха. Но их - нет.
Поэтому даже перспективных разработок с неопределенными планами на реализацию - на хрустоосе нет.
Это мог бы быть просто эталон ненужно, но ДАЖЕ в палату мер и весов ее не взяли. Там уже занято.(вот кстати заметь - тут есть чем погородиться. У нас есть не только "требования", а реальное массовое применение ель-бруса не только для подпирания строительных лесов бесполезными ящиками. Правда, лучше б уж не было, никто теперь толком не знает как списывать и чем оплачивать замену, ну и внутре там небезопастный линукс конечно же, с небезопастной жабой. А тегированная память так и не нашла себе никакого применения)
>целых десять лет. Или уже больше.
>На Си справилось три человека за пол-года.Может ещё функциональность посравниваем? Сетевой стек там, GUI, поддержку файловых систем и прочее? Ох уж эти эксперды.
>Ну в qemu короче.
Если бы очередной эксперд сходил на сайт ОС, увидел бы своими глазами, что железо реальное.
> Может ещё функциональность посравниваем?я тебе и сравнил - поделка ниправильных-ниправильных на ниправильном - через год после того как окончательно оформилась в хотя бы примерно рабочий вид - использовалась бизнесом.
Ну надо же - без сетевого стека, гуя и прочего. Как жыли - непонятно, учоные спорют.
С линуксом тоже неплохо получилось - в 95м кое-кто уже массово настраивал эти самые линуксы по разным подвалам.
А твой фетиш где используется? Ну хотя бы самими гениальными автырями? А, полочку украшает.
> Если бы очередной эксперд сходил на сайт ОС, увидел бы своими глазами, что железо
> реальное.не хотел бы тебя огорчать, но реальное железо на сайте - это когда сайт на этой ос на этом железе. А остальное - картиночки в интернете.
> целых десять лет. Или уже больше.Попрошу, всего десять лет!
Вон Хурд уже пилят 35 лет и оно смогло в 64бита только в этом году.> На Си справилось три человека за пол-года.
Нет сомнений что навонякать на сишке можно быстро. А потом годами править CVE.
Зато быстро))> написал полуработающее ведро
В котором было 10к строк кода? И оно почти ничего не умело.
Правда это он смог компенсировать "натырив" чужой софт.> у него всего через год отбоя не было от желающих сотрудничать
Не через год, а когда IBM довели это поделие что до чего-то удобоворимого выделим лямы бабла, а главное нормальных разрабов.
>> На Си справилось три человека за пол-года.
> Нет сомнений что навонякать на сишке можно быстро. А потом годами править CVE. Зато быстро))Ну что поделаешь - наш мир не идеален, и он АЖ с 1970 сделан на Си :-р
А ваш идеальный на расте ... ну типо как победа коммуниЗЪма - неизбежна, но в пути кормить не обещали :)
>А что случилось с той их операционкой где "всё есть ссылка"Redox не стремится развивать Линукс-совместимое ядро. "Все есть URL". Не путай, URL и ссылки, это разные вещи.
Отличная новость, пусть теперь удаляют из нормального ядра ржу.
> Отличная новость, пусть теперь удаляют из нормального ядра ржу.Ахаха!
Мне кажется что до вас не доходит зачем на самом деле это делается)))
Но спойлерить не буду.
Вы имеете в виду лицензию MIT?
Кто удалять должен? «Нормальное» ядро пишут те, кто поддерживает ржу. Сюрприз! Иди удаляй))
те кто ее там поддерживают - двадцать лет ничего уже не пишут кроме как "на псевдо-коде".
Слона-то я и не заметил (c)
Напишете письмо Линусу? Ну а вдруг пойдёт вам навстречу.
Чек на пару миллиардов $$ в конверт засунуть не забудьте. А то наш миллиардер другие письма сразу в камин кидает. Заботится об экалогии.
> экАлогииТонко) Интересно, сколько ему дали за ржу.
>> экАлогии
> Тонко)Так это же "нах", он "по происходению" по большей части от kaлʼе думает, судя по комментариям.
> Интересно, сколько ему дали за ржу.
А ему должны что-то давать?
Может он сам запарился ревьювить CVEшки?
Не, это слишком просто, давайте придумает теорию заговора!
> Не, это слишком просто, давайте придумает теорию заговора!Зачем что-то придумывать? Корпы уже давно танцуют фина - тут не нужно быть экспертом. Корпам нужен раст, чтобы удешевить тяпляп. Корпам не нужна стабильност, то есть им как бы все равно, что ты (да именно ты) не сможешь что-то там у себя собрать, будешь потреблять бинарники. Отсюда и отсутсвие стандарта у раста и сторонних реализаций.
> Зачем что-то придумывать? Корпы уже давно танцуют фина - тут не нужно быть экспертом.Не халявщик, а партнер (с)
> Корпам нужен раст, чтобы удешевить тяпляп.
Ну пока тяп-ляп получается только у дыpяßых.
Сколько там CVE в ядре из-за памяти? От то-то и оно!> Корпам не нужна стабильност, то есть им как бы все равно, что ты (да именно ты) не сможешь что-то там у себя собрать, будешь потреблять бинарники.
Ага. И мне тоже абсолютно пофич что кто-то не сможет собрать, например по причине древности железки.
Свой код я пишу для себя. Я готов безвозмездно им делиться, но на этом всё.
Вам нужна поддержка чего-то? Пишите сами> Отсюда и отсутсвие стандарта у раста и сторонних реализаций.
Стандарт это не обязательная вещь.
Вон C# стандартизован ISO. Много есть сторонних копиляторов и реализаций?
Есть куча успешных языков, без ненужной стандартизацииИнтернет работает по RFC и этого достаточно.
> Вам нужна поддержка чего-то? Пишите самиТут огромная проблема, что не выйдет писать поддержку чего то ибо это на корню зарубили использованием rust.
>> Вам нужна поддержка чего-то? Пишите сами
> Тут огромная проблема, что не выйдет писать поддержку чего тоНапример чего?
Раста в том же ядре капля - несколько десятков тысяч строк.> ибо это на корню зарубили использованием rust.
А можно пример?
Вот что такого невозможно поддержать из-за раста?
> Вот что такого невозможно поддержать из-за раста?Если для git rust будет обязательной зависимостью то отпадут коммерческие юникса, досихпор кое где использующиеся и ради которых даже ограничивают использование возможностей Си в кодинг стандарте.
> Не, это слишком просто, давайте придумает теорию заговора!Политические лозунги в блоге раста тоже случайность, никаких заговоров.
>> Не, это слишком просто, давайте придумает теорию заговора!
> Политические лозунги в блоге раста тоже случайность, никаких заговоров.Думаю стоило привести ссылку, или хотя бы цитату.
А то сейчас такое время, что политикой называют что попало.Вон на Торвальдса тоже наехали, когда он политизированный мусор выкинул из мейнтенеров.
все ради пермиссивной лицензии, а заявления про безопасность для отвода глаз...
Но ради этого у нас уже есть FreeBSD.
> Но ради этого у нас уже есть FreeBSD.Вторая попытка. Первая провалилась. Теперь довеском "безопасность" привязали. Вдруг прокатит...
Забавно смотреть, как хэйторы раста пишут, что Раст в линуксе не нужен. Дорогие опеннетовцы, вы ошибаетесь. Линукс пилят исключительно корпорации, и если им что-то нужно - они впихнут это в ядро, а раст включили, и не спросили уважаемое камьюнити.
Забавно читать как раст "включили" в ядро. Сколько там осталось сопровождающих? Недавно ушёл, остался ОДИН.
Сколько рабочих драйверов написано? Яблочный драйвер заброшен разработчиком. Nvidia драйвер (который открытый) – 98,3% на Си, следом пара процентов на плюсах. Tyr для арма – поделка для запуска гнома.
Так о каком включении раста в ядро идёт речь? Просветите, пожалуйста.
И вышеперечисленное "достигнуто" за 7-8 лет. Разработчиков раста в ядре нет. Начатые проекты заброшены.
Пора бы открыть глаза и смотреть правде в лицо. Если бы раст там был, то, не смотря на личную неприязнь к языку, я бы не стал отрицать вклад. Но вклада НЕТ. Полный ноль.
Что вы так нервничаете? Не надо париться, если корпорации включили Раст в ядро - значит им нужно. И спрашивать никого они никогда не будут. А что пишут про раст сишники - корпорациям всё равно. Корпорации - хозяева линукса, они и решают.
Попробуйте ещё раз, придумайте более оригинальный копиум.
> А что пишут про раст сишники - корпорациям всё равноСишники про раст пишут, что надо давать возможность писать куски кода на раст. Сюрприз, да? Корпорации ООО «Торвальдс» и ЗАО «Хартман» не дадут соврать, я гарантирую это.
ну вон гуглю вроде бы нужно - он там прослойку к прокладке (которая непонятно зачем нужна именно внутри ведра) нахрустел, говорят.Но поскольку она ни с чем не совместима и документация на нее тоже у гугля - то и используется дальше только гуглем. (ну зато как вы любите, самый шв@6одкиный копилефт, налетай, бесплатное раздают... только вот куда его пихать будете - не знаю)
Ну и еще вон вроде нвидия повелась. Ей, волею его величества с пальцем, досталась незавидная задача именно прослоек между прокладками писать под шв@6одкиной лицензией. Вряд ли ее прошивка, в которую ей пришлось теперь перенести настоящее управление железом - написана на хрусте. А для этой задачи, структурки готовые между настоящим драйвером и ведровыми интерфейсами перекладывать - может хруст и зайдет. Но что-то пока даже мигать экраном не получается. Наверное, всех хрустеров гугль скупил на корню, нвидии не хватило. А новые что-то не растут.
Я совершенно уверен, что в Linux ядре с устоявшимися разработчиками и процессами,
никакой Rust не нужОн.Обоснование: есть система нормально работает, понятные процессы, опытные специалисты.
Пеерзод на Rust это на первых порах проблема с адаптацией, процессами, сложность поддержки
всего этого франкиштейна.
Создать нужно отдельный linux-rs и там экспериментировать, а желающие из Linux всегда могут прийти и помочь с разработкой.Зачем лезть к людям и травмировать их какими-то новыми правилами.
> Пеерзод на Rust это на первых порах проблема с адаптацией, процессами, сложность поддержкивсего этого франкиштейна.
Эти первые поры длятся уже годы. Люди выгорели и ушли.
> никакой Rust не нужОн.Отличное начало, учитывая к какому мему идет отсылка))
> есть система нормально работает,
с кучей дыр из-за сишки, причем никто не знает как научить разрабов ею правильно пользоватся))
Торвальдс в своем интервью [1] говорит "You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."
Грег Кроа-Хартман, который про себя пишет "as someone who has seen almost EVERY kernel bugfix and security issue for the past 15+ years [...], and who sees EVERY kernel CVE issued" считает [2] что "The majority of bugs (quantity, not quality/severity) we have are due to the stupid little corner cases in C that are totally gone in Rust."
> понятные процессы,
древние процессы, хорошо хоть не голубиной почтой патчи отправляют
> опытные специалисты
Может и опытные, но глупые ошибки по невнимательности делать продолжают.
> Создать нужно отдельный linux-rs и там экспериментировать,
Ты не поверишь, но именно так и сделали! Сделали отдельную ветку rust-for-linux и там все делали. А сейчас все эксперименты завершились успешно и это все мерджат в мейнлайн
> Зачем лезть к людям и травмировать их какими-то новыми правилами.
Зачем расстраивать бедных необучаемых дидов?))
Наверное чтобы проект стал лучше и надежнее, чтобы он развивался, а не стагнировал.[1] zdnet.com/article/linus-torvalds-talks-ai-rust-adoption-and-why-the-linux-kernel-is-the-only-thing-that-matters/
[2] lore.kernel.org/all/2025021954-flaccid-pucker-f7d9@gregkh/
> А сейчас все эксперименты завершились успешно и это все мерджат в мейнлайнЗачем эксперименты в мейнлайн. В мейнлайн желательно рабочее решение а не эксрименты.
Хотя условная компиляция позволяет и туда пихают все потребное и не потребное.
Как поощрение к разработке и в попытке затянуть в НОРМАЛЬНУЮ разработку ядра тех кто увлекается этим всяким непотребным.
У меня возникло чувство дежавю:
Проект Kerla развивает Linux-совместимое ядро на языке Rust 26.10.2021 16:02 https://www.opennet.me/opennews/art.shtml?num=56043 последний коммит last year
Проект Asterinas развивает ядро на языке Rust, совместимое с Linux
16.10.2024 12:40 https://www.opennet.me/opennews/art.shtml?num=62061 последний коммит 9 hours ago
Ядро Maestro, написанное на Rust и частично совместимое с Linux
04.01.2024 15:15 последний коммит 2 weeks ago
Основная проблема с такими проектами в том, что первоначальный hello world пишется быстро, а вот доведение до сколько нибудь полезного состояния - занимает больше времени, чем хватает энтузиазма у разработчиков.
> Основная проблема с такими проектами в том, что первоначальный hello world пишется
> быстро, а вот доведение до сколько нибудь полезного состояния - занимает
> больше времени, чем хватает энтузиазма у разработчиков.Ну как грится, пусть заходит - четвертым hello world'ом будет...
И да, я решительно не понимаю как допустим ioctl линуха можно сделать "safe" по их семантике. Вот хоть вы там тресните все.
По этому они зайдут с другой стороны. И ioctl уберут.
Это всё хобби проекты just for fun. Вряд ли кто-то из них целью ставит конкуренцию с линуксом.Пишут совместимое с линуксом, только потому что под Linux API уже есть софт и инфраструктура.
>Проект Kerla развивает Linux-совместимое ядро на языке Rust 26.10.2021 16:02 https://www.opennet.me/opennews/art.shtml?num=56043 последний коммит last yearА вот еще одно дежавю. Google делает ChromeOs ( не прокатило ). Anroid делает AndroidOs ( для desctop ).
Или нет, Mail.ru создает социальную сеть. Не прокатило. Max Messenger от Mail.ru.
Пробелма OpenSource это финансирование. Если его нет, то вопрос в том на сколько хватает мотивации (экспертизы) ведущего разработчика.Если заходит какой-то Foundation, то тогда сразу возникает умный вид у людей и продолжаться это может бесконечно.
Для безопасности - написание ядра на Rust в общем-то и не нужно.Для безопасности нужно использование подход к разработке ОС на базе микроядра. Чтобы максимум кода был вынесен в userspace.
Но микроядро - это всегда сниженная производительность.
Готовы ли мы смириться со сниженной (процентов на 30) производительностью ради безопасности и надёжности?
Так а на сколько снижена производительность из-за spectrum-ов и всяких там melt-дауно-ов?
Может пора разработать хороший процессор, который изначально будет заточен под микроядра и userspace? Пожалуй цорпорации не одобрятЪ!
Да и программисты ныньче "жырным" кодом проистекают. :(Так что, туши свет и ложись спать!!! ;)
> Может пора разработать хороший процессор,Пора! Начнете завтра? Или после завтра?))
> который изначально будет заточен под микроядра и userspace?
Отличная идея.Взять se4l и полностью закрыть юзерспейс.
Тут проблема курицы и яйца. Или скорее жабы и гадюки. В свое время дыроязык накидали по-быстрому чтобы чуть упростить программирование тогдашнего старинного железа. Но потом дыроязык пролез во все щели и теперь уже железо вынуждены проектировать под архитектуру дыроязыка. И чтобы порвать этого Уробороса надо создавать одновременно комплементарное железо и парадигму программирования под него.
Только проблема в том, что это язык может под ЛЮБУЮ архитектуру.А новым танцорам....
>Может пора разработать хороший процессор, который изначально будет заточен под микроядра и userspace?Процессор, в котором не будет колец защиты?
А кольца защиты они для чего нужны?
А зачем они тебе - эти кольца? ХОТЬ КТО-ТО за 40 лет поганой x86 архитектуры их использовал?? Максимум - кольца 0 и 3. И никакие "кольца" не помогут защите, если сама архитектура - дырявое peшeт0 (как эти пресловутые rwx).Сам код системы должен проверять привилегии (коии могут быть весьма гибкие), а не полагаться на захардкоженые 0-3 кольца.
> ХОТЬ КТО-ТО за 40 лет поганой x86 архитектуры их использовал??Хе-хе :) Кто-кто - полумх-полупчёл!!!
Я про OS\2 - вот они ВСЕ четыре кольца пользовали! Потому и софта под них - кот наплакал :)
Ну и если не гоню то у Novell NetWare некоторые NLM-ки были не на нулевом и не на юзерском кольце... но тут наверняка - не помню.А потом "хренасе сказку сократили!(С)" - kernel space \ user space и всио... Но как то все живут :)
Шел 2025 год, по опеннету бродил призрак Танненбаума и пугал экспертов своим микроядром.
Снижение п-ти на 30% - это отголоски 80386.1. Всё зависит от метода работы с ЦПУ. Если использовать uдu0тский "защищённый режим" с его task gates, ТРЕМЯ(!) кольцами защиты, кучей системного мусора - тогда да, утонем и в багах, и в накладных расходах. Если взять AMD64 режим с flat памятью - всё будет хорошо.
2. Микроядро - всего лишь вариант архитектуры и он совсем не обязателен как жёсткое разделение "вот это - система, а остальное само по себе". По факту, нужен всего лишь "наножонглёр ресурсов", а всё вокруг него будет той самой "системой" - менеджер памяти, прерываний, ФС, HAL... Тут ключевое - не "мир пополам", а модульность. Чем больше (независимых) модулей, тем легче всё это обновлять, переносить, тестировать и т.п.
Почему-то мне вспомнилось верифицированное микроядро https://sel4.systems/
Вау, как мне импонирует Ваш комментарий! Жаль что таковых мало :(Давайте поработаем за инженеров (хотя я думаю, что они наверняка поумнее меня будут, просто над ними эффективные манагеры присутствуют ;).
Вот у меня сейчас в системе примерно 300 процессов (вместе с потоками ядра).
Так вот, почему бы не дать каждому процессу (и/или потоку) по процессору со своим кусочком памяти. И доступ к общей памяти через контролер памяти управляемый процессором с микроядром (или чем то еще) и прочие механизмы взаимодействия через соответствующие контролеры (программируемые процессоры)?!?!?! Остальное малопотребное барахло (если основных процессоров не хватает) запускать в отдельном загоне (как определить, что есть малопотребное барахло?) и взаимодействовать с остальными через либастрал!
И конечно же, в системе нам необходимо иметь много различных по характеристикам процессоров, с возможностью миграции процессов (потоков) между ними!И еще, у нас сейчас, в основном, остались очень высококвалифицированные программисты, которые по заказу наваяют Вам гигаметры кода. Так что для этой микроархитектуры изначально необходимо предусмотреть минимум 4 рукоятки для удобства переноски устройства! ;)
ИМХО, думаю среднестатистический человек со смартфоном в руке сильно деградировал, так что может и не взлететь. :(
Да и зачем делать лучше и дешельле, когда и так хавают :((Удачи!
> Если взять AMD64 режим с flat памятью - всё будет хорошоКак говорится у вас есть три опции:
быстро, безопасно, микроядро.Выбрать можно только две.
> Тут ключевое - не "мир пополам", а модульность. Чем больше (независимых) модулей, тем легче всё это обновлять, переносить, тестировать и т.п.Как показала практика - модульность хороша, пока ее можно однозначно определить, но когда между модулями граница рисуется на глазок и есть безумное множество из разбиений, то внедренная модульность оказывается не с теми границами и для их изменения нужно менять архитектуру ВСЕГО. И на это тратится в сотни раз больше времени.
> Как говорится у вас есть три опции: быстро, безопасно, микроядро.
> Выбрать можно только две.А тут уже второй вопрос, какие вам важнее.
Зачем вам супер быстрая криптолиба, если она дырявая?
Ведь ее дырявость превращает её не в "просто либа", а дает еще и ложное ощущение что все ок.
Скорость можно нарастить железом (главное не добавить пару дыр в нем))).А пока имеем вроде быстрое и мега дырявое ядро.
Зато монолит)
> А тут уже второй вопрос, какие вам важнее.Это не второй вопрос. Это передёгивание.
Сейчас имеем быстрое и безопасное монолитное ядро.
Микроядро с общим адресным пространством в сеть даже кратковременно выпускать нельзя. Доказано разработчиками QNX и их попытками поддержать сервер на QNX.
А если сделать безопасно (QNX позволят выбрать или скорость или безопасность) то тормоза.
> Сейчас имеем быстрое и безопасное монолитное ядро.Ахахаха!
То-то Торвальдс ныл что "You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."
а Грег пишет про "The majority of bugs (quantity, not quality/severity) we have are due to the stupid little corner cases in C".
Ну посмотри на альтернативы. На сервера в интернете на микроядрах.
> Для безопасности - написание ядра на Rust в общем-то и не нужно.
> Для безопасности нужно использование подход к разработке ОС на базе микроядра. Чтобы
> максимум кода был вынесен в userspace.
> Но микроядро - это всегда сниженная производительность.
> Готовы ли мы смириться со сниженной (процентов на 30) производительностью ради безопасности
> и надёжности?Как бы на qnx куча решений, и в darwin тоже гибридное ядро (а это вся техника яблочников), а тот самый minix используется в микросхемах intel. Поэтому вопрос надо ставить по другому: а точно ли мы все понимаем?
"Из особенностей архитектуры Moss отмечается использование модели async/await для обеспечения асинхронного выполнения компонентов ядра"В Linux'е это через tasklet'ы
Про них уже пора бы забыть: https://lwn.net/Articles/960041/
> ядро легко может быть портировано для других архитектур, таких x86_64 и RISC-V, благодаря прослойке для абстрагирования поддержки оборудованияНу, наконец-то! Хоть у кого-то мозг заработал в правильном направлении.
Собственно, windows nt был так и написан, сразу под несколько архитектур. И что интересно, х86 появился не первым.
> Собственно, windows nt был так и написан, сразу под несколько архитектур.
> И что интересно, х86 появился не первым.Что еще интереснее - он по факту неюзабелен почти на всем кроме x86. На одноплатниках на ARM его почти нет, на RISCV - я даже не уверен что оно теоретически бывает. Драйверов - нет. И не будет уже.
Потому что архитектуры под которые он был когда-то написан - это архитектуры полноценных компьютеров.А под одноразовые китайские поделки умеющие мигать одним светодиодиком - никто ничего писать и не собирается. Потому что они и нахрен никому не упали.
А не потому что ты придумал очередную чушь и в нее свято уверовал.
эм?
Нет никакого смысла "сразу под несколько архитектур". Каждая из них по-своему уникальна и если уж вам понадобилась "одна ОСь на всех", то добиваться этого можно куда умнее и эффективнее: СТАНДАРТНЫЙ API. Пусть под капотом всякие кольца, перфокарты, но наружу будет торчать набор функций, на котором можно писать приложения, переносимые буквально ребилдом под архитектуру.
Ну примерно так и будет. Если писать на rust.Ибо он не предназначен для условной компиляции.
Но тут есть огромная загвоздка в дублировании кода. В многодесятикратном дублировании.
И когда ошибка исправляется в одном варианте - нужно будет править во всех других.
У уж как это увеличивает работы по малейшему изменению архитектуры....
В этом плане будет существенно жестче чем микроядро.
> СТАНДАРТНЫЙ API.Ты описал форточковый HAL? :)
поэтому у энти СТОЛЬКО портовне то што этот ваш отсталый линакс
Снова монолит((( ядро 70-х годов
А микроядро из 80х - не сильно то и позже, особенно если говорить об этом в 2025г.
> > ядро легко может быть портировано для других архитектур, таких x86_64 и RISC-V, благодаря прослойке для абстрагирования поддержки оборудованияУ NetBSD подсмотрели.
У windows nt.
дооо, поэтому для венды на ARM пришлось впилить ACPI или ещё чето "традиционненькое".
>распространяется под лицензией MITНет, спасибо.
Пять человек решили попробовать написать ядро ОС на Раст. Не известно, получится ли сделать, но новость уже появилась. А почему не пишите про проекты, которые кто-то пишет на других языках? Там может быть тоже есть ядра ОС, которые работают на определенных архитектурах!
Ну потому что и не пишут. В смысле, не переписывают. (студенческие курсовики умеющие только саомдельный шелл запустить в однозадачном режиме наверное еще остались, хотя я не уверен)Новость же, что ты не только "начал переписывать", но и смог хотя бы запустить (не важно что команды не работают) busybox на своем ядре на брейнфаке - заслужила бы гораздо больше внимания чем этот недоделок.
Ну или на форте хотя бы давай...
Про что интересно хозяевам площадки про то и пишут. А ты как думал?
Создавать ядро на языке без стабильного ABI. Гениально.
Как это водится у неумеющих в ИИ: полное отсутствие проектной документации.- Какие у проекта цели?
- Какие приоритеты?
- Какие ключевые решения на путм к означенным целям были приняты и почему?
- Какие ключевые решения были отвергнуты и почему?Ваще по нулям всё. Я тоже в 13 лет так программы писал: сел такой, написал функцию main, а дальше само что-то о чём-то.
Из их ридми ясно только:
1. Это - ядро ОС
2. В нём должны быть сисколы линуксаНо это примерно как сказать "давайте сделаем веб-сайт! И ещё у него будет поддержка хрома". О чём веб-сайт? Какие проблемы он призван решить? Как он будет их решать?
Использование ИИ учит вот это всё - design doc - составлять задолго до первой строки кода. Но растодиды так не умеют, или доки где-то спрятали, что странно.
Щас такую страшную тайну раскрою, что есть всякие Tilda, Bitrix-ы и прочие Joomla.
Конечно черт знает зачем им кому они все нужны, но на них можно сделать ну прям любой сайт.
Так же и тут есть концепция и идея (сюсколы линукс), а дальше туда кладем кавкой-то исполняемый файл и вот тебе рабочая песочница без Docker-ов и прочей ерунды на Golang.Через какое-то время делаем для этого Rust поделия простенький процессор и втыкаем AoC (Application On Chip) прилождение на чипе. Скажем сетевое например.
Надо конечно подумать можно ли как-то по сети передавать так быстро как надо, но для простых применений вроде например сетевые колоночки, сетевые базы данных, сетевые хранилища, то ввполне подойдет...
Как это водится у любителей ии неспособных кодить - верование что их ритуалы что-то решают.Какая "проектная документация" существует у самого linux?
И да, ЫЫ конечно феноменально т-п, но на твои вопросы он смог бы ответить даже без подсказок.
Цель очевидная - создать ядро на безопастном языке, совместимое по аби с линуксом.Приоритет пока - чтоб бизибокс не только запускался, но и хотя бы ls выполнял.
(работы в общем-то на год или два минимум)Ключевое решение - писать код. Даже вроде начали выполнять.
Отвергнутое решение - вместо кода писать галиматью для ыы, в надежде что тот сделает все за тебя и в ротик тебе положит разжеванное.
> Использование ИИ учит вот это всё - design doc - составлять задолго до первой строки кода
до кода у тебя, похоже, дело не дойдет совсем. А чо, дизайндоки написаны, дело в шляпе. Щас ыы прокачается и к 2038му напишет все за тебя.
Если что - дизайндок на который когда-то опирался Линус - называется "[already not so]Modern Operating Systems". Написан в 1992м году.
Ну и там Стивенс еще какой-то пробегал, а то опять только драйвер для intel me получится.
> (работы в общем-то на год или два минимум)А, не, тут они уже срезали все углы - "fat32" у них, вместо сложных и хрустерам видимо непонятных posix fs, тут можно было и за пару месяцев управиться.
(отдадим должное Линусу, он сразу начал со сложного. Хотя у него наверное особо и не было выбора, ему ж не бизибокс надо было запустить.)
> Ключевое решение - писать код. Даже вроде начали выполнять.Какой код-то писать? Какие подсистемы, как они взаимодействуют, почему именно так, какие проблемы каждая из них должна решить, какие не должна, почему не должна, что на сейчас а что на потом, и так далее. Или ты хочешь сказать что эти программисты вообще ничего не продумывают и не придумывают, а просто по какому-то шаблону фигарят? Тогда их ОС нах не нужна, тк там не улучшений или специализации под конкретные задачи, что бы в чём-то быть лучше других ядер.
>> Ключевое решение - писать код. Даже вроде начали выполнять.
> Какой код-то писать? Какие подсистемы, как они взаимодействуют, почему именно так, какиедля этого хватит царапок карандашиком на одном листике a4.
Через неделю переделаешь, потому что вон то оказалось сложно реализовывать, в этом оказалась принципиальная проблема, а без этого вот - можно и вовсе пока обойтись.
А реальное что от тебя потребуется - долбать, долбать, долбать по клавиатуре. Часами, днями, неделями, месяцами. ВНЕЗАПНО. Программирование чего-то чуть сложнее хеловротов - тяжелая монотонная работа, требующая не столько специальных каких-то умений, а просто неимоверной работоспособности, потому что что-то работающее получается очень нескоро.
> Или ты хочешь сказать что эти программисты вообще ничего не продумывают
> и не придумывают, а просто по какому-то шаблону фигарят? Тогда ихничего такого что можно потом распечатать в виде талмуда на сто листов и подшить в папочку - нет. Это как раз частый признак прожекта, который так и останется на бумаге. Зато как хорошо продумали! (ну вот, можно значит ничего уже и не кодить, все самое главное ж сделано!)
> ОС нах не нужна, тк там не улучшений или специализации под
жаль что ibm этого не знала, когда купила линукс вместе с эффективным менеджером.
Даёшь ядро линукс на JS, для запуска в браузере/electron, без QEMU и виртуалбоксов, а то тут многие, видно, сидят без дуалбута :) нехорошо! Не корпоративненько. А, ещё можно это ядро сделать только для запуска docker кониейнеров, без всякой левой дичи типа systemd
> Даёшь ядро линукс на JS, для запуска в браузере/electron, без QEMU и виртуалбоксов,Юзай JSLinux от Фабриса Беллара например. Т.к. он кондовый профи это даже не настолько ужасно как можно себе представить.
> А, ещё можно это ядро сделать только для запуска docker кониейнеров, без
> всякой левой дичи типа systemdЯдру Linux так изначально - вообще пофиг что запускать, ядро никак не зависит от инита и там довольно немного допущений. S-d лишь 1 из опций - но весьма популярный. Некоторые штуки типа фотоаппаратов от Sony - запускают ядром Linux буквально 1 файл, "фирмвару фотика" который все остальное делает - сам. Можно так же и доскера, если это зачем-то надо.
Но вот доскер поверх FAT32 и без сети... эээ как бы вам это...
я п посмотрел на бенчмарки оригинала и этой поделки
Я б тоже...
> отсутствие сетевой подсистемы и наличие лишь урезанного драйвера файловой
> системы, поддерживающего ФС Fat32Где-то я эту историю уже видел по моему...
А почему бы просто в Redox OS не впилить поддержку Linux system calls?
Пили!
Но зачем?
бровчекер не разрешает
Пилят уже давно эти прокладки для API: relibc, redox-rt
А что, редокс уже написали?
Не написали, а переписывать не с чего. Нет на Сишке ОС, чтоб было "всё есть URL".
> Не написали, а переписывать не с чего. Нет на Сишке ОС, чтоб
> было "всё есть URL".А, я так и знал что это опять проклятая сишка виновата!
А на расте уже научились реализовывать L1 список без unsafe?
По-моему вполне хорошее начинание. Желаю этому проекту всяческих успехов!
https://www.reddit.com/r/Forth/comments/1m54e7g/mykesforth_u.../
тем временем баре метал не на расте )
> https://www.reddit.com/r/Forth/comments/1m54e7g/mykesforth_u.../
> тем временем баре метал не на расте )но по большей части - на x86 ассемблере.
хотя выглядит все равно занятно.
Ужасный язык о котором написана интересная статья Rust bad II (ari (dot) lt), который в общем-то вписывается в тренд "модернизма": "...по сути это и есть Rust — нечто современное, что во многих отношениях явно является пустой тратой, вершина модернизма; шумиха, масштаб, стремление к великой цели, но так неудачно сведенное к жертве... Всего?"
"Похоже, слишком много людей слишком одержимы шумихой вокруг Rust и пытаются заменить C, неизвестно зачем. Конечно, C не идеален, далеко нет, на самом деле, но агрессивное стремление сообщества Rust заменить C, демонстрируя только его достоинства, игнорируя все его недостатки и издержки, говорит мне только о языковом ананизме."
Rust - не модерн, а постмодернизм, или ещё можно сказать
по-другому, эклектика. Смешение стилей и парадигм.
Зачем он нужен? Действительно, нам он не нужен, это
западное произведение, Запад так живёт, циклами
расцвета и распада. Для нас же самое главное - чтобы
очередное упадническое западное произведение не
потащило к упадку и нашу цивилизацию
> Rust - не модерн, а постмодернизмРаст - это утюг, который тоже может летать, если его сильно раскрутить за шнур.
У него нет шнура. Это небезопасное электричество. Этот утюг надо сначала в нагреватель запихнуть - а потом уже, пока он не успел остыть - пользоваться им по прямому назначению. Но чуть что - опять в печь. Без печи никак - да.
> Запад так живёт, циклами расцвета и распадаИзлишнее сужение. Можно сказать, что _всё_ живёт циклами расцвета и распада. Деревья покрываются зеленью на лето, и зимой всё сбрасывают. Отдельные организмы рождаются и умирают. Без этого никуда, без этого нет жизни.
> Для нас же самое главное - чтобы очередное упадническое западное произведение не потащило к упадку и нашу цивилизацию
Лол. Вот _это_ как раз модернизм. Называть расею "цивилизацией". Даже не модерн, а постмодерн, смешение потому что всё это ещё красится в цвета традиционализма, и добавляются ингридиенты, казалось бы совершенно несовместимые. Получается сборная солянка в худших проявлениях постмодернизма. Постмодернизм не так плох ведь, если присмотреться, но если его понять и использовать по делу, что конечно же мало кому удаётся.
Но вот что действительно во всём этого традиционного -- это обвинение других в своих грехах. Как только расеянская пропагана заговорила о загнивании запада, значит расея уже прогнила до костей. Расея всегда в других видит только свои собственные свойства.
> Ужасный язык о котором написана интересная статья Rust bad II (ari (dot) lt)Я думал, что все критиканы этого уровня уже выдохлись. Но нет, ты смотри, кто-то продолжает. Хеллоу-ворлд на расте получается длинее, чем он привык. И как собрать его без cargo он не смог разобраться. Ох бяда-бяда.
>Я думал, что все критиканы этого уровня уже выдохлись.Зато жырные лалки впорядке. Но то, что ты можешь думать - это перебор.
> то, что ты можешь думать - это перебор.Как скажешь. Но для того, чтобы понять что та критика уровня детсада, вовсе не обязательно мочь думать.
>(ari (dot) lt)((лавсан), 'tы)?
>ari (dot) ltI am Arija A., also known as Ari Archer (she/her). I am an 18-year-old neurodivergent, transgender, vegan
бунт на корабле?! отменить на йух
> I am an 18-year-oldЭто полностью объясняет уровень критики. Я в его возрасте C считал за ненужные сложности и абстракции, потому что настоящие программисты пишут на ассемблере.
Максим, добавь возможность ставить реакции клоунов. Какие-то 1,5 разработчика опубликовали академический проект, а весь опеннет уже перевозбудился, прикидывая как через пару лет переползёт на альтернативное ядро и будет показывать Линусу средний палец.
Линус сам этот раст в Линукс засовывает
А при чем тут раст, если опеннетовец академический проект от промышленного не может отличить. Вон выше уже нытье, что начинание хорошее, но без финансов долго не протянет.
какой-нить очередной грант от еврокомуняк получат
Вот это годное начинание, поддерживаю! Ну-ка, Раст, покажи себя!
>Раст, покажи себя!Как дяденька в плаще стоит, а потом раз и показывает? Юным неокрепшим погромистам-рррэволюционэрам.
> а потом раз и показывает...раз, а там ничего нету, ибо клаудфляре упала и инета нету.