danluu.com
4 votes c/freepost Posted by loop — 4 votes, 1 commentsSource

I prefer smaller projects, but I would love to read more arguments for monoliths.

It’s theoretically possible to create a build system that makes building anything, with any dependencies, simple without having a monorepo, but it’s more effort, enough effort that I’ve never seen a system that does it seamlessly. Maven and sbt are pretty nice, in a way, but it’s not uncommon to lose a lot of time tracking down and fixing version dependency issues.

This statement feels too dismissive. I don’t know what the author means by “simple”, except that it isn’t Maven or sbt because they can lead to time sinks.

Large repos, monolithic or not, suffer from a strong dependency to whatever IDE. I have seen workarounds from the IDE that use tests, but then you have to compile the whole thing. This feels like IDE vs build system. Can anyone else think of another option?

As much as I like to make fun of Gradle, you can use it to specify exactly what you want in your build. I’m not a pro at it, but when I do use it, it works fairly well (if the author gets to inject personal experience, then so do I). But either way, where does a person set demarcation? A true monolith eventually becomes an OS. I don’t ask because I actually believe in that slippery slope. From the article it seems like per business.