Комментарии 7
Дочитал всего лишь до:
сейчас далеко не всякий даже хороший программист может объяснить, как работает тот или иной участок кода или внутренняя логика,
И сразу дальше:
В центре всего, что происходит внутри компилятора, находятся...
И тут сразу стоп. Первая цитата - что происходит внутри вашей программы. Вторая - что происходит внутри компилятора. Это совершенно разные "внутри" и неправильно объяснять действие программы из действий компилятора. Хотя, возможно, я изменю свое мнение, когда дочитаю до конца, но сейчас я думаю, что это методологически неверно.
потому что resolve может быть:
// Обычной функцией
...
И наконец resolve() может быть обычной функцией:
Зачем одно и то же два раза вставлять в список?
Не знаю как у других, но у меня обычно по ногам арматурой бьют за название функции и структуры одним именем
Отличное наблюдение. Вот если бы компилятор умел аннотировать код разрешением (lowering ?) в непосредственно используемые сущности. Т.е. написать полный тип вызываемой функции или метода в точке использования перегрузки, и тому подобное.
Это не компилятор в C, и не чтение сгенерированного ассемблера. Именно аннотации всех точек разрешения имен.

Нескучное программирование. Важны ли компилятору имена