Pre-orders for PS3 already sold out of limited allotments

Game stores in the US GamesStop and EB Games annouced yesterday that they were taking preorders for the PS3 for when it ships in the US on November 17. Unfortunately if you weren’t in a store in person with $100 in hand to reserve yours in the first few minutes of the annoucement, they have already all gone.

Each store was reportedly only allocated between 8 and 16 units. Expect shortages this holiday season, and probably don’t expect to be able to walk into any store after Nov 17 to pick one up off the shelf, because people are going to be snapping up these guys as fast as they appear. Also expect massively overpriced reselling on eBay to come your way any day now…

Sun’s interest in Javascript for the Java platform noted in CNN Money article

Every now and again a technology related article makes mainstream news, but it’s often frustrating how skewed or inaccurate the story is. In this case, Owen Thomas from Business 2.0 has an article featured on the CNN Money site, titled ‘Sun Microsystems finds the JavaScript love’ with the subtitle ‘At long last, Sun is embracing JavaScript, the technology that’s driving Web 2.0. Too bad it took the company so long to realize its mistake.’

There are a number of points in this article that are simply incorrect, and clearly not based on any real fact. Statements like ‘As Java has floundered, JavaScript has blossomed’ – ‘floundered’? When? Where? As I mentioned before in a previous blog entry, I see Java being as strongly and widely used in large enterprise systems development than ever before (in my 10 years experience of developing with Java). I wouldn’t say Javascript has ‘blossomed’ either, more like has lingered on like a persistent infection that you just can’t shake. Javascript is nasty to develop with. It is hard to debug, the tool support is hardly adequate, even after all these years.

True, AJAX powered websites are allowing developers to provide a richer and more compelling experience than has previously been possible with web-based applications, but this mashup of technologies is compensating for features that were not intended to be delivered by the web browser, but have of course been supported for many years using desktop based technologies. I still believe that AJAX is filling a need and a gap in the available browser technology – this is not a technology that will be with us for the longterm – as soon as there is an evoultion in browser technology (which has been relatively static for the past 10 years) that offers rich-client type functionality (what is being mimicked by AJAX and Javascript), then the need for AJAX in it’s current form will disappear.

Another comment that made me cringe: ‘But embracing JavaScript now doesn’t address the company’s bigger problem: A generation of Web developers have bypassed Java and instead used simple Web-page development tools to code in JavaScript.’. What the author fails to realize is that Javascript and AJAX is only one much smaller part of the solution. Even if Javascript and AJAX is used on the front-end, the application running on the server at the back-end still has to do all the heavy lifting (data retrieval, storage and processing), and still more often than not the backend will be a Java based applicaiton running on a Java application server. The Javscript and AJAX you see in your webbrowser is just the top of the iceberg – the hard work is still going on in the background – unfortunately for misinformed reporters like who wrote this article though, this is the piece that you never see from your browser…

‘The Myth of Programming Paradigms’

Christopher Diggins posts an interesting question in his blog on Artima related to the different programming paradigms that have become a popular discussion point over the last couple of years, especially with the increasing popularity of scripting/dynamic languages, regarding the relative merits and disadvantages of static verses dynamic languages.

A static language is one that has static compile-time type checking, whereas a dynamic language is one that that has runtime checking and variables do not have to have fixed types (ie they can change type at runtime).

Diggins proposes that this argument between static or dynamic, or even functional verses imperative programming approaches (functional languages promote programming via the use of mathematical evaluations, and imperative programming is focused on the evaluation of sequential commands) is almost redundant, since no one single approach is usually sufficient to solve a complex problem. The problem though is that languages such as Perl that offer ‘more than one way to do it’ become so difficult to master and use well, that they actually become used less as a general purpose language.

The other problem I believe is that to offer a truely general purpose language you will lose the ability to solve certain types of problems well due to the fact that you will have to make compromises to be general purpose.

This articles poses some interesting questions worth thinking about. I believe at the core though, you have to realize that you should always pick the tool that is most suited for the job at hand (within the constraints of the current problem: budget, time, resources etc) – sometimes this may be a collection of different tools that together allow you to solve the problem. Looking for one solution that will fix all problems is not guaranteed (in my opinion) to be the best solution.