Я хочу немного поныть на эту тему:) В современном программировании, имеет место извращенность. Практически не найти фреймверка, библиотеки или чего бы то ни было, где имена действительно осмысленны. Вот пример. В nodejs мы вот так вот запускаем сервер
http.Server(listener).listen(port)
создается объект сервера, ему присваивается метод (listener), который дергается каждый раз, когда дергается сервер (приходит запрос). метод listen присваивает этому объекту значение порта.
А у нас что такое Server? Де факто — это метод скрытого объекта, который сеттит слушателя этому объекту. Тогда почему не setListener? Науке это неизвестно. Раньше было createServer, хоть тоже дерьмо, но хот какой то смысл несет. Сделали еще хуже.
Спрашивается, почему бы так и не написать? точней, не создать UI, чтобы было
server = new Server // or Server.create()
server.listener = listener
server.port = port
server.startListen()
Лично я, когда я разбираю лапшу такого рода, я все равно разворачиваю первый вариант во второй. За этим говном, во первых, теряется связь кода и его смысла, во-вторых, вуалируется семантика сообщений (то есть, такой код можно назвать ООП - кодом лишь с натяжкой), в третьих, мы не видим архитектуру, непонятна абстракция (eg в данном примере неясно, является ли port свойством подковерного объекта сервера или какого то коня в вакууме, который там сбоку припека)
Кому то может показаться, что проблема надумана, но я честно говорю, для меня это реально является огромной проблемой. Каждый раз при чтении такого кода, приходится включать «внутренний транслятор» и читать уже с него. Когда дело доходит до модификации такого кода, все еще осложняется. Что от чего наследуется? Через какую жопу? Этого не видно.
Есть подозрение, что все это идет от помойки, в голове разработчиков. Не могут они выстраивать архитектуру, и им не надо этого. Написали говно методом тыка, выкинули наружу API, и всем похрену, пипл хавает.
Для контраста, могу привести Io. Там все четко структурировано, все пишется в духе ООП, все унифицировано, и любой код можно посмотреть своими глазами, и понять не только то как это работает, но и как это устроено изнутри.
Почему так? Что делать? Кто виноват?