Я скорее непрофессиональный программист, отстал от жизни, поэтому хочу спросить.
Меня в Delphi очень злит отсутствие статических классов. Т.е. часто нужна простая запись (record) с возможностью вызвать свою функцию: например у меня есть запись TVector, с тремя компонентами tvector.x, tvector.y, tvector.z, и нужна функция tvector.length. Я одно время пробовал создавать функции со сложными именами, например function tvector_length(var obj:tvector), но как-то это не пошло. Создавать класс tvector — не вариант, поскольку будет тормозить и придётся каждый раз инициализировать и уничтожать этот класс. У record-ов со встроенными функциями были бы две базовые характеристики классов – инкапсуляция и наследования, а уж полиморфизм нужен далеко не всегда.
Вот у меня вопрос, насколько всё это решено в более современных ЯП?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.