ODBC is fairly complex (both to work against and to implement providers for) and is very much tied to relational databases.
It's also unevenly implemented: On Windows there's native Microsoft-provided ODBC (but in terms of focus it has been superceded by ADO, which superceded OLE DB, which was supposed to be the replacement for ODBC — it's not like Microsoft ever settles on a single technology), and on Unix there's UnixODBC. I don't know about the driver quality; I suspect Windows ODBC drivers are quite good, whereas JDBC has been favoured by the server/enterprise world for a while, and I would not be surprised if UnixODBC drivers were a bit behind the times.
As for the Borland dev tools, they also used their own proprietary data source tech: The BDE (Borland Database Engine), which had an ODBC bridge built in. I remember being quite fed up with the BDE at the time, and eventually started using a set of native ODBC components that someone developed.
Cocoa does have a sort of rich data framework that you refer to: Core Data. Unfortunately it's quite complex, and not really designed to be a common interface to databases, but rather a sort of data abstraction layer where you work with objects and never see any SQL.
It's also unevenly implemented: On Windows there's native Microsoft-provided ODBC (but in terms of focus it has been superceded by ADO, which superceded OLE DB, which was supposed to be the replacement for ODBC — it's not like Microsoft ever settles on a single technology), and on Unix there's UnixODBC. I don't know about the driver quality; I suspect Windows ODBC drivers are quite good, whereas JDBC has been favoured by the server/enterprise world for a while, and I would not be surprised if UnixODBC drivers were a bit behind the times.
As for the Borland dev tools, they also used their own proprietary data source tech: The BDE (Borland Database Engine), which had an ODBC bridge built in. I remember being quite fed up with the BDE at the time, and eventually started using a set of native ODBC components that someone developed.
Cocoa does have a sort of rich data framework that you refer to: Core Data. Unfortunately it's quite complex, and not really designed to be a common interface to databases, but rather a sort of data abstraction layer where you work with objects and never see any SQL.