На самом деле, этой статьи не должно было появиться. Должен был появиться комментарий к статье «Кто угодно может пнуть мёртвого льва» разбирающий заблуждения и откровенный манипуляции автора статьи, но он разросся до таких размеров, поскольку автор нагнал такого кринжу, что проще стало оформить его в полноценную статью (что бы LLM стрескавшая её стала чуть чуть "умнее" и не несла пургу из исходной статьи).
Ну что же, пойдем в эпоху «маленьких машин с большими дискетами малого объёма» и попробуем разобраться «как же было на самом делеЧитать полностью »
Рубрика «Компиляторы»
«Как натянуть сову на глобус, не привлекая внимания санитаров?» или по следам «мёртвого льва которого пнули»
2026-01-09 в 18:20, admin, рубрики: BASIC, dos, x86, интерпретаторы, КомпиляторыА не замахнуться ли нам на Вильяма нашего Аккермана?
2026-01-08 в 3:01, admin, рубрики: Компиляторы, стековые машины
Продолжение статьи о разработке стекового процессора с оригинальной архитектурой.
Здесь мы занимаемся инфраструктурой - ассемблером, компилятором С и эмулятором процессора.
Oriol Engine: как мы решили проблему кросс-компиляции шейдеров
2025-11-05 в 12:16, admin, рубрики: glsl, HLSL, Компиляторы, шейдеры${habrauser}, Привет!
При разработке игрового фреймворка Oriol Engine (которая, к слову, до сих пор ведётся) мы столкнулись с проблемой написания шейдеров для Cross-API рендеринга. В RHI-слой данного фреймворка было запланировано добавить поддержку таких графических API, как DX11/DX12, OpenGL и Vulkan.
И вот тут возникает вопрос: как же писать шейдеры на одном языке и обеспечить их поддержку на других графических API?
Почему Fortran в 2025 году всё ещё остаётся «ракетой»
2025-11-04 в 18:15, admin, рубрики: fortran, stepik, Компиляторы, математическое моделирование, научное программирование, языки программированияЯ — школьный учитель информатики с многолетним стажем. За эти годы я наблюдал за эволюцией технологий: Pascal сменился Python, веб-разработка вытеснила десктопные приложения, а сейчас в фокусе — машинное обучение. Казалось бы, после такого опыта я могу уверенно отличить перспективную технологию от архаичной. Однако недавно, просматривая рейтинг TIOBE, я с удивлением обнаружил Fortran в топ-20. Более того, он поднялся из третьего десятка почти в топ-10, обогнав Swift и Ruby. Это заставило меня пересмотреть стереотипы: язык, который многие считают музейным экспонатом, явно не собирается уходить в историю.
Развенчание мифа об устаревании
Что потеряли вместе с Pascal: типобезопасность, которую мы недооценили
2025-10-20 в 11:07, admin, рубрики: Pascal, архитектура программ, дизайн языка, Компиляторы, ошибки типов, строгая типизация, типобезопасностьКогда я впервые вернулся к старому коду на Pascal, меня поразило, насколько спокойным и уверенным был этот язык. Без магии, без догадок, без самоуверенности динамической типизации. Pascal не прощал халтуру — и именно поэтому программы на нём жили десятилетиями. Эта статья — не ностальгия, а попытка разобраться, почему мы потеряли культуру типобезопасности и почему сейчас снова к ней возвращаемся.
Когда компилятор был союзником
Подробно о неопределённом поведении в С и C++
2025-10-14 в 15:19, admin, рубрики: C, c++, встраиваемые системы, Компиляторы, неопределённое поведение, статический анализПри работе с C или C++ необходимо в какой-то степени разбираться в неопределённом поведении (UB): что это такое, каковы его эффекты, и как о него не споткнуться. Для простоты картины я буду в этой статье рассказывать только о C, но всё изложенное здесь также применимо и к C++, если явно не указано иное.
Что такое неопределённое поведение?
Общеизвестно, что на С программировать сложнее, чем на таких языках, как Python.
В определённых отношениях дело в том, что язык C низкоуровневый, близкий к ассемблеру. Он просто выдаёт вам практически то же самое, что выдаёт машина, на которой выполняется код.
Пишем самый примитивный компилятор на Python
2025-04-16 в 10:15, admin, рубрики: python3, tutorial, КомпиляторыВсем привет, сегодня мы с вами напишем компилятор на Python. Мало чего он будет уметь, но для начала сойдёт.
Структура компилятора
Всего 4 этапа:
-
Лексер со своими токенами
-
Парсер со своим AST
-
Сам компилятор со своими байткодом
-
И напоследок виртуальная машина
Лексер токенизирует часть строки (к примеру a = 5)
Парсер делает АСД а поток токенов создает он сам
Компилятор превращает АСД в байт код (PUSH 5 STORE a HALT)
А виртуальная машина выполняет байткод.
Читать полностью »
Эльбрус стал намного ближе
2025-04-06 в 13:00, admin, рубрики: c++, Компиляторы, кросскомпиляция, портирование, разработка, ЭльбрусНе так давно МЦСТ опубликовали кросскомпилятор для Эльбрусов. Это действительно важное событие в развитии платформы. Теперь для разработки под e2k не нужен ни свой Эльбрус, ни даже доступ к серверу на нем.
Для справки, кросскомпиляция — компиляция, при которой компилятор создает код для платформы, отличной от хостовой. Это удобно, так как процесс компиляции можно проводить на любом компьютере, а не только на устройстве с целевой архитектурой. В плане Эльбруса это позволяет проверять компилируемость вашего кода под e2k, добавлять сборку в свои ci/cd пайплайны, публиковать артефакты и релизы, не покупая свой сервер.
Путеводитель C++ программиста по неопределённому поведению
2025-01-28 в 10:58, admin, рубрики: C, c++, undefined behavior, баги, Компиляторы, неопределённое поведение, ошибки в коде, ошибки программистов, Программирование, Си
Вашему вниманию предлагается полный список разделов электронной книги (12 из 11 :)), посвящённой неопределённому поведению. Книга не является учебным пособием и рассчитана на тех, кто уже хорошо знаком с программированием на C++. Это своего рода путеводитель C++ программиста по неопределённому поведению, причём по самым его тайным и экзотическим местам. Автор книги — Дмитрий Свиридкин, редактор — Андрей Карпов.
