Дизайн языков — ООП или не ООП, или нечто лучше ООП? (Алексей Недоря, ISPRASOPEN-2019)
Материал из 0x1.tv
- Докладчик
- Алексей Недоря
В рамках процесса совершенствования экосистемы разработки приложений для различных устройств Huawei компания работает над новым языком программирования. Принципиальной особенностью нового языка является поддержка компонентно-ориентированного программирования (COP), под которым мы понимаем возможность сборки (существенной части) программы из готовых компонентов. Одним из шагов в направлении COP является, с нашей точки зрения, правильный выбор функций ООП. В настоящей работе мы не рассматриваем COP непосредственно, сосредоточившись на реализации парадигмы ОО.
В настоящее время ситуация с парадигмой ОО довольно запутанная. На самом деле, в ИТ-сообществе нет единого мнения о том, что такое ООП. Достаточно отметить, что ООП в Go и Rust принципиально отличается от ООП в C++ и Java. Языки с объектной ориентацией на основе классов и наследования реализации (CLOP languages, где CLOP – Class-Oriented Programming) критикуются за недостаточную гибкость и за проблемы разработки переиспользуемых компонентов.
Поскольку повторное использование компонентов для нас важно, мы предлагаем языковые конструкции ООП (но не CLOP), которые позволяют реализовать объекты, расширяемые путем добавления методов, без необходимости внесения изменений в исходный код объекта и с минимальной перекомпиляцией клиентов.
As part of the process of improving the application development ecosystem for various Huawei devices the company is working on a new programming language. The article considers the approach to the implementation of OOP in the programming language, which is considered as a move towards componentoriented programming.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Презентация
Примечания и ссылки
Plays:149
Comments:11