169 похожих чатов

77 ответов

11 просмотров

Что?

楽園松本- Автор вопроса
КТ315
Что?

за что не любишь?

楽園松本
за что не любишь?

Есть же раст, зачем си?

楽園松本
за что не любишь?

А за что любить? Где его использовать то можно? Он не нужен. Для переносимости - Java, для обычного кода - ассемблер, для скриптов - Python. В этом мире нет места для С, это худший язык.

楽園松本- Автор вопроса
i believe in systemd-boot supremacy
Есть же раст, зачем си?

Вот это тоже уважаю. Пусть даже Раст, лишь бы не С.

楽園松本
раст это не олдскул

😁 Олдскул это ассемблер.

楽園松本- Автор вопроса
楽園松本- Автор вопроса
Aiwan \ (•◡•) / _bot
МК

Так ассемблер есть. Код на С не перенести с одного МК на другой по нормальному, зачем он мне нужен тогда?

楽園松本
да!

Обоснуй

楽園松本
да!

как ты к такому пришёл

楽園松本- Автор вопроса
The Bird of Hermes
Обоснуй

Си это самый близкий к архитектуре компьютера ЯП

楽園松本- Автор вопроса
The Bird of Hermes
Нет, ассемблер ближе.

ты там делаешь макросы. Си это и есть те самые макросы.

楽園松本
Си это самый близкий к архитектуре компьютера ЯП

Во первых, нет, во вторых, это не делает его ассемблером

楽園松本
ты там делаешь макросы. Си это и есть те самые мак...

Эммм нет. Мои макросы всего лишь макросы, Си это полноценный язык со своим стандартом и рантаймом

楽園松本- Автор вопроса
PirraToZ Бот в био (скидки)
си тоже переносимый же...

Он не переносимый, он ТИПА переносимый, в кавычках. Чтобы так код перенести по-нормальному, надо делать так: Вот такие, как ты, никогда не писали на С переносимый код, поэтому так легко об этом заявляете. А этот человек попробовал на С написать переносимый код, и что? Переписывал весь свой проект на 10+ архитектур, тупо переписывал один и тот же код на 10+ архитектур в течение 12 лет. Переносимый?

s54820
А это не код на си, это код на асм.

70% на С, и всего 20% на ассемблере.

Совершенно верно. Мы сейчас имеем тупо 6 одинаковых инструментов: C#, C, Java, ассемблер, Rust, Go Все они отлично взаимозаменяемы на 90% задач. Так по какому критерию выбирать? Правильно! Любишь\не любишь. Вот и всё.

КТ315
70% на С, и всего 20% на ассемблере.

Ты взял либу, основная цель которой — сложить в неё асм и спокойно дёргать всякое, больше ассемблера не касаясь. Либа состоит из затычек на асме, они непереносимы как раз потому что на асме. Сишный код переносим. Ну и конечно, сишный код, который использует либу, переносим тоже. И не сишный тоже.

s54820
Ты взял либу, основная цель которой — сложить в не...

Этот вопрос решается раз и навсегда так - сможешь перенести какую-то Windows программу на С, на ARM/PIC/AVR/Linux?

КТ315
Этот вопрос решается раз и навсегда так - сможешь ...

в случае асма дело уже пойдет не в сторону "перенести", в сторону "написать заново"

楽園松本
А что делает ассемблер ассемблером?

Возможность делать любые операции, которые позволяет выполнять целевая машина, с помощью исполнения непосредственно её инструкций, полный контроль выходного файла

Можно я тебе сейчас на GitHub скину ссылку проекта, скомпилируешь мне этот проект на ARM? Давно мечтал. А то тут такие возможности внеземные открылись.

КТ315
Можно я тебе сейчас на GitHub скину ссылку проекта...

мне кажется не правильно трактуешь слово "перенести".

КТ315
Можно я тебе сейчас на GitHub скину ссылку проекта...

У тебя нет арм-устройств :-P И да, Айван меня опередил, скомпилировать != перенести. Точно так же, как перенести != переписать.

КТ315
А как его надо трактовать?

уж точно не так: скопировал исходники, изменил целевую архитектуру и готово

КТ315
А как?

