I have joined Anti-IF Campaign

Javascript : will it bring Harmony in the force?



Javascript origins ?

First of all I would like to talk a little bit about the past in order to remind you where does Javascript come from and what have been the main/essential steps for its advent.

JavaScript quietly approaches its 20th birthday. It is certainly not as old as some languages like Fortran  (1957), Pascal (1970), C++ (1983) or even Python (1991) nevertheless on web scale and by observing today 's hectic evolution programming, Javascript does definitely have its place.

And now?

We can quickly observe by browsing the internet that Javascript is either loved or loathed by people. More than that, it seems that there is a consensus: a majority of developers agreed. Even if at first sight its language seems simplistic, it hides some strange traps and performance that make it really difficult to use.

This prototype based programming language has a syntax often seen as verbose. Its type system is based on objects (variables) that types have not to be declared. The consequence is that the type of an object can automatically change depending on its allocation.

But however, it is probably the most reachable language in the world. Thanks to it we can quickly create our first script using just a file and a browser. We don't need a heavy IDE nor a specific program, installation and configuration of any kind. Javascript is a bit of a 'Swiss knife' for developers.

But it would never have had such a success without :
  • Ajax
  • Jquery
  • NodeJs
  • The new framework wave (Backbone, Ember, Angularjs …)

The language on itself hasn't much evolved for years but some genius developers had known how to improve it and gave it a 'so sexy' touch. We can then confirm that no other language or computing platform had created such a buzz. It is the only one to have such a success.

Where do we use it ?

http://www.flickr.com/photos/3336/4888039856/sizes/m/in/photostream/ 

Since a few times Javascript goes over more and more borders, we like it or not : it is a multi­platform language.

It is the only browser ­language. Flash, Silverlight and Java didn't survive HTML 5. So Javascript has become the standard for web development.

With the arrival of NodeJs it is once again becoming a server based. Once again because some of you may remember SSJS (Netscape's Server­Side JavaScript) released in 1994. Not so efficient at this time, V8 (JavaScript) Engine now allows NodeJs to offer acceptable time answers.

But performances do not everything. What make NodeJs such a success is that it is then possible and viable to use one language to write an entire Web apps.

It is just a laboratory development you will say ; But not at all : NodeJs is already in production and not with an unknown start­up. There are huge companies such as Yahoo, PayPal, Ebay, LinkedIn and Walmart (full list on this website : http://nodejs.org/industry/).
PayPal even has its own framework Kraken over NodeJs (https://www.paypal­engineering.com/2014/03/03/open­sourcing­kraken­js/).

But the question is, what are the reasons for this enthusiasm ?
Is it for :
  • obtaining performance gains
  • or in order to reduce the cost of development
  • or for innovation
  • or to attract talented developers ? 

According to Walmart or Yahoo (http://fr.slideshare.net/joemccann/the­business­case­for­node), the aim is not just to create the buzz but to allow them to reach the four objectives above.

Another conquest of Javascript: the mobile phone.

http://fr.wikipedia.org/wiki/T%C3%A9l%C3%A9phone

Whether on Android or IOS, the same question can be asked as soon as a new development is created : web App or mobile App ?
Web App does not offer a user experience as complete as with mobile App but it has the advantage to increase the scope of your App and as well as reduce your development costs.
The current leaders as PhoneGap or Titanium use Javascript to run your App.

Mozilla Corporation even took the idea a bit further with the concept of Firefox OS. Supported by many operators and manufacturers, this free mobile operating system is based on HTML5 and so Javascript. It is destined to a bright future by addressing the emerging countries with a future Smartphone at very low prices.

When we finally see that Gnome, QT and Windows 8 adopt Javascript for their scripting, which has know becoming a first class software platform, we end up thinking that Atwood was right.

Javascript's future : 

HTML 5 is obviously the first step on its road. Already present in modern browsers, its API allows Javascript to further extend its possibilities : offline, local storage, File api … The revenge of “thick client” application is there.

With the Cloud revolution, the web is renewing by becoming itself more than an IDE. There are many online tools to develop and manage applications such as :

  • https://c9.io/
  • http://koding.com
  • http://cloud­ide.com/
All based on Javascript.

The ECMAScript is a standard language. Javascript is an implementation of it. The sixth version (Harmony) has announced some great new features :

  • Generator
  • Real Class
  • Modules

The web components (Which first implementations are Polymer and X-Tag) will be there to support JavaScript into its forward step. The goal for the W3C is clear: to redefine how to design a web interface. So everyone would be able to develop and share HTML tags.

Conclusion : 

Javascript is everywhere and it will become very difficult to develop without ever using it.

The first consequence is that development teams should seriously learn to use it.
The second consequence is that everything that is possible to enhance it will be used.

Will the solution be provided by Javascript itself or will it come from a symbiotic language (a language compiled as a source code from another language) ?

Will the browsers' War let the way to the War of JavaScript successors ?

I will end by one of the most interesting assertion of JavaScript:
0.1 + 0.2 === 0.3
Result: false


2 commentaires: