Hi Joost- I'm going to ramble on a bit about object-oriented languages...
It's not clear to me that using an object oriented language is in an of itself a good thing that leads to reuse and scalability. The idea is that you build up a set of objects and reuse them over time. I will claim that this amounts to a framework,
and that building a good framework can be done in multiple ways, one of which is object oriented, but it's also possible to use shared libraries. You really have to
come up with a clear "model" for how things work and define boundaries.
I've only see good frameworks happen over time, thru several iterations of code release. Perhaps one of the most sophisticated frameworks I've seen was written
in M, a time oriented, object like language, within a medical records info system.
I hit it at year 15 and perhaps 5 major releases of the product.
I'd like to say the object oriented is a good way to do things. One of the first truly object oriented products in the commercial realm was NeXTSTEP. That didn't take the world by fire, perhaps ahead of it's time, perhaps priced a bit too high. One of the neat things to come out of NeXT was WebObjects, which is still an Apple product you can get for the Mac. WebObjects is pretty cool, once you get it. The learning curve is awfully steep. I've seen at least one major project in Higher Ed IT get cancelled due to issues using WebObjects (my.umich.edu), with one of the larger issues being that they couldn't get enough WebObjects developers.
What I really think is it boils down to good design and good abstractions, which
you can do with a programming language that supports functions or objects.
Now, whether you have a good design for reuse only has some impact on performance and scalability. Here you have to look at how things perform
in the field or under load. Bad algorithms will get you in trouble, no guarantees that using Java or PHP will keep you from a poorly performing bit of code. At the end of the day, this all has to run on the same CPU, memory, disk, and network, with whatever capacity is available.
When Java 1st came out, it had a reputation as a poorly performing language. It's better now, as there has been some time to tweak it. However, you can generally do much better using a so-called native language, like C or C++, or for that matter in assembler. The reason we don't write in lower level lanaguages has to do with cost and benefit. It's so much faster to create and to maintain, and the loss of performance is not to severe that you can't live with it, which is to say it's cost.
I've been involved in some large Java projects on our campus and did champion brining in one of the 1st large Java-based products for our portal in 2000.
I think Java can be a fine choice for some things that are realively low level.
PHP is now thought to be a pretty good choice for web applications, having been brought into live for just that purpose. And the big reason it's so popular is
the huge library of shared functions. That's a framework for building web apps. One can whip out something that's fairly sophisticated pretty fast, because mostly you are leveraging the PHP library. Same thing is true for .NET or Java, they too have their own libraries.
One could argue the merits of PHP vs. Java vs. .NET for creating web apps. I prefer
to look at results. PHP is a very popular choice, much more popular than Java, and a bit more popular than .NET. I wish I could cite some hard evidence/survey. the best I can do is cite the popularity of PHP in web hosting services (more than either Java or .NET, both of which will tend to cost more). For a very large PHP app, look at Yahoo, I'd say that scales pretty well. Or Google, which is a Python app, and that scales pretty well too.
No doubt someone could write a Java app that scales well. However, I have also seen Java apps that don't scale well too. Or PHP apps that don't scale well. These are problems as much with the algorithms chosen as anything.
On the point of what's going to be more flexible in the future in response to teaching needs, I think that PHP looks pretty good. It's simplicity fuels experimentation by those that are not "rocket scientists". Or to paraphase someone, "you can make mistakes faster" and correct them faster too.