Dear reader,
You can very easily come to the conclusion that I must be a stupid person because even after a decade of exposure to software industry I still dont know even one programming langauge, C properly.
And I will never admit knowing Java in polite company. And I dont know the abcd of the language that is a superset of C and its close cousin C+.
But to be frank with you I have never regretted not learning any other language.
Simply because for what it is worth C can do everything one will want to do for at least a person like me. I have interests in cryptography, networking, UNIX, embedded systems, VoIP, telecom and so on. And not even once I felt that I should learn another language.
Recently I have started feeling a need for learning C+ because with all its defects, C+ still does certain things better than C. But this field is very narrow. For most practical purposes C rocks.
In fact I am only reluctantly going to learn C+ because if given the choice I would have programmed the same thing in C. Since others are incorrigible I am grudgingly forcing myself to learn C+ since one or two people, I can dismiss as fools, but not too many of them.
Of course I love perl, python and the UNIX shell but then I dont have too much exposure to them.
Look at the title. I have called C as the God of computing. It cant be. After all it is just a programming language. Yes and No.
C is so simple, the language itself is very very thin. Certain standard libraries give you bare minimum functionality. It doesnt do garbage collection, doesnt allow us object orientation easily, it doesnt support dynamic typing, pointers encourage you to write buggy code, in fact most of todays viruses, worms and trojans are due to buffer overflows and other defects and the power to do anything with the C programming language.
And everyone seems to link C to UNIX and rightly so. One would not exist without the other. You can say that UNIX is the husband of C.:-)
Now what makes it so damn powerful?
Because it lies somewhere in between a machine language and a true programming language. Of course C would not have made such an impact but for the patronage it enjoyed but then most of the credit of course should go to the language itself.
Now what makes it equivalent to God? Because truly 90% of networking protocols are written in C. ditto with operating systems. And where would the world be but for the operating systems and where would the Internet be but for the protocols including TCP/IP?
I think it is a frightening thought what would have happened if C had never actually happened.
These are the things I specifically like about C.
1) economy of expression, things like i+, i+=5, i%=3
2) switch statement
3) type casting( man it is really cool)
4) pointers( but of course)
5) function pointers( if you dont understand its power you are only beginning to know the power of C)
6) ability to design self referential structures which helped us build linked lists
Can you imagine a better data structure than a linked list for building other complex data structures like trees, queues, stacks and what not?
Anyway it is getting too technical and this is not a technical website.
Bye for now.