Wednesday, 6 November 2013

Why am I here...?

No, this is not a philosophical post, despite the flowery title. I'll leave the meaning of life to someone else. Monty Python most likely; they seem quite capable.

Rather I'm sitting here wondering why I'm typing at all right now. I've considered blogging before, but something always came up so it just didn't happen. Now that's a lame excuse if ever I heard one, but that's OK, since I made it myself.

So, to put a little actual content into this post, I'll try to put into writing just what is likely to show up on this blog.

First of all, this is unlikely to be a frequently updated blog. I've never been good at just writing because of the writing; there has to be some purpose to the text that ends up on paper or screen. So, updates are likely to happen only when something has caught my attention that I want to formalise or share.

What will end up here then? What can be expected? I think I need to give a little background about myself first.

First things first then: I am not a programmer. Not by vocation anyway. I have a degree in marine engineering and make a living making sure the container ships that transport goods around the world make it from A to B in good shape and as economically as possible. I am not a software engineer, I am a mechanical engineer. Why is this a blog about "Experiments in programming" then?

Well, I am not a programmer by education, but I have been programming on-and-off now since I was around 12 years old, when I first got my hands on a programmable piece of hardware. The hardware in question was a Commodore 64 with a tape station (I couldn't afford a disk station); the programming language (if you will) was the "BASIC 2.0" that was built-in to the unit. I progressed to Amiga in various incarnations and with them to various versions of more advanced BASICs. (Anyone remember AMOS Pro or Blitz BASIC?)

Then in the mid-nineties, I got hold of my first compiled programming language: AmigaE, and my view on programming changed radically. I sniffed briefly at C but then got my hands on a SAM's "Teach yourself" that covered C++, which was at the time in the final stages of initial standardisation. C++ has been my main programming language since.

On the other hand, I also had an education to follow, and later on a job to take care of, so from time to time programming has been low on my list of priorities. It's really just a hobby to me, but one I like very much. Working exclusively on pet projects, I am also not particularly hampered by any particular coding style, which has allowed my to experiment with tips, tricks and hacks on the very bleeding edge of the development of C++. The current rush in the C++ community, with the new standard being by now fully implemented by major compilers, and another new standard likely just around the corner... I feel quite excited to see what C++ code will look like in just a few years time.

What claim do I have to call myself a programmer at all then, given above curriculum vitae? None at all! I have no programming education, as I said. I do have (and have read!) a fairly extensive list of books on the subject by various notable authorities on the subject, and I pay close attention to what's going on in the C++ community at large. I guess that'll have to do.


So, about "Experiments in programming." The blog will contain posts about experiments I make with -primarily- C++ and related technologies. If I learn something I think is interesting or just cool, I'll put it up here. If I find a cool C++ library out there, I may post a link. If I manage to get clang to build itself, libc++ and libc++abi, so that I can completely remove any dependencies on GPLed libraries, I'll probably make a note here.

I am currently working on something ridiculously simple: I want to copy files. Using C++ and Boost. With decent error handling. And a nice progress bar (or two!). As soon as I have something that seems noteworthy... I'll be back.

No comments:

Post a Comment