Scott's Viewport

Sunday, March 30, 2008

Reconsidering Computer Science

I have a degree in computer science, and have been programming computers all of my adult life. In my first job I met an interesting fellow with ambitions of rethinking computer science by adopting a different perspective than those handed to us by the founders of the discipline. He saw the possibilities of considering it a natural science that described how processes work, from physics to biology to digital computing. As it turned out, this became a very fruitful area of investigation, and out of this attempt to discover a new theory there have been many benefits, including a new self-timing logic and a new concurrent programming language which transcends hardware and software.


In 2007, my friend published a book titled "Computer Science Reconsidered: The Invocation Model of Process Expression" which fleshed out the theory that led to the logic and the language. A small brou-ha-ha broke out in the blogosphere over it. A review of the book (or probably more accurately, a review of the first chapter of the book, which was made available online for free) chose the headline "Want to be a computer scientist? Forget maths". This headline was picked up by Slashdot and Digg and commented on vociferously by many people who made it fairly obvious they hadn't read anything more than the headline. But it was easy to tell that the relationship of mathematics to computer science was a hot-button issue for many people.

And I can understand, I can imagine I could get worked up about someone implying the mathematics that I absorbed, both theoretical and applied, had no utility in my professional life. But that's not what Karl's work is about. It's about finding a new paradigm for computing that encompasses more of the processes in the universe, man-made and otherwise. It's about leaving behind the tangled web of sequential processing and clocked circuitry that built the wall we've hit. And, for me at least, it's about the fun of a fresh start in computing, like the fun of the first program you ever wrote.

Many steps remain on the future path of this technology, but I've had the privilege to talk with Karl about it for a long time, and more recently have bootstrapped a programming environment for the language described in the book. Think of it as a particular kind of clockless circuit design becoming a new way of programming as well. All made possible by a new underlying theory of computing. Whether you do or don't have a degree in electrical engineering or computer science, you might enjoy this stuff.

0 Comments:

Post a Comment

<< Home