Мое первоначальное чувство к этому: «Слишком рано говорить»
1) Объектно-ориентированное программирование интересно, если у вас есть
статически типизированный язык без
лексические замыкания или макросы. Для некоторых
степень, она предлагает способ обойти эти
ограничения. (Смотрите Десятый Гринспен
Правило.)
Go поддерживает литералы функций (см. документы ), которые, если я правильно читаю, позволяют передавать функции в виде параметров, независимо от того, определены они в другом месте или созданы специально.
2) Объектно-ориентированное программирование популярно в крупных компаниях, потому что оно
соответствует тому, как они пишут программное обеспечение. В
крупные компании, программное обеспечение, как правило,
написано большим (и часто
меняется) команды посредственные
программисты. Объектно-ориентированный
программирование накладывает дисциплину на
эти программисты, которые мешают любому
один из них делать слишком много
повреждение. Цена в том, что
результирующий код раздут
протоколы и полные дублирования.
Это не слишком высокая цена для больших
компании, потому что их программное обеспечение
вероятно будет раздутым и полным
в любом случае дублирования.
Этот вопрос далеко не субъективен, чтобы ответить.
3) Объектно-ориентированное программирование генерирует много того, на что похоже
Работа. Назад во времена фанфолдов,
был тип программиста, который
только пять или десять строк
код на странице, которому предшествует двадцать
строки тщательно отформатированы
Комментарии. Объектно-ориентированное программирование
это как трещина для этих людей: это
позволяет вам включить все это
леса прямо в ваш источник
код. То, что хакер Lisp
может справиться, нажав символ на
список становится целым файлом классов
и методы. Так что это хороший инструмент, если
Вы хотите убедить себя, или
кто-то еще, что ты много делаешь
работы.
Поскольку go не является по-настоящему объектно-ориентированным языком, вы, вероятно, сможете решить эту проблему любым удобным для вас способом.
4) Если язык сам по себе является объектно-ориентированной программой, он может быть
продлен пользователями. Хорошо, может быть. Или же
может быть, вы можете сделать еще лучше,
предлагая под-концепции
объектно-ориентированное программирование а-ля
меню. Перегрузка, например, это
не связано с классами.
Посмотрим.
Go, похоже, имеет интересный подход к объектам, когда вам не нужно беспокоиться / разрабатывать большие деревья объектов. Похоже, что в языке есть инструменты для структурирования ваших данных объектно-ориентированным способом без привязки к чисто объектно-ориентированной среде.
5) Объектно-ориентированные абстракции аккуратно отображаются в области определенных
конкретные виды программ, такие как
моделирование и САПР.
...