Size: a a a

2020 July 28

AK

Anton Kucherov in Go-go!
Dmitry
Пожалуй попробую написать что-то вроде бекенда для блога, заодно и пощупаю как оно все устроено
Если вы понимаете как все устроено под капотом фреймворков, сложностей на Go возникнуть не должно. Они возникают только когда люди ни чего кроме бизнес-логики и не писали, а вся инфраструктурная обвязка за них была написана авторами того или иного фреймворка.

В Go вам придется или самому собрать фреймворк из готовых либ, или написать свой. Вот и вся сложность. Если нет проблем с уровнями абстракции и пониманием слоев в архитектуре ПО, сложностей возникнуть не должно. Но да, многое придется делать ручками.
источник

A

Aleksandr in Go-go!
Andrei 🦉 Sergeev
в бизнес логике гораздо важнее как можно более точно выразить предметную область прямо в коде
больше сахара => можно больше выразить средствами языка и спрятать всю техническую начинку типа работы с типами под капот, проще говоря написать свой dsl => лучшая читаемость у бизнес логики
Более выразительно для вас != Более выразительно для всех. В том и проблема гибких языков - на них каждый всегда свою библиотеку классов пишет, думаете почему? Потому что другим легче вашу выразительность с нуля переписать, чем разбираться и принимать идеологию
источник

A

Aleksandr in Go-go!
Выразительность можно построить на декомпозиции
источник

DP

Daniel Podolsky in Go-go!
гибкость, богатство и выразительность - почти ортогональные вещи
источник

DP

Daniel Podolsky in Go-go!
го, правда, не гибкий, не выразительный, и не богатый.
источник

A

Aikidos in Go-go!
Andrei 🦉 Sergeev
в бизнес логике гораздо важнее как можно более точно выразить предметную область прямо в коде
больше сахара => можно больше выразить средствами языка и спрятать всю техническую начинку типа работы с типами под капот, проще говоря написать свой dsl => лучшая читаемость у бизнес логики
Главное, чтобы этот сахар хоть как-то апрувился при компиляции. Типчиками например. Иначе это боль.
источник

AK

Anton Kucherov in Go-go!
Andrei 🦉 Sergeev
в бизнес логике гораздо важнее как можно более точно выразить предметную область прямо в коде
больше сахара => можно больше выразить средствами языка и спрятать всю техническую начинку типа работы с типами под капот, проще говоря написать свой dsl => лучшая читаемость у бизнес логики
😕 Выходит Ruby идеальный для этого язык?
источник

AS

Andrei 🦉 Sergeev in Go-go!
Aleksandr
Более выразительно для вас != Более выразительно для всех. В том и проблема гибких языков - на них каждый всегда свою библиотеку классов пишет, думаете почему? Потому что другим легче вашу выразительность с нуля переписать, чем разбираться и принимать идеологию
более выразительно для команды, которая разработала и продолжает поддерживать сервис

и не нужно обобщать отдельные случаи говнокода с «библиотеками классов» на всю разработку на динамических языках, я и в го могу привести тонну примеров говнокода, начиная со старых версий стандартной библиотеки
источник

ЕК

Егор Карась... in Go-go!
Anton Kucherov
😕 Выходит Ruby идеальный для этого язык?
Руби, в принципе, идеальный язык)
источник

ЕК

Егор Карась... in Go-go!
Ну, я пошёл
источник

AK

Anton Kucherov in Go-go!
Егор Карась
Ну, я пошёл
😂 Слишком идеальный для нашего тленного мира судя по личному опыту.
источник

DP

Daniel Podolsky in Go-go!
Anton Kucherov
😕 Выходит Ruby идеальный для этого язык?
да, и мы видим тому подтверждения в реальности. RoR - это нереально круто.

с производительностью, правда, проблемы, но это уже другая история
источник

AS

Andrei 🦉 Sergeev in Go-go!
Anton Kucherov
😕 Выходит Ruby идеальный для этого язык?
ну вообще да, за счёт чего в своё время выстрелил
источник

АД

Алексей Долгов... in Go-go!
Daniel Podolsky
как раз на go очень даже можно использовать монорепу - у нас есть internal
Я вот вижу 2 варианта в теории. в практике таких сложностей не встречал.
Есть допустим какой-то слой с бизнес-логикой, назовем его доменный слой.
Первый вариант в одной монорепе сделать. Второй вариант - пакет с бизнес-логикой вынести в отдельный пакет в отдельной репе, и в остальных сервисах использовать его? Какой лучше?
источник

AS

Andrei 🦉 Sergeev in Go-go!
другое дело что у рубей есть другие недостатки, которые его потихоньку добивают
источник

DP

Daniel Podolsky in Go-go!
Алексей Долгов
Я вот вижу 2 варианта в теории. в практике таких сложностей не встречал.
Есть допустим какой-то слой с бизнес-логикой, назовем его доменный слой.
Первый вариант в одной монорепе сделать. Второй вариант - пакет с бизнес-логикой вынести в отдельный пакет в отдельной репе, и в остальных сервисах использовать его? Какой лучше?
я лично люблю мультирепу.

но и в монорепе научился жить
источник

AK

Anton Kucherov in Go-go!
Daniel Podolsky
да, и мы видим тому подтверждения в реальности. RoR - это нереально круто.

с производительностью, правда, проблемы, но это уже другая история
У меня не хватило мозгов к сожалению оценить. Не хватает сил учить еженедельно новый DSL (При этом как правило написаный на коленке и без документации). А именно так я бы свой опыт работы с Ruby и RoR и описал. 😕
источник

AS

Andrei 🦉 Sergeev in Go-go!
Anton Kucherov
У меня не хватило мозгов к сожалению оценить. Не хватает сил учить еженедельно новый DSL (При этом как правило написаный на коленке и без документации). А именно так я бы свой опыт работы с Ruby и RoR и описал. 😕
я тоже, но бизнес очень ценит возможность сделать почти готовый продукт с фантастически низкими на фоне го затратами
источник

AK

Anton Kucherov in Go-go!
Andrei 🦉 Sergeev
ну вообще да, за счёт чего в своё время выстрелил
Не знаю, я писал под Web до RoR и мне кажется выстрелил он по другим причинам. А именно по причине скорости разработки и прототипирования типовых проектов. Ну да ладно.
источник

AS

Andrei 🦉 Sergeev in Go-go!
Anton Kucherov
Не знаю, я писал под Web до RoR и мне кажется выстрелил он по другим причинам. А именно по причине скорости разработки и прототипирования типовых проектов. Ну да ладно.
ну да, а скорость разработки и прототипирования и достигается за счёт всё того же сахара и выразительности
источник