Fourtek IT Solutions Pvt Ltd.

Fourtek IT Solutions Pvt Ltd.
We Win Clients

Monday, February 9, 2015

The world of Programming Languages

 Hi folks=)

Hey, this post is about programming languages with a focus on two basic things.

1.     Which one to Choose
2.     How to get started using them.

So, I am gonna take the liberty to skip over the all-too-many details regarding these programming language and focus more upon those aspects which are more useful to our cause viz to get started with programming once we have made our minds to do so.

And as I said in the previous post, I am gonna focus more upon languages which we are more likely to see in future. You know, I don’t really see the point in learning some obscure language until it gives me some leverage or improves my understanding of programming so all the languages that are gonna be enlisted here are to be seen in that light.

Of course, this list would always be incomplete because there hardly is a common consensus upon usefulness and the parameter to judge “which language is better than others “. Believe me, in the world of programming languages the languages differ like Swahili, English and Mandarin do in “real languages”, No Kidding !!

1.    C and C++
2.    Python
3.    Haskell
4.    Julia
5.    D language
6.    Common Lisp
7.    Lua
8.    JavaScript
9.    HTML / CSS
10.  SQL
11.  Go
12.  R

As you can see that this post is gonna be a long one as we cover a lot of ground in this one so let’s discuss only a few ones at a time and continue with the rest of the languages in the coming posts.

Hey, comparing them to real world languages really is a good analogy !! You see, like real world languages there are various “ language families” with different and unique “ grammars “ their own and of course, how can we forget the staunch and the proud  “ language purists “ of each one.

So, here we go.

1.    C and C++
                       
                        Mmm , yes now this is pretty much where we begin from and yes there are languages which precede these both on the level of closeness  to the system a.k.a assembly languages and then there are those which hardly give a thought to the brand of printer that you are using i.e. these languages are called high level languages.






Now,  a low level language deals directly with the hardware to the extent that you would need to specify the memory location where you have stored the necessary data and then use it with the basic primary operation.

An analogy would be to think like a robot i.e. suppose you need to add two digits in your head. Assuming that you can really appreciate the extraordinary level of detail involved and more importantly prepared to do all the manual labour; almost like a control freak in your daily activity. Then, you would need to

1.    Figure out where the data is located in your head.
2.    Move them to the active memory
3.    Add them
4.    Move them back to the memory
5.    Save the resultant into yet another memory location.

Can you imagine how slow we would become if we were to deal with every information and take decisions with this kind of low-level operation ? What a nightmare.Of course, we deal with things on an abstract level and rely upon intuition to take care of the rest.

The very same thing has been realized in programming languages. And C comes in as a comfortable ascent from that level of low-level handling. Plus it gives one an option to control these operations still it becomes an ideal choice for systems where the speed and efficiency are of vital importance.

The most salient thing about C language is that it is fast. Like lighting fast and every other language is compared against C language only.

The C++ language is built upon the C language and adds a lot more support for abstraction and as a consequence of being built upon the language C, it trades off the level of abstraction for speed of the language.

But, if we are to start off with C / C++ we really should look into various text editors and work upon our ability to quickly type things and more importantly how to edit the written text. It is a factory that is never to be overlooked if we are to really program.

The languages C/ C++ have been around for about 20+ years and being highly effective at what they do they have influenced the industry and the entire theory of programming languages a lot. Their massive influence can be sensed with the fact that they have “ passed on their genes “ to most languages that we possibly can think of i.e. in terms of modern languages.

So, if you like being able to run your program at lightning fast speed and are more comfortable in dealing with things whose functioning, you understand like being able to walk about,  then C and C++ are the way to go.

The number of libraries that are built along and for these languages are truly massive. BTW library, generally, means a set of functions and functionalities that can be used with the language.

You seen, almost all the Operating Systems are written in C/C++ language only. Yes, including the Apple OS, Windows OS and our favourite ones like the GNU/Linux systems.

To give you an idea of how deeply C/C++ are there in the entire computer world let’s consider the fact that All Programming Languages provide support to work alongside these C/C++ languages and that’s how important these languages are to the entire Computer World.

Well, we have covered a lot of ground today, well not in terms of number of languages but in terms of the basic concepts so we are more freer to read and explore other languages in the coming weeks.

Hope you enjoyed=)
This is Himanshu Sharma,
Signing Out.


Till Next Time, folks.

No comments:

Post a Comment