This 5-minute lightning talk
  was given by Tim Bunce
      at OSCON 2007
Database interfaces
           for open source
           languages suck


Database interfaces for Java, C#, VB etc also s...
They’re all limited

                              They’re all different

                          They’re all duplicatin...
We need a common database driver
        API for Parrot and Perl 6




All drivers can implement the common API,
then any ...
Mature, Stable, Functional,
                Object Oriented

                 Well documented,
               ideally with...
JDBC

       No, not Java, just the JDBC API

             The class and method names,
                     the semantics
...
Actually, not plain JDBC

  Sanitize the worst influences of Java

   Easier to use for dynamic languages




Language inte...
DBI2 for Perl 6

          JDBC as DBI ↔ DBD API




Language interface layer adapts the JDBC API to the particular needs ...
What’s already happened

    JDBC.pm for perl5 using Inline::Java

               What’s happening currently
             ...
Next steps?




I'm working on a PDBC module now, in Perl 5
    that's kind-of-a subclass of JDBC that adds DBI-like metho...
Interested?

Tim.Bunce@pobox.com
Upcoming SlideShare
Loading in...5
×

DBI for Parrot and Perl 6 Lightning Talk 2007

1,627

Published on

This is a 5 minute lightning talk I gave at OSCON in 2007. Somewhat dated, but still relevant.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,627
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DBI for Parrot and Perl 6 Lightning Talk 2007

  1. 1. This 5-minute lightning talk was given by Tim Bunce at OSCON 2007
  2. 2. Database interfaces for open source languages suck Database interfaces for Java, C#, VB etc also suck, but are much more functional Perl has its own database drivers, as do Python, Ruby, PHP, tcl etc etc Just about every open source language has its own database drivers Some even have more than one set of database interfaces and drivers
  3. 3. They’re all limited They’re all different They’re all duplicating development effort They're All limited Most provide access to a fraction of database client functionality They're All different Even the ones modelled on the DBI differ in significant ways They're All duplicating development effort So much more could be achieved if the same effort was focussed on fewer drivers that could be shared across languages Diversity is good, but this is madness.
  4. 4. We need a common database driver API for Parrot and Perl 6 All drivers can implement the common API, then any parrot language can use any driver
  5. 5. Mature, Stable, Functional, Object Oriented Well documented, ideally with a test suite Well known to a wide user base Well known to driver developers We need an API that is...
  6. 6. JDBC No, not Java, just the JDBC API The class and method names, the semantics the documentation The only good fit is the Java JDBC API “JDBC is the new ODBC” So I'm proposing that the JDBC API specification be the common database driver API for Parrot The goal being to be able to use the official JDBC docs as the primary docs for the API
  7. 7. Actually, not plain JDBC Sanitize the worst influences of Java Easier to use for dynamic languages Language interface layer adapts the JDBC API to the particular needs of that language
  8. 8. DBI2 for Perl 6 JDBC as DBI ↔ DBD API Language interface layer adapts the JDBC API to the particular needs of that language
  9. 9. What’s already happened JDBC.pm for perl5 using Inline::Java What’s happening currently “plumbing” java2perl6 API translator Java SE 6: Java Scripting API I'm working on a PDBC module now, in Perl 5 that's kind-of-a subclass of JDBC that adds DBI-like methods. I'm mentoring a Summer of Code project by Bálint Szilakszi to explore a perl6 pugs implementation of the DBI v1 API with perl5 PDBC as the backend.
  10. 10. Next steps? I'm working on a PDBC module now, in Perl 5 that's kind-of-a subclass of JDBC that adds DBI-like methods. I'm mentoring a Summer of Code project by Bálint Szilakszi to explore a perl6 pugs implementation of the DBI v1 API with perl5 PDBC as the backend.
  11. 11. Interested? Tim.Bunce@pobox.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×