C coding is fun but it is always an IQ test and a memory test. It is not like python or perl or shell.
C requires a great deal of algorithmic thinking and takes plenty of open source code walk throughs , browsing other people's code and obtaining guidance from existing C code before we can do a good job. With its power and flexibility one can do great things. And it takes quite a bit of innate ability and interest to write good quality C code. If you take my entire life, my biz career, my products, the proportion of C must be around 30%. In my working career it was almost completely C though perl also started playing a role. But that was not much coding, mostly debugging, bug fixing and enhancements. People unnecessarily confuse C++ with C.That is totally different. C by itself is great fun and an ideal language for a small subset of the common problems we face in technology. But the small part is so critical to everything else that its importance can never be underestimated. For example the entire TCP/IP stack runs C, all UNIX and Linux kernels. All languages, databases,shells are written in C. But to do a good job of your task at hand you don't code in C. You choose a higher level language like ksh or perl or python. C is useful for dong sockets programming though they can also be achieved using other languages. Some socket semantics and flags may not be there in higher level languages but if you avoid C, then you also avoid buffer overflow problems, string manipulation/pointer bugs, even concurrency issues. C is good for daemons and server processes. But you can save time and effort by farming out the key business/technology logic to some other language and invoke it using execve() or something. I have never done it but it is possible. I normally call shell tools using system(2) and not exec. The performance that C can give nothing else can. To write a really good quality C program it takes just 10 years. (Not including college) Rather quick. -Girish -- Gayatri Hitech http://gayatri-hitech.com _______________________________________________ ILUGC Mailing List: http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
