![]() |
|
![]() |
|||||||||||
![]() |
![]() |
||||||||||||
One of the things I've occasionally been called upon to answer about myself is why exactly I am a computer scientist. I've never really been able to answer, but here I am trying again. There are a lot of reasons, but one of them it is probably the thing in life I least understand. I can't really figure out why it works at all, or maybe I can but it still seems weird, it still seems fascinating. Think about any sorting algorithm. You can put list of things with an order statistic in there, and out come the things sorted. You can implement it in C, or Ruby, or with plumbing if you like. But none of the implementations are the algorithm itself; it was already there. Where does it live? Its existence is burned into the universe itself, like some subatomic particle. And some how we are able to see it. No matter how I turn things about in my mind, this still seems strange. As Einstein put it, "The most incomprehensible thing about the world is that it is comprehensible". Why is it we can abstract away the properties of things, create our little logical cages, and shake out of the Universe the information we want? And possibly the weirdest thing are programming languages. They are all so different, but they are (well, the Turing Complete ones any way) capable of expressing the same class of algorithms (perhaps imperfectly). Any yet, thinking in Lisp feels so different from thinking in C, or worse Brain F*ck. But you can express C in terms of Lisp, or Lisp in terms of C. I suppose if you had a lot of time on your hands, and some genius engineering ability, you could express Lisp in terms of pipes and valves (not exactly sure what the input to that thing would look like...). Do you see it? Do you see how bloody weird this is? Maybe not, I still have not found the words I need. Post a comment in response: |
| © 2002-2008. Blurty Journal. All rights reserved. |