This weekend I picked up a copy of Kernighan & Ritchie's Second Edition, remembering that I actually never read the first, although I should have. In my twisted career, I was the guy who was helping my friends study for the LSAT or doing their COBOL finals, but I never got to see the Sun workstation under my nose. That was college. And then I remember selling my AT&T/Olivetti machine to my buddy before I could get a C compiler. And then I mastered a few 4GLs and nobody was doing UNIX in the business world. So through a bizarre series of events and coincidences, I have never had a C compiler of my own, and thus no C programming experience. That changes now.
On first glance, the XCode compiler is massive yet deceptively simple. I remember when you stuck directives in source code to link different memory models for the build. Here there are completely different frameworks under which code is developed. For the short term, I'm working with the CLI model and going through K&R.
My goal is to be somewhat accomplished in a few years. I think that's achievable, and I'll be posting notes here along the way. I expect that my discipline for working in tiny cramped computing spaces for the past n years will make me a very efficient programmer, like a Russian. We'll see. Reading up on the iPhone developer's cookbook from Addison Wesley, I've been told that I have to work within 20MB of RAM. For me, given the state of the industry when I last did serious programming, that's a whole lot of space. I should have a ball.
I'm moving from being a data architect guy towards developing some API competency, and I have a feeling that I'll enjoy doing it in C more than in Java. There is nothing more aggravating to me than the stream of gibberish that ensues when a Java program crashes, but I may learn to deal with that too.
Comments