http://qs321.pair.com?node_id=415412


in reply to The fine art of database programming

In this subject, I am biased toward using the most powerful tool (the DBI), even at the price of some additional typing. It is true that, when you are a beginner, you feel intimidated by the DBI, and you'd like some simplifying solution that will save you some typing and will hide those hideous database details.
I have a different opinion, I find the DBI limiting, and I don't always use it when accessing databases. The DBI is good if you want to create an application that can be moved from one database to an other. I've seldomly encountered a need for this. Usually, a shop has settled on a database vendor, and uses Oracle or Sybase or db2 or something else. And many applications or tools are written specifically for one company, and they won't distribute it. Of course, in many cases, you could still use the DBI - but since the DBI is platform independent, it doesn't allow you to tap into the wealth of features Oracle, Sybase or other databases have to offer. If you don't need them, fine. But if you're doing prototyping, if you're replacing tools writting in other languages, or if you are writing debugging or admin tools, I'd rather have something that allows me to access everything the database has to offer.

Now, this post isn't intended to slap down the DBI - far from it. The DBI is great, and I've written many programs using it. But it isn't the end-all, and I've written many programs accessing databases which would have be harder when using the DBI.

Replies are listed 'Best First'.
Re^2: The fine art of database programming
by u65 (Chaplain) on Sep 10, 2015 at 23:07 UTC

    I would love to see an example of two Perl programs, one with and one without using DBI, where the one without DBI is easier to write.

      u65: I would love to see an example of two Perl programs, one with and one without using DBI, where the one without DBI is easier to write.

      The year 2004 cannot hear you :D

        Ah, too bad. How long after a new thread starts are replies valid?