[Перевод] Невидимые загрузки или о пользе свободно стоящих функций

Довольно долго я тягался с по-настоящему глупой проблемой на C++: мне не нравятся функции экземпляров, но я вынужден их писать, чтобы программисту было хоть немного удобнее работать. Функции экземпляров обеспечивают две вещи: разграничение областей видимости и обнаружимость. Разграничение областей видимости — менее актуальная из этих задач, поскольку в моём коде на C++ я и так не использую модификаторы private/public. Обнаружимость — большая проблема: я могу написать x.F, а IDE предложит x.Func(). Отлично! «Но правильные программисты пользуются только vim и скромными IDE». Что ж, привет вам, воображаемые мифические обычные программеры. Здесь вам ничего не угрожает, но, пожалуйста, уходя — надевайте сразу два беджика:  «vim отстой» и «Я ненавижу emacs». Отлично помогает завязать разговор с «настоящими» программистами.

Читать далее
4