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