Some C Stuff
I never really appreciated C for what it was until now. It took me 5 years from my first programming course to appreciate it for what it was. C is a very pure programming language; it comes with no frills, bells, or whistles. I'm glad I had the opportunity to become exposed to C early on.
Not to say I dislike all other languages. Java was the second language I learned, ruby was the third and python followed after that. I throughly enjoyed learning all of them. But the influence I got from C followed the other languages; Java's syntax (besides the object orientation), of course, is very C-like.
I just wanted to shared some of the recent thoughts I had regarding C.
It might sound simple and trivial to some but this is a concept that takes some experience to understand. Some people get this experience early on, and some don't. Callbacks are implemented in C by using function pointers! (http://stackoverflow.com/questions/142789/what-is-a-callback-in-c-and-how-are-they-implemented)
The Language of Implementation
There is a lot of opinion out there on the interwebs; opinions about what language to use, why you should use it and why it's better to start off with this particular language. Granted, starting with C is hard.
It's a very pure language because it's the language of implementation. Other languages have libraries built in C; they're using C as a low level construct to implement the details. Someone, somewhere needs to worry about this. It used to be that assembly programmers worried about the implementation details, now we have C for that.
Out of all the other languages I've tried out, none of them are quite pure implementation languages. Java attempts to be that, but lacks pointers and has a ton of libraries. You can consider Java to be a high level contruction language. You use it to piece together chunks of code and make something.
It is what it is
So if you consider C for what it is, it's not a bad programming language to start with. It gives you a huge survey of what the guts of programming looks like. And just like other languages, it is what it is.
|« Just Make Stuff||apt-cyg»|