I was thinking today about programming. In particular I was thinking about programming languages. I came to the realization that the elegance of a program depended upon not only the abstract clarity of the algorithm itself but also upon the the appropriateness of the programming language used to express the algorithm. Hence, like natural languages, certain algorithms will be more elegantly expressed in certain programming languages than they will be in others. Now I need to see if I can rustle up some examples to support my premise. Stay tuned. Yet more to follow.
Blogged with Flock
Tags: programming, process, programming languages
I recently read a book called Getting Real by the folks from 37signals, creators of Ruby on Rails, Ta-da List, Writeboard, Backpack, and Basecamp among other Ajaxian web application goodness. While superficially a book about how to start a successful business selling services based on web applications, a topic they have plenty of credibility with, the advice in this book is applicable to a much broader realm of endeavors.
I was so inspired by it that I have dusted off several projects that were laying dormant and started actively doing them again. Of course this is also aided by the insights that I have been gleaning from the Getting Things Done book. I have also bought a Backpack Basic account so that I can use their wonderful calendar. Enough raving for now. Got to get some things done :-).
After all these years I’m finally learning how to write. Or maybe it’s just that I finally have something to write about. I’ve never been afraid of writing per se but I have suffered from my share of writers block when faced with a blank page and a deadline.
As far as my personal writing projects go, I’ve often written about writing, probably because that was what I was thinking about when I sat down to write. There is a kind of transparency that one strives for when writing. You want what you are thinking to flow from your mind to the page without being conscious of how it got there. I am a touch typist so the words flow quite freely from my mind to the computer. Also, when I am writing on a computer I am less likely to try to censor the stream of thought before I get it “on paper”.
When writing with a pen, I tend to think more but I am hesitant to just get something down because rewriting is such a pain. I was one of those people that tried desperately to make my first draft do double duty as my final draft when I wrote papers in high school. I never had to write papers in college. That was probably a good thing from the standpoint of keeping my grade point average up but a bad thing from the standpoint of getting practice writing.
I finally understand what makes a good sentence, not that I pay enough attention to that while I’m writing. I should probably read Strunk and White again to reinforce the criteria for good writing. I understand how to divide your piece into paragraphs. I’m told that my writing is quite readable. I guess practice is still the prescription for improving. As I said in a prior post, that’s a major reason that I keep this blog.
I’ve spent the day writing prose summaries of Powerpoint slides. How totally boring! Where does it say that employment must be interesting? I guess I’m proving that the answer is “Nowhere”. That’s just another reason that I am becoming convinced that I should find another way to support myself than being a wage slave. This blog proves that I can put one word after another and even occasionally read what I write and rewrite it if it doesn’t make sense. I can also program and take pictures and movies. That seems like a sufficient skill set to make a reasonably comfortable living without resorting to the typical 8 hours a day/5 days a week grind.
I must admit, my current job is one of the best that I’ve ever had. The pay and benefits are great. The work is never drudgery and is often interesting and engaging. The environment is relatively congenial. I have lots of leeway regarding my hours and whether I work at the office or from home. What’s there to complain about?
I think it boils down to the fact that I want to have something to show for my efforts besides a filing cabinet full of notes on old projects and a stack of floppy disks and CDs with copies of the software that I wrote that will probably never be run again by the customer or anyone else besides me. Even if I were to indulge my wildest fantasy and successfully produce a fantasy television series, there would be the shows that would run in reruns indefinitely. I guess it all boils down to the fact that I am beginning to yearn for a little piece of indirect immortality.