Thread: Best programming language / connectivity for best performance
Hi,
I was wondering what is the best database connectivity and programming language to get the best performance with PostgreSQL. I'm currently working with Delphi, but I don't know if that is the best way to go ?
Many thanks in advance,
Best regards,
Nico Callewaert
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.
I really wouldn't take relative DB performance into much consideration when choosing a programming language for your project. I have found that the actual Language/API overhead to be pretty inconsequential in most of my projects. When my DB access is slow, I have found it is almost always a problem with my query or the DB is just overloaded. There is one exception I can think of, and that's doing bound controls in VB through ODBC. I haven't done bound controls in VB for years and years, so I don't even know if it's still in the language, but they're crappy and you shouldn't use them. When I'm using a RAD tool like VB etc. I *never* use design-level tools to handle my DB IO. When I write a client side app, I manually handle my own DB IO and let the GUI simply handle the user interface. Nico Callewaert wrote: > Hi, > > I was wondering what is the best database connectivity and programming > language to get the best performance with PostgreSQL. I'm currently > working with Delphi, but I don't know if that is the best way to go ? >
Nico, I do not believe there is anyone who can tell you the "best way to go" as that is determined by far more than DB access. That said, I am inclined to agree with John. I would expand on that to say that if Delphi is the only language you know, then it is the best option for getting productive quickly. Otherwise, you have to resort to multiparadigm development and determine which of the languages you know best meets the requirements for your project. I use FORTRAN, C++, and JAVA, and I know VB, Perl, and PHP. If I require an outstanding object model, my choice reduces to C++ and JAVA, because the object model in FORTRAN is almost as seriously broken as that in VB. I generally don't use VB, except for trivial toys, and even there, it has been years since I used it. Perl and PHP are interesting, but I have yet to see an advantage they can offer over JAVA (including servlets and JSP) or C++. I use FORTRAN for specialty programs requiring extensive number crunching, but it is being displaced in my own work by C++ particularly because of the advantages provided by metaprogramming. The only languages I have used for commercial application development are C++ and Java. If there is significant networking and/or security, I lean towards JAVA because of the related libraries built into the SDK. OTOH, if I need real generic programming, I lean toward C++ because, while JAVA has made some progress in generics, it is still quite broken relative to the powerful support for generics in C++. And, if there is a need for metaprogramming based on generic programming, then C++ is the only choice I am aware of. You see, every language has it's strengths and weaknesses, and you generally need to choose based on what you know about each language you know how to use, and the availability of libraries to support your problem domain. In my experience, you become a more productive and better programmer as you make a point of learning more programming languages and give thought to their relative strengths and weaknesses. Almost invariably, when my use of a DB is slow, it is because I have a problem with my queries. This happens more often than it should, but then I have been programming using languages like FORTRAN, Pascal, Basic and C++ (all closely related Algol languages) for well over two dozen years and I started studying RDBMS and SQL only a few years ago. Like John, when I'm using a RAD tool (and I should say I like Delphi almost as much as I like Netbeans and Borland's C++ Builder), I handle DB access in my own code and let the GUI handle the interface only. My experience with bound controls is similar to John's. They are a convenience for novice programmers, but once you start adding more professional features, such as data validation and formatting, they leave just about everything to be desired. In my work, they served as a convenience during proof of concept work to show a client where their project was heading, but in virtually every case, I replaced them for one reason or another. They just didn't provide the feature set I required and it was just less work to use the basic controls than it was to fight with broken bound controls. Cheers, Ted ----- Original Message ----- From: "John McCawley" <nospam@hardgeus.com> To: "Nico Callewaert" <nico_callewaert@yahoo.com> Cc: <pgsql-general@postgresql.org> Sent: Tuesday, January 10, 2006 9:06 AM Subject: [Bulk] Re: [GENERAL] Best programming language / connectivity for best performance >I really wouldn't take relative DB performance into much consideration when >choosing a programming language for your project. I have found that the >actual Language/API overhead to be pretty inconsequential in most of my >projects. When my DB access is slow, I have found it is almost always a >problem with my query or the DB is just overloaded. > > There is one exception I can think of, and that's doing bound controls in > VB through ODBC. I haven't done bound controls in VB for years and years, > so I don't even know if it's still in the language, but they're crappy and > you shouldn't use them. When I'm using a RAD tool like VB etc. I *never* > use design-level tools to handle my DB IO. When I write a client side > app, I manually handle my own DB IO and let the GUI simply handle the user > interface. > > > Nico Callewaert wrote: > >> Hi, >> I was wondering what is the best database connectivity and programming >> language to get the best performance with PostgreSQL. I'm currently >> working with Delphi, but I don't know if that is the best way to go ? >> > > ---------------------------(end of broadcast)--------------------------- > TIP 2: Don't 'kill -9' the postmaster >