Sunday, 13 March 2011

First steps

Funny how life always gets in the way- As soon I decide to focus on a language to learn, a reason to learn another one for something specific pops up. This isn't the first time this has happened, by the way. I dove into an VOIP-provider implementation last week, one that interfaces the in/out connections to the plain old telephone system with your own code using web services run on PHP. I hadn't touched that in a while, so I dusted off my web server and played around with that. Very interesting indeed. The company is called Twilio, and for around $20, you can get voicemail, phoneline and automated call trees going very quickly.

However, the real question is "Did I work on C this week?". Answer: Yes. I did. I've been plodding though the intro chapters of a fairly thorough book, which I can review later, once I get into the meat. Didn't make the required 4 hours a week though. Mostly I've been working through the various gotchas on the primitive datatypes. Either most of the languages I work with account for this, or I just instinctively don't do it, but I'd forgotten that integer division returns an integer and not a double, and is inherently inaccurate because of this. Live and learn.

Friday, 4 March 2011

Getting started

The first step can sometimes be the most frustrating, especially when it comes to programming. I think that every time I've taken a language out for a test spin, my first compile and execute has come up with an error. I find few things as frustrating as that first install of the compiler and linker, and yesterday wasn't much different. When it comes to running a C compiler on Windows, it seems that I was, to a certain extent, spoiled for choice. My first effort was to try and use Cygwin, which seems to be intended for Linux expatriots who are forced to work in the Republic of Microsoft. At first blush, this seemed to be exactly what I wanted, as it offered any number of development environments, more libraries and packages than I would ever need, a bash shell and all the trimmings. An hour after the install, I started looking elsewhere. Not because Cygwin didn't have what I wanted, though- because Cygwin had too much of what I didn't currently need. It was a full workshop where all I really wanted was a hammer. Ten minutes later, I was up and running with lcc-win32, which is a compiler-linker and an IDE.
Lesson learned: Don't invest in tools that you don't have a use for.Especially because investment in this case is time. There's a very real chance that I would simply have gotten frustrated with the richness of Cygwin and stalled. I may use it again someday, but right now the learning curve is too steep.

Thursday, 3 March 2011

Starting from 0

A bit about myself- 

Not much of a writer, if the truth must be told. Code or prose. I've been scripting and debugging for over a decade, but apart from some very small, personal applications, I can't lay claim to any programming accomplishments. Too distractable, too lazy and as time goes on, much too scared of failure. This is here to keep me accountable. I've picked up any number of programming languages, but can't claim any deep proficiency with  any of them, with the possible exception of PL/SQL. 

And now the goal- C has always been the bugbear in the closet for me. Of all the languages I've looked at, C has always been the one I've 'got' the least. Even C++ was not fun at all, even though I got it going enough for your standard university programming assignments. I'm going to finally jump in and do some actual C programming. I don't want to look too far into the future yet, but the basic goals are to learn and practice C for at least one hour a day, at least  four days a week. I'll just have to see where it goes after that. This writing space intended to keep me accountable and in view of my progress.