Re: Philosophical question - Mailing list pgsql-general

From Bèrto ëd Sèra
Subject Re: Philosophical question
Date
Msg-id CAKwGa_8C0xY+xqHHGwV7dWnK=WVz59Ur_DjGv_WW1AOdDD_gKQ@mail.gmail.com
Whole thread Raw
In response to Re: Philosophical question  (Chris Angelico <rosuav@gmail.com>)
Responses Re: Philosophical question
List pgsql-general
Hi!
 
To be fair, isn't that an argument against whatever the popular
programming language is of the day?  I mean, we can all remember
Matt's Scripting Archive and Perl.....

If I can add a personal opinion, my main reason to avoid PHP is not related to programmers at all. There are loads of bad ones everywhere, and I have been (and surely will be again) one of those in some circumstances. We all need to have "the darn thing running ASAP", sooner or later, and quick and good rarely are the same thing. PLus, there are those who seem to take a sadistic pleasure in writing awful code for the sake of it. And they use absolutely each and every available language.

My main problem with PHP is that it has loads of issues upon changing versions, there are a lot of applications based on it, and sooner or later you bump into having one application in need for one version and another being unable to run under it. And you obviously need them both. Gentoo will slot versions, so that you can run a number of them, but this is not a guarantee that you shall be able to slot minor versions, currently you can have any combination of:
        (5.2)   [M]5.2.17
        (5.3)   5.3.8 ~5.3.9_rc1 ~5.3.9_rc2
        (5.4)   ~5.4.0_rc3

This is large bouquet, but it does not mean that APC cache (for example) will work with all those versions, we had a number of issues with this. Sooner or later everything gets fixed, but when it's later you are in trouble, and since all apps have an independent maintenance line, bad programmers are but one possible issue. Lack of available resources for the upgrade in one of your key apps is more than enough to make you use loads of 4 letter words, even if and when all the involved coders are 1st class wizards. Obviously, if all your strategic apps were mostly written in language X or Y you'd still have the very same problem, based on whatever problems language X and Y may have.

So my advice, if you need to run within a complex environment, one in which many other apps will use PHP, is to ask yourself how quick will you be able to upgrade your application, following whatever happens with the language, and how able you'll be to cope with the need of running on multiple versions, some of which may be pretty outdated. If you look at it from this perspective, PHP is not such a low threshold language as it may seem by syntax alone.

If you are to make experiments and cannot invest much time in subtleties (and yet need the thing to be running), you might want to analyse other alternatives, too. Having said this, if it's not you running the server and you have to do with what the environment provides, then... you often do not have much choice. Some version of PHP will surely be there, everything else could be there, or it could not. In that case I do suggest you invest a serious amount of time in learning how things break in between different PHP versions, and start by building awareness on the subject. A connection pooler is definitely what you want, if you are to use it with PG. 

My 2,5 cents (crisis time, 5c is too much for my wallet).
Bèrto

-- 
==============================
If Pac-Man had affected us as kids, we'd all be running around in a darkened room munching pills and listening to repetitive music.

pgsql-general by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Re: Correct syntax to create partial index on a boolean column
Next
From: Guillaume Lelarge
Date:
Subject: Re: question about \encoding option of psql