922просмотров
28 ноября 2025 г.
Score: 1.0K
Очередной advent of code Уже через три дня начнётся очередной Advent of Code. Если вы не знаете, что это — такой ежедневный новогодний календарь, где каждый день даётся паззл для разработчиков. Главное отличие от leetcode / codewars / you name it в том, что тебе надо решить задачу ровно один раз — для предоставленных тебе тестовых данных. А там дальше как хотите, так и решайте: через Excel, с помощью редактора уровней Baba Is You и так далее. Если хотите подробнее, с примерами, есть отчёты за 2024, 2023 и 2022 год. В этом году Advent претерпел два больших изменения: задач станет 12 вместо 25, и глобального лидерборда больше не будет. Остаются приватные лидерборды, а удаление глобального стало решением в связи с автоматизацией решений через LLM. Оба решения правильные и сделаны почти вовремя, всё‑таки Эрик уже 10 лет старается с этим праздником для нас, и если это поможет и дальше получать эмоции сообществу, то так и надо. Традиционно к первым пяти задачам я выбираю какой-то альтернативный язык, так как уровень задач ещё позволяет потупить в инструмент, а не в сложность алгоритма. Уже были Clojure и Rust, в этом году выбор пал на C. И с этим связана история: я сидел и смотрел отличные доклады с PythonNN — что вы не знали про строки и внутреннее устройство сборки мусора в 3.14. Со строками ОЧЕНЬ много смешного, вот прямо советую глянуть всем, а на сборщике мусора встрял из‑за текущих знаний и решил их подтянуть. Быстрый поиск в интернете дал курс learn memory in C, и он мне что-то так понравился. Суть курса в том, что мы пишем CPython 0.1 Sneklang, и для него надо будет сделать Garbage Collector, так как это же лучший динамический язык™️. Пока идёшь к GC, напоминаешь себе, как работает C. Автору удалось зациклить это обучение так, что тебе одни и те же моменты сначала объясняют, потом дают использовать на уровне C, а потом делать самому (пример: объяснили память, объяснили указатели, делаешь свои stack frames для Sneklang), что принесло мне сейчас больше пользы, чем то, как это давали в Бауманке 13(?) лет назад. Чуть подробнее про курс расписал в wiki. Осталось теперь только подготовить шаблонный репозиторий с чтением и парсингом текстового ввода от Advent, и готов решать. А вы будете участвовать в этом году? Будете использовать copilots / coding agents для этого? @chernov_sharit #programming #learning