Для начала, скажу что классов никто не отменял. Второе, я не говорил что динамически можно добавлять, методы, свойства, и события. Их можно добавлять при создании объекта. Это совсем не динамически. Если позволить это делать динамически, я не представляю как будет выглядеть распределение памяти и сборщик мусора. Это явно лишнее. Но, динамически можно включать/выключать и переназначать процедуру обработки события.
В функиональном программировании есть такое понятие как рекурсивный тип данных. Например для описания бинарного дерева достаточно определения такого алгебраического типа данных в Haskell:
data Tree a = Node a (Tree a) (Tree a)
| Empty
deriving (Show)
Одной из проблем ООП, является как раз невозможность изменять реализацию (это мой термин) объекта. Строгое соответствие -класс-объект заставляет плодить и усложнять классы даже если по большому счету необходимости в этом нет. Как это сказывается на эффективности при выполнении поймет каждый.
Собственно и эта задача решена в функциональной парадигме программирования.
Например, в системе типов Хаскель очень легко и естественно выражаются многие идеи. Одна из них классы типов (typeclasses) — собственно наименее чуждая концепция в Хаскель из процедурного и объектно-ориентированного программирования. Однако классы типов — это совсем не то же самое, что классы в классическом ООП Си++. Они очень похожи на шаблоны классов в Си++.
Особенностями использования классов типов (typeclasses) является:
1 определяют абстрактный интерфейс (который не имеет реализации по умолчанияю)
2 позволяют создавать несколько независимых реализаций интерфейса (таким образом, любой класс может стать экземпляром класса типов, если предоставит реализацию его методов)
3 полиморфны и поддерживают наследование
Собственно типы классов (typeclasses) — это не классы С++, а абстрактные интерфейсы, и экземпляры классов это не
объекты, а реализации абстрактных интерфейсов.
очень советую ознакомиться со статьей:
Тільки зареєстровані користувачі бачать весь контент у цьому розділі
А что под этим понимается? Написание в тексте? Или как оно выполняется? Или это про полиморфизм? Это разные вещи. Да и не молюсь я на ОО. И вам не советую. В чистом виде мою систему нельзя назвать ОО. При обсуждении было решено, что это скорее формы (есть еще такое понятие) я и с этим не согласен.. Все-таки ближе к ОО. Но это теоритезирование. Оно вам надо? Вот что предложил, то и предложил. Но смотрю, тут гении пару строк прочитают, чего-то от себя придумают, и мазохируют на свою придумку. Господа, читайте.. Иначе обсуждения не получается.
Собственно прочитал, пока многое не понятно, но многие концепции я уже встречал в функциональных языках программирования.
Знакомы ли вы с функциональной прадигмой?
Провели ли вы обзор возможностей современных функциональных языков, в частноcти Haskell?
Я знаком как функциональной парадигмой (ФП) так и с ООП, после второго прочтения вашего трактата я не увидел вашего личного вклада ни в одну из этих парадигм, напротив, все это уже изобретено до вас.
Вы постоянно сравниваете свой язык с ООП, да у ООП есть недостатки, но собственно что нового вы считаете сделали по сравнения с ФП?
Я бы рекомендовал вам наряду с определением сущеностей языка, давать простые примеры их использования при решении элементарных задач, давать примеры реализации тех же задач в рамках ООП и ФП, это значительно может улучшить восприятие и понимание того есть ли в предложенной вами концепции какая либо новизна, на которую вы претендуете, ведь вы же не художественную литературу пишите.
P.S. Ваш энтузиазм заражает, мне не хотелось бы что вы потратили его на изобретение не самого лучшего велосипеда в Мире - "Украина".