I'm responding to the defense given in the parent comment, starting with
> Gcc is a good C compiler and a bad Java compiler
Meaning, some tools are meant for a specific purpose and it's not fair to judge them if they do poorly at things they were not designed to do. GCC does not claim to be a java compiler (any longer [1]).
I don't think this apology applies to MongoDB. It is described as a "general purpose" database, good for most modern apps. This is asserting exactly the opposite of what was argued in the parent comment. It is then fair to expect that it should do a good job of representing basic data like graph relationships.
I didn't think saying GCC is a C compiler was saying it was a 'specialized' tool. It's a tool that compiles C code. It'll compile any valid C program on any supported architecture, but it's not trying to be better at any particular kind of C program. A specialist C compiler might target embedded systems[1], or it might compile C to some unusual intermediate representation, etc.
Once we start talking about C compilers (or general databases), I wanted to express the idea that terms like 'good' or 'bad' are too board to be useful. The only way MongoDB would be a 'bad' database is if it didn't do what it said it did (which seemed to be true for a long time[2]). 'Bad' only makes sense, to me, as a synonym for 'broken.'
Instead, tools that perform the game general function tend to focus on different aspects of that function. MongoDB focuses on 'productivity' (whatever that means). My impression was, for a time, GCC focused on overall performance while Clang focused on IR introspection through LLVM[3].
I think the article OP links is valid criticism of MongoDB. They're very clear that Mongo didn't work for their use case and I'm sure they're correct. I just think they go too far in saying "Never use MongoDB" and that what they're really saying is something along the lines of, "we couldn't make MongoDB work and we're skeptical anyone can."
P.s. I don't think GCC ever claimed to be a Java compiler - your link is to GCJ, a different program also made by GNU.
> Gcc is a good C compiler and a bad Java compiler
Meaning, some tools are meant for a specific purpose and it's not fair to judge them if they do poorly at things they were not designed to do. GCC does not claim to be a java compiler (any longer [1]).
I don't think this apology applies to MongoDB. It is described as a "general purpose" database, good for most modern apps. This is asserting exactly the opposite of what was argued in the parent comment. It is then fair to expect that it should do a good job of representing basic data like graph relationships.
[1] https://en.m.wikipedia.org/wiki/GNU_Compiler_for_Java