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