> Most obviously, Java has JDBC. I think .NET has an equivalent. Drivers are needed but they're often first party, coming directly from the DB vendor itself.
So it's an external dependency that is not part of Java. It doesn't really matter if the code comes from the vendor or not. Especially for OpenSource databases.
DBMS vendor providing the client is nice. At least if you're using pg-native in Node, that's just a wrapper around the Postgres-owned libpq, but I've run into small breaking updates before that I don't feel would've happened if Postgres maintained both.
But that’s not Node’s fault surely? Shouldn’t Postgres be providing an NPM module given the popularity of Node?
No it's not Node's fault, this isn't their job. I don't blame Postgres either, cause maintaining libpq is fair enough, just would've been extra nice to have an official Node lib too.
Well in the case of Oracle you can get the language, runtime, DB and driver all from the same organization under unified support contracts.
If you don't value that, why would you want your programming language implementors to also implement database drivers?
Well that's only because Oracle happens to own both Java and Oracle DB. Suppose you're not using that DB.