Отказ от ооп
Здравствуйте.
Я не один год писал код на C#, и заметил то что с каждым разом я всё чаще и чаще пользуюсь его функциональными возможностями.
Недавно я начал активное изучение Rust, и тут меня понесло...
Глобаные функции , возврат функций, отсутствие тонны ненужной писанин ... Это было просто прекрасно, каждый блок кода даётся с удовольствием, так много свободы к действиям. Даже начал пользоваться рекурсией , и понял как это приятно.
Что вы думаете по поводу отказа ООП и перехода на функциональщину ?
немного непонятно, что именно ты подразумеваешь под "функциональщиной", но явно не то, что остальное человечество.
функциональное программирование, емнип -- это построение отображения множества входных данных на множество выходных данных. типа:
f : x -> sqrt((sin(x)+5))/2
и такое "отлитое в граните" строго детерминированное отображение f будет считаться "программой" в функциональной парадигме. в этом отображении f не предполагается никакой зависимости от внешней среды, никаких дополнительных вводов-выводов, готовности-неготовности устройств, глобальных констант и переменных и т.п.
а Rust с его трейтами -- это, скорее, про абстрактные классы и интерфейсы. такое мог придумать программист на си, которому надоело возиться с free и void-указателями.
имхо.
Думаю, что функциональное программирование уступает ООП, поэтому и не завоевало популярность. Глобальные функции прекрасно работают в контексте ООП, всем остальным можно дополнять ООП в случае необходимости, но не заменять. И только там, где это полезно, а не усложняет код. Чем рекурсия так приятна, мне не понятно. Она далеко не всегда приятна.
вот уже 20 лет программирую без ООП и программы мои и ценятся пользователями и продаются. ООП - надуманная необходимость, большая часть программ может быть реализована без ООП.
если будешь писать огромную бизнес-логику на rust, то утонешь в этом всем. трудно на одних трейтах построить слои абстракций, тем более что шаг влево вправо - расстрел
делай как тебе нравится... мне по хуанхэ...