Thursday, March 6, 2008

Programming Languages which every programmer should know ?

Too often , we come across people who claims expertise in multiple programming languages. Some take pride in having competance in C,C++,Java,C#,Perl and others.
Being multi-lingual from a programming language sense is a good thing. Since each language has got thier own idiomatic way of programming , a typical developer will get exposed to vast variety of programming models thanks to this phenomemna.

What is the catch ? All of the above programming languages fall into same family of programming languages. They are imperative ( command or state ) oriented languages. These languages evaluates expression for it's value and statement for it's consequence ( change of state ). So, their expertise is limited to one programming language. It is a case of getting exposed to different syntaxes. This fact is unknown to these mutlilingual programmers.

The languages can be broadly classified into three families

a) Imperative programming languages
C,C#,C++,Java,Perl,Visual Basic etc
b) Functional Programming languages
Lisp , Scheme , F# , Occaml etc.
c) Logic programming languages
Prolog and DataLog

we can make a living without learning anything about Functional programming and Logic programming languages. But , to become a complete programmer , one should be familiar with other programming paradigms too.

Try to learn Scheme programming language. It will change the way u look @ programming. More information about scheme can be gleaned from

http://en.wikipedia.org/wiki/Scheme_(programming_language)

The Scheme is the programming language which programming is introduced to MIT undergraduates. The famous book Structure and Interpretation of Computer programs was written from this course note. The full text can be read online from http://mitpress.mit.edu/sicp/

if u want a much gentle introduction to Scheme , try out How to Design Programs @
http://www.htdp.org/ . A free compiler and IDE which can be used to learn Scheme
can be downloaded from http://www.drscheme.org/

There are excellent books on Prolog available in the market. My personal preference is for Art of Prolog By Ehud Shapiro. The GNU foundation's GPL prolog compiler is a good interactive environment for learning prolog. The software can be downloaded from http://www.gprolog.org/

No comments: