Current Softwares have Infinite Features


Few days back I took a decision to stop learning new programming languages. This quiet contrary to what I have done for last 33 years. Since I was first introduced to programming in the third year in the college in has always been my passion. The first language I used was Fortran. Since then I had dabbled with many different types of machine which included:

  • PDP-1 which filled a whole room, was make of discrete transistors, had 4 kilo bytes of memory and you programmed directly in machine language
  • ICL unit record machine where you did not write program but wired a large panel
  • ICIM 101 (ICL System 25) which did not have an operating system and did arithmetic in BCD

All these years I have tried to keep up with the evolution of programming language by learning the state of the art, latest in the line being Ruby.

Then why this drastic decision? Am I getting too old? Not really!

I was scanning through the list of controls available in VB.Net and just realized that it is almost 3 times the number available is VB6. Also, the number of properties and methods for each control is substantially more than what was available in VB6. That makes VB.Net much more powerful than VB6 but it also makes it much more (may be about 10 times more) complex than VB6.Therefore, if a person could master VB6 in 3 months, then a person with same ability will take about 30 months or two and a half year to master VB.Net. By that time it would be obsolete!

The implication is very simple but startling. It is impossible for a ordinary mortal to master a state of the art language. By the time the language is mastered it would be superceded by something different. To this you can add the complication of the availability of third party and open source libraries. We have reached a situation where it is impossible to master a language.

Therefore, for all practical purpose, languages of today have infinite features.

I do not know how long this will continue. If we look back we find that there was an increase in complexity in language syntax from COBOL to PL/1 to ADA. This suddenly “C” happened which had a very simple language syntax and all the complexity was hidden inside the function library. This was a paradigm shift. It was a major change in how we programmed.

The question that we have to ask today is:

In the near future, will be witness a sudden change in how we program?

For a while, it appeared that model driven development and domain specific languages will be the next wave but it increasingly looks unlikely. Anyway, I am going to wait for the next paradigm shift.

Comments
4 Responses to “Current Softwares have Infinite Features”
  1. Eswaran says:

    The constant effort to make a programming language easy to use and quicker to programme, has lead to building ready made blocks, jigs and fixtures. The programmer is expected to point and click and ‘generate’ code snippets and is expected to dabble in black magic.

    The aspect of writing code to solve a problem situation in the traditional pencil and paper has been overriden with GUI, interfaces, Security , Logging , Maintainability and Documentation.

    So pray why will not the software become bloated to accomidate all these aspects?

  2. Thanigaivel says:

    i would also go with you expectation that “domain specific languages” is really going to be the next wave with concept of pre-built components where user has to drag and drop the components and create the logic by passing the appropriate parameters, with options to codw when complexities are there.

    This is already being tested by high end products like the SAS where everything is driven by the drag and drop functionality with a programing option when there are more complex scenarios. This is also proved to be possible by the testing tools like QTP, and the etl tools Talend and others.

    I would like to ask you “What drives the languages to become more complex day by day”.

  3. Deepesh says:

    .NET 4 is coming out with parallel programming support. You sure you don’t want to change your mind?🙂

    http://www.infoq.com/news/2008/10/NET-4

Trackbacks
Check out what others are saying...
  1. […] accelerating. Technology options are increasing. Current software, for all practical purpose, has infinite features! The world is becoming more and more interconnected. Hence, software developers of the future will […]



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: