AS
type Post struct {
Id int
Comments []Comment
}
Только что этот код значит? Что каждый раз, когда мы подтянем пост, у нас сразу подтянутся комментарии? А сколько их подтянется? Мы же не можем подтянуть все. Да и не нужны нам каждый раз комментарии, в основном только для отображения поста. И как у нас сохраняются комментарии? Пушим просто в поле Comments и оно сохранит посты с комментарием? Скорее всего нет. В общем, оно только внешне отображает домен, но оно не отображает технический аспект никак, который мы должны учитывать
а теперь смотрим на питон
class Post:
@property
def id(self):
pass
def comments(self, limit=100, offset=0):
pass
мне не нужно знать есть ли там комментарии и сколько их, в случае необходимости они благодаря сахару лениво подгрузятся при обращении к свойству comments
я просто беру этот класс и использую дальше с такими же высокоуровневыми абстракциями, которые легко создаются несколькими строками кода
на го же мне бы пришлось реализовывать это всё руками и низкоуровневые вещи торчали бы изо всех щелей