Краткий ответ: Да; Python - это объектно-ориентированный язык.
Чуть более длинный ответ: Да; вы можете спроектировать, используя принципы объектно-ориентированного программирования, а затем реализовать на любом языке (даже на ассемблере).
Преимущество использования объектно-ориентированного языка состоит в том, что он включает поддержку многих общих концепций объектно-ориентированного программирования, поэтому вы не рискуете ненужными ошибками, если будете моделировать их по соглашению. Конечно, всегда будут специфичные для языка детали с большей или меньшей применимостью; вы спрашивали о принципах дизайна, которые должны быть выражены выше этого уровня детализации.
Длинный, многословный, скучный ответ: (разработка языков программирования не является простой линейной прогрессией, но позвольте мне упростить и проигнорировать этот факт, чтобы сделать наблюдение, которое охватывает примерно 40 лет опыта программирования.)
Всегда будет роль языковых функций по сравнению с принципами и шаблонами дизайна. На каждом этапе внимательные практики замечали:
Вот проблему, которую мы продолжаем решать вручную на нашем текущем языке (ах).
Вот ошибка, которую мы продолжаем писать на нашем текущем языке (ах).
Вот несколько примеров передового опыта, которые мы продолжаем соблюдать в наших лучших программах.
И поэтому следующее поколение языка (ов), как правило, обеспечивает поддержку наблюдаемого хорошего поведения, как правило, включает концепции, поэтому их не нужно делать по соглашению / соглашению (или случайно нарушать одним и тем же), и применять практики, которые легко предотвращают ошибки, которых можно избежать.
Независимо от того, насколько сложны, специализированы или обобщены наши инструменты, всегда есть программисты, которые просто крутят ручку, и другие, которые продолжают следить за тем, как лучшие и самые умные (в сознании смотрящего) используют инструменты. Затем они описывают и продвигают эту практику. Правильно определенные (и называемые ли они стилем, руководящими принципами, образцами, принципами и т. Д.), Эти практики в конечном итоге формируют следующий уровень, которого мы всегда пытаемся достичь, независимо от того, на каком этапе мы находимся.
person
joel.neely
schedule
14.02.2009