avva: (Default)
[personal profile] avva
Программисты: как идут дела с Advent of Code у тех, кто продолжает этим заниматься?

Я где-то неделю не делал заданий из-за непредвиденных форс-мажоров. Теперь делаю по два задания в день, чтобы догнать. Сейчас закончил 15 и собираюсь к концу соревнования, к 25-му дню, догнать официальный график.

Пока что очень тяжелых не было. Мне нравится то, как каждый день разбит на две части, и вторая часть усложняет первую, но заранее не всегда ясно, как - она не открывается, пока не решишь правильно первую часть. Я обычно пытался угадать примерно, что будет сложнее во второй части, и подходит ли к этому мой дизайн. Два раза ошибся и пришлось для второй части писать по сути заново. Это было прикольно.

Я пишу на новом для себя языке Zig. Я бы описал его как попытку выжать максимум из парадигмы "C с человеческим лицом". По сути своей императивный язык без ООП и с ручной обработкой памяти, как C. Но, во-первых, хорошо продуманная система типов с runtime reflection и generic data structures. Во-вторых, очень много мелких удобств, облегчающих жизнь: type inference, безопасные массивы и указатели (проверка границ), безопасная работа с целыми типами (проверка на under/overflow, эксплицитное конвертирование), очень удобная поддержка slices, опциональные типы, гуманная обработка ошибок и еще много чего.

При всем при этом это остается языком довольно низкого уровня. Можно выстрелить себе в ногу и я несколько раз получал segmentation fault (держал указатель на элемент контейнера, не замечая того, и менял что-то в контейнере). Нет встроенного типа строки, которая передается по значению; вместо этого все передеают друг другу слайсы (указатель с длиной и известным типом) на существующую где-то в памяти строку, и чтобы создать другую ее копию, надо руками вызвать аллокатор.

В целом нравится!
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

February 2026

S M T W T F S
1 2 3 4 5 67
8 9 10111213 14
15 16 17 18192021
2223 2425262728

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 01:29 pm
Powered by Dreamwidth Studios