|
Kevin is quite right - that's what a number of pundits are saying. But I suspect they're wrong in the long-term - whether they're talking about web-apps accessed via desktop PCs, or apps accessed by mobile phones. The reason why people are making these predictions is that PHP is incredibly popular at the moment. The wrinkle here is that I think they're basing their predictions on momentum rather than on the fundamentals. My bet is that the momentum behind PHP will prove only temporary. Why do I think that? Two reasons: first, I look at the fundamentals; and second, I've seen it all before. In the late nineties, I remember pundits saying that this "new thing" called Perl (a programming language beginning with "P") was going to outstrip Java. What the pundits didn't know was that those of us who'd been around in the very beginning of the Web, trying to make it easy for early web browsers to interact with programs running on a server, had actually started out using Perl. Back then, it was actually the best way to go (C or C++ was a sub-optimal choice for reasons I won't go into). But, then Java came along. And it was what great developers had been waiting for... A few years later... lots of mediocre developers were having problems with Java... "Java doesn't work. It's too slow...It uses too much memory...Right once, test everywhere... you can't build serious GUIs with Swing" were the recurring bleats. And then, people "discovered" a "cool new technology" that was going to change everything. It was called... err... "Perl" - and it was going to overtake Java. And off they went. Building buggy, poorly designed, mediocre applications. It didn't get them where they needed to go. So the momentum behind Perl proved temporary, and legions switched from Perl to PHP. And the same problems will hit PHP that hit Perl... it's fundamental. So, what about the fundamentals? Well, it's all about designing and build great software. The first thing to realise is that since the dawn of programming, many people have hoped that a programming language would come along that would be so easy to use, anyone could design and build great software. But the truth is, this is fundamentally impossible given the current state of computer hardware/OS platforms we have to work with. So now, and for the foreseeable future, great software will be made by people with a deep understanding of how to design great software. Great software will not be designed by code monkeys. The choice of programming language is, in some ways, incidental. A great developer could design and build great software in Java, PHP, Perl, Python, Ruby, C, C++, FORTRAN, COBOL, LISP, Basic or C#. A mediocre developer simply cannot design great software. Period. Programming languages and related software and platform technolgies are just tools to help you get where you need to go. What I call "programming languages beginning with the letter P" (like PHP, Perl, or Python) tend to be favoured by developers who have an incomplete understanding of the issues surrounding building great software. That's not exclusively the case, but it's pretty much a true statement. Designing and building great software is hard. Always has been. Possibly always will be. You need all the help you can get from the technologies you use to help you along the way. And languages like PHP don't really give you the help you need. Languages like PHP help people build mediocre software fast. Java helps people build great software fast. You'll notice that implicit in the above, is an assertion that software needs to be great. I think it does (most of the time, at least), but the reasons why will have to be the subject of another post... |
| Simon August 22, 2005 06:35 PM PDT Have I exposed myself to the Python developer community? Metaphorically, speaking, I sure have. I know quite a few Python developers, including some very bright people. But, I've never had a conversation with a Python developer who gave me the impression they truly understood what great graphical user interfaces are all about, for example. Having said that, if I *had* to use a programmng language beginning with P, Python would win out for me over PHP or Perl. | ||
| Simon Brunning July 4, 2005 04:19 PM PDT "What I call "programming languages beginning with the letter P" (like PHP, Perl, or Python) tend to be favoured by developers who have an incomplete understanding of the issues surrounding building great software." Are you kidding? Have you ever exposed yourself to, for example, the Python language or community? Me, I work with both Java and Python developers, and I have to tell you, the average Python developer has *far* more of a clue that the average Java developer. That's the *average* Java developer, BTW - there are some seriously bright people working on both platforms. But there are a lot of plodders working with Java, and very few working with Python. | ||
| Leave a Comment: |