Nearer, my opinions, to thee

May 22nd, 2008 by Jason Kroll

I wish I knew enough about things to have opinions about them. Other people have ideas, and they’re sure of them, and I’d like to be that certain about something. In fact, I am that certain about a lot of things, things I know a little something about, which is why my general lack of opinions on technical things worries me.

I run into people with strong ideas about type systems, run-time typing vs static declaration, compiler theory, how best to pass around code blocks and namespaces, object orientation as opposed to other metaphoric systems, the merits of lazy evaluation and infinite objects, threads vs processes or parallelism, monolithic vs micro, or why language/database/framework X is vastly cleverer than language/database/framework Y. I’d like to have opinions too. But I find I just don’t know enough.

My impressions of things are based largely on how they look and whether or not they exist. So I like Ruby a great deal, because it looks nice on the screen, and it exists. I don’t really like Perl because I don’t like the way it looks; Python looks nicer although I don’t care for the tabbing bit. I think Ruby looks best, so I prefer it. I don’t like terminating semi-colons in C/C++/Java, and sometimes too many parentheses make LISP look weird. Assembly code has a nice regularity to it, to be sure, but is not really feasible. When I find there’s some way I can’t do something in a given language, I assume there’s a good reason and just do it another way.

Editors I like for syntax highlighting. I don’t use vi, because I always type something when I’m not in insert mode and something horrible happens, so I use Emacs instead, but just for syntax highlighting; it takes so long to load that I end up using Pico quite a lot. I don’t use any Emacs fancy features, and the huge ELisp bit I only use for… syntax highlighting. So I also like TextMate, because it looks nice and reminds me of Emacs, but I still don’t use any fancy features.

Most of the time, though, I am just too amazed that something exists in the first place to find fault with it. This is not a character virtue, because I find fault with plenty of other things, but when it comes to tech, I’m just astounded at what’s out there. Perhaps my baseline is set too low, having grown up on C64s and Amigas, where compilers couldn’t exist because we hadn’t the memory or hard drives, and when people hid rather than shared code, when shareware and even expensive serious software was fairly bad, and when monitors were basically cheap televisions that broke a lot. So I can download a free setup like Rails and start a website (a graphical BBS) on a laptop. A laptop? With a flat-panel LCD? A GHz processor? A gigabyte of RAM? That’s insane!

I have had minor problems with MySQL and ActiveRecord, but nothing like the cement wall of impossibility to which I’d grown accustomed. Sometimes we have to do something a weird way because the computer expects it, but that is fine. In the not-so-old days it was like that all the time. Even in the early Linux kernel days, it was a victory when anything worked at all (try getting a sound card set up 12+ years ago, or certain wireless cards just a few years back). Try putting Linux on a laptop. Well, now you can order laptops with Linux, or get a MacBook which is basically Unix-based. Wireless cards, cafes with free internet, 4-hour battery lifespans, cell phones, hybrid cars with screens and gps maps, CDs instead of 5.25″ floppies or tape, ethernet as the norm instead of a beeping modem.

Some people are so accustomed with this environment that they can find fault. I would like to feel so at home in this world that I too could someday find fault with it. The most disturbing thing, to my mind, is that regular expressions are not really DFAs, or that non-deterministic algorithms aren’t a bigger part of daily life. As time goes on, which it does, I find myself using computers more and more for old-fashioned things, studying history or economic modeling, but the machines march on without me.

Subscribe to responses (RSS)

Leave a Reply