основные функции алогоритма остаются без изменения. добавляются правятся те участки кода, которые зависят от архиетктуры/ОС (не знаю только что в таком случае надо менять, не занимался этим). примерно так представляю "перенести". в случае асма переписывать надо ВСЕ, особенно алгорит, заново его отлаживать итд

Aiwan \ (•◡•) / _bot
основные функции алогоритма остаются без изменения...

Шикарно, осталось только найти такой проект, который состоит 90% из какого-то арифметического алгоритма, и готово, мы имеем переносимый С. Подумаешь, всего-лишь большая часть любого большого проекта отвалится и не будет переносима, но зато плюсики и минусики не надо будет менять!

КТ315
А за что любить? Где его использовать то можно? Он...

жаба как минимум не запустится на iOS, а сишный код без проблем компилируется в deb

ödemarkens son
жаба как минимум не запустится на iOS, а сишный ко...

deb - это ЗИП архив если чо. Со специальной структурой директорий и файлов внутри

ödemarkens son
ну, внутри бинарник

Могут быть и текстовые файлы. Майкрософт так любит listфайлы в /etc/apt/ ложить

楽園松本- Автор вопроса
КТ315
screenshot Он не переносимый, он ТИПА переносимый, в кавычках...

а есть какой-то ЯП, который не нужно переносить для разных архитектур?

楽園松本
а есть какой-то ЯП, который не нужно переносить дл...

Конечно, есть. Dart, Java, C# (на любые архитектуры, где есть Windows или Linux).

楽園松本- Автор вопроса
КТ315
Конечно, есть. Dart, Java, C# (на любые архитектур...

ты ещё один забыл, который мой любимый

楽園松本- Автор вопроса
КТ315
Kotlin ещё есть.

и ещё вопрос: а для чего делать код, который будет работать в разных архитектурах?

楽園松本- Автор вопроса
КТ315
Я откуда знаю? У Сишников спроси.

Сишники пишут код под Юникс

楽園松本
Сишники пишут код под Юникс

Ну, как минимум ты оскорбил тех самых любителей MSVC, меня это радует. Всё, что Сишников задевает - меня радует.

楽園松本- Автор вопроса
楽園松本
что с тобой сделали сишники?

Это дурачьё мне в чате нервы весь день портит.

楽園松本- Автор вопроса

а какой ЯВУ имеет противоположный эффект?

楽園松本
что с тобой сделали сишники?

Мне кажется единственный язык, с которым Си может конкурировать, это чистый асм

Bogdan (Bogdan)
любой. зависит от восприятия

отлично. тогда можно сказать, что сишка делает актуальным написание кода на асм

тогда как это согласуется этим?

Поэтому товарищ и скалится)

Aiwan \ (•◡•) / _bot
тогда как это согласуется этим?

компиляторщики потратили уйму человеко-часов на ресерч и реализацию оптимизаций. порой компилируешь с O3 и не понимаешь, почему именно так оно эффективнее. а потом оказывается, что по модели стоимости именно в таком порядке инструкции подавать. мне что, эту модель в голове держать все время? она довольно громоздкая

Bogdan (Bogdan)
компиляторщики потратили уйму человеко-часов на ре...

Удивительно, как много мозгов надо, чтобы заоптимизировать лучше компилятора. Прям на О3 не понимаешь, прям ну так всё сложно там.

Bogdan (Bogdan)
не всегда, но случалось

Случалось??? Такого не может быть, ведь компилятор умнее тебя!

Bogdan (Bogdan)
компиляторщики потратили уйму человеко-часов на ре...

я про то, что ты считаешь что сишка делает актуальным и неактульным одновременно написание кода на асм

Aiwan \ (•◡•) / _bot
я про то, что ты считаешь что сишка делает актуаль...

да. для меня это неактуально, потому что я читал конкретные ресерчи, почему та или иная вещь в бэкэнде компилятора сделана именно так но кто-то, как советский биполярник, все эти абстракции и переносимость кода в гробу видел

Bogdan (Bogdan)
да. для меня это неактуально, потому что я читал к...

Так это ещё и сложно, зачем об этом думать. К тому же, для этого надо изучать чужие труды по оптимизации на ассемблере, а там ВООБЩЕ жесть. Даже от выхлопа компилятора на О3 глаза на лоб лезут, настолько там непонятные секретные зашифрованные инструкции. Так что лучше туда не лезть 😮

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта