Tuesday, May 26, 2009

Forging Old Paths

If the first few sentences are impossible for you to understand, stick with it, I think it will be readable after that:

I was a software engineer in my early professional life. I did hard-core real-time programming using vanilla C in Unix for proprietary embedded systems. I primarily used vi (say the letters, it's pronounced "vee-eye". I could let you read that any way at all and it shouldn't matter to me because you are not even near me right now, but I can not let it go.) to write my code--this was before fancy development environments were developed. In vi if you want to save your document you hit the 'esc' key and type ":w". So save and close you hit 'esc' and ":wq". After ten to twelve years of this it was very, very hard to start using a mouse to do things like save documents.

I stopped programming much at all in about 2003 in favor of program management where you do everything in Windows tools. I spent perhaps two years having to delete ":wq" from the bottom of my word documents because when I was ready to close a document, that's what my fingers did. It was a muscle memory that was very hard to shake.

So for maybe the last 5 years I have done no appreciable programming and am quite over my vi training. In my new job I am programming again. For about two months I was doing some VB scripting in Excel and then in asp pages. I am using a new editor: Microsoft Visual Studio and nothing odd has been happening.

This past Friday I realized I should back up and start again in javascript (for reasons that are unimportant). So this morning I came in and wrote my first javascript program. Javascript is entirely new to me, but it uses a syntax just like C, from what I can tell. I have spent the morning trying to run scripts that fail because ":w"s are sprinkled all over the code. The muscle memory is back with a vengence--out of nowhere and it's a total regression.

It's like typing "{}" and ";" has awakened something in my brain. It's very, very cool in a freaky way. I mean it's not like you always type a semicolon before saving your file. In fact mostly you don't, because you see stuff you want to change in the middle of the line, for instance. So it's not like it's a key sequence like ";:w" that is from a long time ago and the semicolons just kick off the sequence. And further strangeness is that being a grammar nerd, I actually use semicolons when I write English (I use them appropriately, of course).

So something about addressing an editor int he C syntaxy way has made this come back from the depths of 5 years ago.

10 comments:

JimII said...

Do you think it is possible, that the amount of time we spend reveling in these little human peculiarities could actually make them worse?

Matt Dick said...

What exactly do you mean, that by sharing my story here I will be more likely to type :w?

JimII said...

Not just by sharing your story here. I mean that by sort of enjoying our little quirks (like not being able to drink without dribbling on ourselves, or not being able to spell, or just rounding our ages to the nearest five-year mark, or not being able to distinguish an Applebees from a Fridays from a Chili's, etc.) that we actually reinforce the quirky behavior.

Matt Dick said...

Oh the not being able to tell Michelle Pfifer from Kim Bassinger is totally related to me sort of not wanting to be able to tell the difference.

My brain forcing me to type this is quite another--it's definitely not helped or hurt by my desires... it was a total discovery by me.

Matt Dick said...

Although those actresses may not be a good example, I actually have a very hard time keeping them straight.

JimII said...

I refer to Kira Knightley as the actress that is not Natalie Portman.

Kyle said...

My fingers still itch for :wq. It never completely faded, just grew a bit more distant. It was sooo much faster. I could do it blind, while talking, looking away, and standing up. Now I can't close a doc without hand-eye coordination akin to playing a videogame.

I still regularly curse 'search panes' that don't let me do regular expressions.

And operating systems that are so buggy / slow / inherently single-threaded that the design philosophy was 'of course the user will want us to pop that window up into focus, even if he's between the 't' and the 'h' of 'the' and typing at 100 wpm!' But that's a different rant; don't get me started.

Matt Dick said...

Kyle you just summed up 75% of what has made me angry over the past 10 years.

vi is the greatest editor ever for a lot of reasons, the best of which is that you never had to leave the keyboard for anything.

Any environment, program, OS or windowing environment without regular expressions should crash out of a sense of shame.

And yes, popups and dialog boxes are so annoying. Did you see my earlier rant about Vista wanting to cute me to death?

shadowfax said...

On a semi-related note -- Matt, when you comment on movin'meat, the captcha phrase always but always appears in the text of your comment. It does this for nobody else. Do you type the captcha twice? Any idea?

Matt Dick said...

Do you type the captcha twice?

Yes.