Какая парадигма является преемником ООП?
Я’ уже писал об этом раньше: мы’ начинаем видеть конец парадигм. С незапамятных времен (может быть, с конца 1970-х?) в курсах по языкам программирования вводились две категории верхнего уровня (императивная и декларативная) с двумя парадигмами под каждой (процедурная и ОО, функциональная и логическая, соответственно).
Я думаю, важно, чтобы мы продолжали преподавать эту модель, но мы также должны признать, что она в значительной степени мертва.
Процедурный язык имеет довольно мало преимуществ перед ОО, но все же несколько. В результате мы’ увидели такие языки, как Go, которые на самом деле не являются ОО, но вы можете видеть, как в них проскальзывают идеи. Идеи ОО и функционального языка диаметрально противоположны, но поскольку на одних идеях далеко не уедешь, ряд языков гибридизировал идеи с обеих сторон (Common Lisp Object System включает ОО в оригинальный функциональный язык, а Scala - лучший пример настоящего гибрида, который я знаю).
Мы’ все еще находимся на заре вычислительной техники. Представьте себе, когда люди впервые осознали, что могут вырезать языковые символы на земле или камнях, они вели дискуссию о лингвистических моделях. Вот где мы сейчас находимся. Мы’ будем продолжать видеть, что работает и не работает, что масштабируется и не масштабируется, каковы меняющиеся потребности, и мы’ будем использовать то, что работает, масштабируется и соответствует потребностям дня.
Comments