Си - база или нет ? А еще Ассемблер O_o

Школьнику, студенту погрузиться в это на первых порах - вообще must have.

Дабы не разводить потенциальный срач: это не агитация из разряда "бросайте свой Django, React или любимый Ruby" - дабы писать на ассемблере или Си, хотя кто знает, может однажды душа вас занесет в embedded или системное программирование ? 😁

Это больше как "пища" для ума и размышлений.

Си - минималистичный язык близкий к железу и его код довольно прозрачно мапится на asm-код. Он как был незаменимым стандартом в своей нише, так и остается. Системное программирование, будь то базы данных, драйвера под Linux и прочее.

Не надо тут про Zig и т.п., который еще вообще не релизнулся. А еще почти все языки ведут к libc под капотом...

Си дает понять как устроена память, в каких областях размещаются данные, сегментирование памяти в программе и процессе, указатели и эта арифметика.

Си дает представление как работают программы на фундаментальном уровне и работать с ОС максимально тесно, если вы его попросите.

Си актуален и работа есть, вопреки мифу о том что "не нужон этот ваш Си".

Ассемблер. Актуален, но тут либо о программировании железок или оптимизации очень критичных участков, этим так или иначе занимаются, хоть и очень специфичная область.

Вопрос на засыпку, что делает этот кусок кода, грузит ли он CPU, почему ? while (true) {}

Ассемблер полезен тем, что даст разобраться как выполняются программы и через отладчик проследить руками и глазами это напрямую (это довольно хардкорно, но прикольно).

- О, вот этот регистр указывает текущую инструкцию. - Вот так вот у нас в стек параметры заталкиваются... а тут возврат обратно.. - А что будет, если я сделаю так.. упс, кажись что-то наворотил и оно пошло не туда.. - Такс, ABI ? Ну я API писал так-то, ааа это соглашения о вызове функций на уровне исполнения кода, передача параметров..

Ответ на вопрос выше: само-собой бесконечный цикл, да, почему ?

Это превратится в пару/инструкций(ю) типа "бесконечно прыгай на одну и ту же инструкцию, вероятно еще будет проверка условия цикла, а это еще операции". Эти "машинные операции" занимают такты CPU и грузят его, причем наверняка на 100%, что заблочит поток и скорее всего все ядро CPU, планировщик ОС не сможет с этим ничего поделать.

К чему я это все, развивайтесь и открывайте для себя новое.

ИТ - это интересно, не с проста мы тут собрались 😁😉

Си - база или нет ? А еще Ассемблер Oo | Сетка — социальная сеть от hh.ru