This is a great comment thread of some truly large codebases. The theme seems to be spaghetti code and legacy.
https://news.ycombinator.com/item?id=18442637
The first and highest upvoted comment is an insight into how Oracle develops the Oracle DB.
It really does read like a horror story where a small change is needed because 20 flags interact in a special way. To make sure your code doesn't mess things up, you add one more flag so that your fix is only running in this special circumstance.
You then add a few hundred tests to cover your bases. The actually testing will then take 20-30 hours on a server farm. This is beyond insanity.
Other comments are also quite good. One in particular mentions that Oracle DB is 25 millions lines of code. Postgres is 1.3 million lines of code and SQLite is 130 thousand lines of code.
I wonder how many lines of code UniVerse is. ScarletDME is about 90 thousand lines of code.
personal reality building
This quote comes in someone describing a lua monolith that took over literally every aspect of the system. It sounds wildly entertaining and fun to detangle.
The person seems to have built a database, a scheduler, and all sorts of things.
This is what I want to do in pick to be quite honest.
There is an example of a web dashboard where each tab is its own application woned by a specific team where the authentication is globally done. This was exactly what I had planned and came up with for our svelte dashboards.
I wonder why its such a bad idea. I guess it would make things wildly inconsistent but I do think having each team control their own little tab would make sense.
I'm super curious to see why its so bad. The comments rail against it but it seems like each app is truly standalone versus what I'm trying which is each section is standalone but backed by the same database.
One person mentioned capturing all IO operations and making them into a hash. Then you would be able to try and duplicate the behavior with brand new code. If the new code produces identical outputs then it could be safely swapped in.
An interesting idea in writing a system.
One person mentioned that software feels messy because everything is always new. If it was the same then everything would boil down to templates. Then software would be like building something like a bridge or a house. However even real engineering drags when they have to do something new. This is why new things usually result in overrun budgets and timelines.