|
|
Sun Labs - Using JavaScript as a Real Programming Language
Using JavaScript as a Real Programming Language
by Mikkonen and Taivalsaari
October 15, 2007 -The software industry is currently in the middle of a paradigm shift. In the past few years, the World Wide Web has become the de facto deployment environment for new software applications. Software applications that were previously written for specific operating systems, computing architectures or devices, are now written for the web, to be used from a web browser by anyone, anywhere, anytime.
Sun Labs researchers Dan Ingalls, Tommi Mikkonen, Krzysztof Palacz and Antero Taivalsaari have created a new web programming system called the Lively Kernel (also known as the Sun Labs Lively Kernel) that introduces an entirely new way of creating web applications. The Lively Kernel system presents web pages as interactive “worlds” of live objects that can be manipulated directly and interactively. These worlds may include various types of objects, ranging from simple widgets such as stock tickers or weather maps to full-fledged desktop-style applications such as games or productivity applications. The system even includes development tools that can be used for inspecting and modifying the system and the applications on the fly.
A central building block of the Lively Kernel is JavaScript the most popular scripting language on the web. Today, every commercial web browser comes pre-installed with a JavaScript virtual machine that is commonly used for relatively simple scripting and animation tasks. However, the JavaScript language itself is a general-purpose programming language that has far more expressive power than most people realize. One of the goals of the Lively Kernel is to unleash the latent power of JavaScript in order to enable the creation of truly dynamic, collaborative web applications that require no installation or plug-in components at all.
In this paper, Sun Labs researchers Tommi Mikkonen and Antero Taivalsaari summarize their experiences in using JavaScript as a real programming language in the context of the Lively Kernel. Based on their experiences, JavaScript is a surprisingly powerful and expressive language much more powerful than its current use as a scripting language on the web would indicate. Their experiences suggest that the JavaScript language can be used for developing real applications and even system software. However, effective use of JavaScript requires adjustment especially from those developers who are accustomed to more static programming languages such as C or C++. In general, JavaScript requires an incremental, evolutionary software development approach that is not yet familiar to the majority of software developers, except for those who have grown up with dynamic languages. As the evolution of the World Wide Web drives more and more software developers to use dynamic languages, the issues associated with such a development style will eventually disappear.
|