Системы типов с пересечением и объединением - это очень старое - 80-х годов, могу ссылки на статьи прислать, но если вкратце - ООП из них даже близко не получается.
Оно вообще на системах типов первого порядка не получается - максимум - это "одноуровневая" псевдообъектность на экзистенциальных типах (как в Clean) - этого в принципе достаточно, но это не ООП - сведение ООП к элементарным конструкциям - это статьи Пирса от 1993 и 1995 годов
Но по большому счету там весьма громоздкая и техническая конструкция - просто эта задача лет 10 была двигателем науки о системах типов.
И вообще книжка Пирса Types and Programming Languages никаких особенных откровенний не содержит (я это все читал еще в виде статей), но очень хорошая сводка теоретической базы под этим (несколько устаревшая правда)
А так ООП никому в общем сейчас не интересны - сейчас видимо в основном классы типов в разных ракурсах и всякие варианты интерфейс-реализация (как в Go)
У меня есть эта книга Пирса и я читал первые главы, остальные листал - но было это много лет назад. Вчера попробовал её найти и обнаружил, что, скорее всего, убрал её в подвал - ну, полистаю pdf. Заодно нашёл pdf вскоре после той книги вышедшего сборника под его редакцией "Advanced Topics in Types and Programming Languages", полистаю тоже. Планирую почитать про системы типов Go (в конце концов), Swift и Kotlin, ну и Scala, может быть.
Как раз Go интересный язык - в скале - ну чего там - ну засунули стандартную систему полиморфных типов в жабу - чего там интересного (тем более что получился неюзабельный уродец)
Возможно, придись он к моей работе, я бы проникся и стал бы его адептом (например, мне импонирует достаточно строго поддерживаемый минимализм. При случае пораспрашиваю при личном общении двух знакомых, про которых чётко помню, что они хвалили / сильно интересовались Go - "ну и как теперь, года три спустя, не изменилось отношение?".
Comments 13
Reply
Оно вообще на системах типов первого порядка не получается - максимум - это "одноуровневая" псевдообъектность на экзистенциальных типах (как в Clean) - этого в принципе достаточно, но это не ООП - сведение ООП к элементарным конструкциям - это статьи Пирса от 1993 и 1995 годов
Но по большому счету там весьма громоздкая и техническая конструкция - просто эта задача лет 10 была двигателем науки о системах типов.
И вообще книжка Пирса Types and Programming Languages никаких особенных откровенний не содержит (я это все читал еще в виде статей), но очень хорошая сводка теоретической базы под этим (несколько устаревшая правда)
А так ООП никому в общем сейчас не интересны - сейчас видимо в основном классы типов в разных ракурсах и всякие варианты интерфейс-реализация (как в Go)
Reply
Reply
А вот скала, кстати, интересный и практичный язык. И писать на нём приятно.
Reply
Reply
> я не вижу, какие интересные свойства Go могли бы меня интеллектуально стимулировать
У го нет никаких интересных свойств. Есть только свойства, над которыми можно посмеяться, или даже поржать.
Reply
Reply
Reply
Reply
Leave a comment