3 ms·
Faced similar issues in both of the Go projects I've worked on, particularly the one that used Mongo as the database. My conclusion from both experiences is th
by luord 6y ago
Faced similar issues in both of the Go projects I've worked on, particularly the one that used Mongo as the database.
My conclusion from both experiences is that Go is a tool like any other, with its strengths and weaknesses, and with particular idiosyncrasies that make it particularly important to properly architect the application. It can punish you pretty hard[1] if you don't follow proper patterns, or the architecture you decided.
For instance, I think the issues were more pronounced with the project using Mongo precisely because of the flexibility Mongo offers, which allows to delay deciding on schemas, and thus means that the architecture itself can change constantly.
[1]: Such as making coupling and code repetition to balloon pretty fast.