Ajax offered new possibilities sure, but it's nothing more then a variation of a simple 'can i', 'may i' request scheme we already had in place. No way in hell will user validation/authentication be moved to the client side, no way in hell should client side code be able to access databases indiscriminantly and so on. This is all server side logic no sane person would want in the client side. Any programmer that is doing that, should be fired immediatly and kept away from user data not belonging to him/her, perhaps even arrested for being a public menace.
Other languages being supported on the client side will never happen through means other then a plugin based one. Imagine the havoc one could wreak with C++ or Java in the browser or at least try to fathom how many years of security patching that would take. PHP might be a possibility if you throw out all the I/O and other potential security leaks, but it will fail and fail hard due to legacy (start with IE6 and ponder from there on).
Well, I cannot call myself the most expert to answer this question, but here is what I think from my work experience so far :
However, thinking that because of this, there will be less and less server side scripts is not understanding where application development comes from and where it is going now. In fact, the model applications follow more and more is a 2-tier (or n-tier) model and this is solving (among many other reasons) the dependency and packaging issues that desktop (client only) application have. I'm not talking about the average user here, but rather how enterprises deploy and maintain their environments on their hundreds (even many thousands) workstations.
In average, there will always be as much code on the client as there is on the server. The difference is what the code actually do. Server side code are usually in a stateless (or semi-stateless) mode. Where the client code is more dynamic. On a general level, the server handles data, where the client render the UI, and handle various user inputs. (On virtual clients, the server handles just about everything, but we're not talking about that.)
If laptops now have what servers had about 6 years ago, todays server machines are way beyond what the average consumer's PC is. The fact is that a client machine will never (not in our lifetime anyway) be able to compete what a cluster of servers can do, and this is very powerful in term of application.
Also, everything will not always be online, but installing an application would be a matter of caching the web application in an application cache on the client and be able to use it even offline, then synchronize the data once a connection can be established (or upon user request) later. Upgrades and updates will simply be to refresh the application cache.
For example, download your favorite Office suite, edit your document offline, then once a connection is made through an access point, sync/save the document online (and perform application updates in the background). No installation required. All the online part would be performed by PHP, Python, J2EE, etc. And backed by some SQL database.
My two cents.