Семь бэкендов
Вы узнаете
Имена 7 бэкендов и сколько кода каждый написал для одной маленькой спеки.
У компилятора в вашем браузере 7 бэкендов: c, js, rust, ts, verilog, verilog_hir и zig. Каждый читает одну и ту же разобранную спеку и пишет код на своём языке; бэкенд verilog_hir пишется из аппаратного представления, HIR. Таблица показывает, сколько байтов написал каждый бэкенд для спеки урока, по замеру компилятором этого сайта. Больше не значит выше качеством: каждому языку нужно разное количество текста.
Попробуйте
Откройте в плеере каждую вкладку бэкенда спеки урока и найдите функцию add.

How many bytes each of the 7 t27c backends wrote for one small spec, measured with the real compiler. Lesson 22 of the t27 basics course.
specs/basics/22_seven_backends.t27
// SPDX-License-Identifier: Apache-2.0
; t27 basics, lesson 22: Seven backends.
; One spec, seven languages: what each backend of t27c writes.
module basics_22_seven_backends;
pub const WIDTH : u8 = 8;
pub fn add(a: u8, b: u8) -> u8 {
return a + b;
}
test width_is_a_byte {
assert WIDTH == 8;
}
Все уроки
Модуль 1 · Файл спеки
Что лежит в файле .t27: строка module, строки прозы и комментарии.
Модуль 2 · Значения и типы
Константы, ширина целого числа, а также true, false и текст.
Модуль 3 · Массивы, триты и выражения
Списки значений, три значения трита и что вычисляют операторы.
Модуль 4 · Тесты и функции
Блок test, несколько маленьких тестов в одной спеке и функция с типизированными входами.
Модуль 5 · Внутри функции
Имена через let и var, выбор через if и switch и циклы.
Модуль 6 · Видимость и свои типы
Что pub открывает другим модулям, и структуры и перечисления, которые вы объявляете.
Модуль 7 · Модули, правила и gen-ts
Чтение другого модуля, правило, которое выполняется всегда, и спека, превращённая в TypeScript.
Модуль 8 · Компилятор и tri
Бэкенды, которые пишет t27c, стадии, в которых он читает спеку, и команда tri.
Модуль 9 · Ошибки, программа и что дальше
Как читать ошибку компилятора, одна маленькая законченная программа и какой курс пройти дальше.