Welcome!

Linux Authors: Pat Romanski, Roger Strukhoff, Liz McMillan, Dana Gardner, Elizabeth White

Related Topics: Java, SOA & WOA, .NET, Linux, AJAX & REA, Apache

Java: Blog Feed Post

Node.js, C and Agile – What Do They Have in Common?

A quick look at their evolution

The answer is…

…all three are “lightweight”.

…all three were a result of fresh ground up thinking.

…all three had drastically simplified the existing way of doing things.

Quick look at their evolution

1972: Most commonly used languages (Cobol, Fortran, Algol, PL/1, Basic, APL) all had complicated syntax. The prevailing thought process was to add new language syntax for every new feature. Writing a compiler for such languages was a nightmare.

Then came “C”. The syntax was simple and could easily be parsed. Compiler could be lightweight. Every additional feature were added though a function library. This was a paradigm shift. Syntax of most popular languages (Java, C++, C#, JavaScript) are C like.

2001: The focus was on formal, well specified software development processes. You had SSAD, OOAD, and RUP. SEI had just released its CMM framework.

Then came the “Agile Manifesto”. Over a period of time agile processes started getting adopted everywhere. Every organization is having a serious look at agile and even SEI and PMI wants to coexist with agile methods.

2009: Web servers and App servers have been maturing. Features of SOA and ESB were getting incorporated. The footprint was getting larger and larger.

Then came “node.js”. It was a simple and light weight framework which could be used as a very lightweight webserver. It used non-blocking I/O. So the memory occupancy was drastically reduced. Adoption has already started. Only time will tell if it will have the same level of impact as “C” and “Agile”.

Three Laws of Success

  1. Success leads to complexity aimed at maintaining status quo
  2. Such complex systems cannot simplify itself
  3. It takes a revolution from outside to break the status quo

Some complex system fails like General Motors filed for bankruptcy in 2009.

Others like IBM reinvented itself.

The pages of history are littered with similar happening – here are 3 examples.

Alexander the Great, Prophet Mohammad and Genghis Khan

4th Century BC: Greece consisted of Athens and Sparta. Outside Greece you had Carthage, Persian Empire, Egypt etc. Macedonia was nowhere in the picture. Roll forward less than a century – Alexander the great of Macedonia was the emperor of the largest empire of that time.

600 AD: The world consisted of the Byzantine Empire in Europe & North Africa, Sassanid Dynasty in Persia & Middle East and Gupta Empire in India. Arabia, Mecca and Medina had not taken any part in history. Advance the history by couple of centuries – you see The Abbasid Caliphate was ruling the Middle East, North Africa and Southern Europe. Cordoba in Spain had become the most prosperous city of Europe.

1200 AD: There were many kingdom scattered around the world. Some like the Song Dynasty of China was at the peak of its glory. Others like Abbasid Sultanate were on decline. But, Mongolia had not taken any significant part in world history but all that was about to change. A century later, Genghis Khan and his descendants had established the largest connected empire the world has ever known.

Is there any lessons that we can learn from these examples?

Read the original blog entry...

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google