Чему вы научитесь
- Работать в режиме betterC: писать чистый, производительный код без использования сборщика мусора (GC) и тяжелого рантайма.
- Управлять памятью вручную: использовать аллокаторы, динамическую память и понимать жизненный цикл объектов на низком уровне.
- Использовать мощь метапрограммирования: применять шаблоны и CTFE (выполнение кода на этапе компиляции) для оптимизации программ.
- Интегрироваться с экосистемой C: обеспечивать полную бинарную совместимость и вызывать функции из C-библиотек напрямую.
- Работать с системными ресурсами: использовать сокеты, обрабатывать файлы и задействовать встроенный ассемблер для критических участков.
- Создавать графические и вычислительные приложения: подключать и использовать OpenGL и высокопроизводительную библиотеку LibMir.
О курсе
Для кого этот курс
Начальные требования
- Базовые знания языка Си: понимание указателей, типов данных и того, как устроена память (стек и куча).
- Опыт работы с терминалом: умение запускать компилятор и пользоваться базовыми командами командной строки.
- Понимание основ алгоритмов: знание циклов, условий и функций (синтаксис языка D похож на C-family, так что это даст быстрый старт).
- Любознательность: готовность разбираться в том, как программа взаимодействует с железом, операционной системой и сторонними библиотеками.
Примечание: мы будем изучать строгое подмножество языка D с нуля.
Преподаватели курса
Как проходит обучение
Изучение теории и синтаксиса: Краткие и емкие уроки по базовому подмножеству языка D с акцентом на системное программирование.
Локальная разработка: Весь код пишется и запускается на вашем компьютере. Вы учитесь работать с компилятором напрямую, без скрытой магии IDE.
Легковесная сборка: Мы будем использовать несколько ручных билд-систем, которые позволяют компилировать и запускать проекты с минимальными усилиями. Это даст понимание того, как собирается бинарный файл «изнутри».
Практика вне Stepik: Основная работа проходит в вашем редакторе кода. Вы самостоятельно реализуете задачи по управлению памятью, работе с OpenGL, LibMir и системными вызовами.
Разбор кода и отладка: Мы детально анализируем примеры реализации, чтобы вы могли применять эти подходы в реальных проектах на языка D(betterC).
Сообщество и поддержка: Вы можете делиться результатами своей сборки и обсуждать технические нюансы в комментариях к каждому уроку.
Что вы получите
- Навык работы с современным системным языком: Вы освоите язык D в его самом быстром и легком режиме (betterC), который востребован там, где важен каждый байт.
- Глубокое понимание управления памятью: Вы научитесь обходиться без сборщика мусора, вручную контролируя ресурсы, как в Си, но с комфортом современного синтаксиса.
- Инструментарий для метапрограммирования: Вы получите в руки мощь шаблонов и CTFE, позволяющих переносить сложные вычисления на этап компиляции.
- Готовые шаблоны систем сборки: В вашем распоряжении окажутся легковесные ручные билд-системы, которые позволяют мгновенно компилировать и запускать проекты.
- Опыт интеграции с C-библиотеками: Вы научитесь бесшовно связывать код на языке D с экосистемой Си, включая работу с графикой (OpenGL) и вычислениями (LibMir).
- Базу для создания сложных систем: Знания сокетов, файлов и встроенного ассемблера позволят вам писать драйверы, встраиваемое ПО или высоконагруженные модули.