by January 2, 2012 0 comments



Sufyan bin Uzayr, Freelance Writer, Graphic Artist, Photographer, www.sufyan.co.nr

We all know what is meant by the term ‘programming language’ — it refers to the system of syntax and commands that are used to convey instructions to machines in general, and computers in particular. Every electronic object around us operates on a set of programs, which in turn operate on a set of commands issued by using a particular programming language. In short, a programming language is employed to control the behaviour of a computer and get tasks done using it.
For the sake of simplicity, we shall by-pass the functioning of any programming language as our main crux in this article is to trace the growth of programming languages and their role in shaping our lives.

IT’S TIME TO…CODE!

Programming languages can be defined in numerous technical ways. However, in his essay ‘In the Beginning was the Command Line’ (http://goo.gl/yHaFs), Neal Stephenson describes programming languages as “a system of metaphors”. In his definition, a programming language serves as the ‘bridge’ between the computer on one hand and the user on the other. The user’s commands are translated into binary terms that the machine can comprehend, and the machine’s ramblings are presented to the user in a language that he/she can understand.

Programming languages, since their very inception, have been classified as high level and low level languages. Of course, this distinction itself is blurred — C was a high level language in its prime days, then Python replaced it, and the trend continues. The high or low element of a programming language depends on the level of abstraction it can provide — thus, while C introduced variables, Python introduced native data types bundled within the core language.

HISTORICAL CONTEXT — GROWTH OF PROGRAMMING LANGUAGES IN PAST 3 DECADES

1980s — A Decade of Progress

Programming languages have existed since the dawn of technology itself, and if one were to properly trace their lineage, the timeline will initiate way back in 1940s. However, it was in the decade of 80s that modern day programming took its rightful shape.

1980s saw the rise of imperative languages — instead of outrightly ‘inventing’ new languages, the focus in this decade was on ‘innovating’ and building upon already existent methods and paradigms of programming. Thus, C was modified and evolved into C++ (1980), initially ‘C With Classes’ by Bjarne Stroustrup. Also, the concept of ‘modules’ in programming came into existence with the standardization of Ada in 1983.

Arguably, the biggest leap forward in the programming spectrum in this decade came in 1987 with the release of Perl. Perl changed the way programmers were working — the focus now shifted to adaptation and ‘design for compilers rather than assembly’.

1990s — Internet and Beyond

1990s saw the rise of many programming languages, such as Python and Visual Basic in 1991, followed by Ruby in 1993. However, starting from 1995, with the advent of JAVA, 1990s saw the rise of internet and this led to changing trends in the programming world too. All of a sudden, HTML and other concepts gained an unmatched importance and JAVA became the way to go! Further more, 1995 also witnessed the birth of JavaScript as well as PHP — two premier scripting languages that have defined the internet as we know it.

Such scripting languages, owing to their radically new syntaxes and dominance over the internet, soon left the traditional contenders behind in terms of popularity. The status that either JavaScript or PHP enjoy today is not unknown to anyone. PHP alone caters to roughly 71.2% of machines as a server-side language (followed only by ASP.NET at 20% approximately).

2000 and Onwards

[image_library_tag 870/61870, border=”0″ align=”RIGHT” hspace=”4″ vspace=”4″ ,default]

The 21st century has seen the rise of concurrent and distributed programming. The decade began with the birth of C# along with .NET in 2001. Of late, even Google has played its role in the cycle of programming languages by offering Clojure in 2007 and Go in 2009 (both of them have enjoyed mild success).

THE CODE AS WE KNOW IT TODAY

Measuring the popularity and usage of a given programming language is a rather abstract task. To begin with, there seems to be no sure-shot way of knowing the exact usage of any language. However, for a start, the following factors are taken into account when judging the worth of a programming language:



  • The references made to the said programming language in internet search results and blogs.
  • The availability of study and research material in the said language over the internet and in print.
  • The total number of existing lines of code in the said language.
  • The number of community users or job advertisements in the said language.

Naturally, the above criterion cannot serve as an exact yardstick, as we can see in the following graphics — on the basis of job advertisements, JAVA tops the list, while going by references made in blogs/websites/books, C is the most popular.

Still, going by the above rules, some of the most popular languages are C++, C#, JAVA, JavaScript, Perl, PHP, Python, Ruby and SQL respectively. And before we forget, the most popular programming approach nowadays iS object oriented.

[image_library_tag 871/61871, border=”0″ align=”middle” hspace=”4″ vspace=”4″ ,default]

OBJECT ORIENTED PROGRAMMING — THE FUTURE IS INTERESTING!

Grab all your data, package it along with all the code that is related or relevant to it, and you get the modern day version of Object Oriented Programming (OOP). As of now, this approach is dominating the programming scene.

But will it continue to dominate the stage in the coming decade(s)? To put it bluntly, yes.[image_library_tag 872/61872, alt=”” hspace=”4″ vspace=”4″ border=”0″ align=”right” ,default]

Imagine a simple programming scenario in which the user makes specific requests to the program to pull a given bit of information from the heap of data. Naturally, at any stage, the objects know the sort of data they have to access and the variables attached therein. Now, escalate this situation to a 3D world, or even a more complex setting where multiple objects are seeking different or same bits of data simultaneously (let’s say, the ‘Hangout’ feature in Google+ in which a group of users participates in a relatively closed yet not exclusive virtual gathering). Even in such a situation, the current model of OOP holds good. As Microsoft’s Don Box puts it, “All we need to do is to add another layer of abstraction, and OOP becomes future-proof for the next 15-odd years.”

CONCLUSION

The future for programming is one filled with surprises and new innovations at every step. For a start, we have newer virtual environments coming up, where a program will be more of a 3D entity rather than just a piece of code. With that said, it is also worth mentioning that the days of distributed processing are not far, wherein a program’s platform will be powered by multiple processors or even machines. Perhaps one of the formost languages to bundle such concurrency within the core language is Erlang (www.erlang.org). To quote Erlang’s project goal, “The aim is to create a language that addresses models like threading, inter-process communication, remote object invocation libraries and other similar paradigms… Distributed processing has to be fundamentally handled in the languages of the future.”

Are you a programmer? What do you think of the future landscape in your field? Do share you thoughts with us at pcquest@cybermedia.co.in

REFERENCES

Stephenson, Neal. ‘In the Beginning was the Command Line’. VoidSpace.org.uk Retrieved from: http://goo.gl/yHaFs
Box, Dan. ‘Old School Coding Methods’. Microsoft.com Retrieved from http://goo.gl/v4gXQ
www.erlang.org

No Comments so far

Jump into a conversation

No Comments Yet!

You can be the one to start a conversation.

Your data will be safe!Your e-mail address will not be published. Also other data will not be shared with third person.