Sunday, March 13, 2011
Destiny of the Thin Client and Java Scripting
Applications which run on web browsers are getting expanded by the day. Some are things which (just few years ago) we didn't even believe was possible to have on a web browser. Anyway, the purpose of this article is not to debate the life time of desktop applications. May be some other day... but not today.
For the arguments sake, let's just say that there are more and more applications now running on top of a browser (thin client), Hence in future there will be many many apps written in scripting languages which runs on browsers.
Let me share with you few experiences I had recently come across on the programming front, the thoughts they generated and their conclusions. To make it bit interesting, I will disclose the conclusion first, then we would discuss the reasons for it.
Conclusion (my prediction for future) : Java Scripting (or something similar) is destined to conquer the programming world!
there... I said it! Some might say Java Scripts have already conquered the world.
For others, here are my reasoning :
Programming is now moving once again towards dynamic, loosely typed languages which offer more flexibility and productivity to developers.
This is why people embrace new languages like Ruby, when C++ like languages are increasingly looked down upon. Strongly typed is no longer considered a good thing, not necessarily. Steve Yegge has apparently become so frustrated with Type Safety that he has written this little (well..., long actually) story about TS (Type Safety). Power of dynamic programing languages is very attractive and top programmers are already either migrated, migrating or considering doing it. Here migration is from C++, Java .Net worlds into the worlds of Ruby, Haskell, Lisp etc. To me it seems like the Virtual Machine concept is the only thing which keeps Java alive right now. They have the best VM so far designed, as soon an alternative VM comes for another language (or one which supports multiple languages) things would start to look more interesting.
Java Scripts are dynamic, not strongly typed and very flexible. A language which has a huge potential when compared to the existing giants like Java, C++ etc. There is a common perception that Java Scripts is really simple, naive, not even real programming. This perception is set to change dramatically in the coming few years! As for a little example, consider how easily you can pass a function as a parameter to another function in java scripts. Read this (With Joel's skillful way of hammering a point through) as well for the ways that can be important in modern programming. I think Java Script has got the basic concepts right in contributing towards building the next big thing in programming languages.
6) Anatomy of a modern web application : When we look at modern web applications which offer lot of dynamism, interactivity and finer smoothness of operations for the users, one trend become noticeable. More and more interesting and smarter code is being written at the front end. Less and less smarter critical code is being written in the back end.
However, there is a one last improvement remaining to happen. We will need a new name for Java Scripts! Already JS is very different than how it was until few years ago but the perception of it is yet to get updated. If it is to be the new and next big thing, it will surely need a much better marketable name that JS. Any suggestions ?