Welcome to the blog of Can Sar, a Stanford CS major. This blog is made up of my thoughts on Computer Science and the computer industry, as well as ever exciting tales from my life.

May 16, 2003

If you had to write The Matrix, what language would you use?

Yesterday I was wondering what language the Matrix would be best, if one had to write something like the Matrix. This seems like a good thought experiences, because it is in somesense the ultimate large scale computer system.
Although speed would be important, using low level languages seems like a very bad idea. Programs have to be changed rapidly, usually while they are running. And for such an incredibly complex system, with so many different difficulties, compiled languages do not seem appropriate.
My main suggestions would be LISP, Smalltalk or Java. All of them are high language, but have several differences. Smalltalk and Java would be great, because they make object oriented design very simple, and the Matrix is one of the best applications of object oriented design. Everything in the Matrix is naturally an object.
LISP would have the benefit of being one of the languages best suited to AI programming, but everyone object would most certainly have to be a seperate program. Not knowing Smalltalk too well, it is hard to decide between it and Java, but I think that dynammically changing code would be easier than in Java, which is key to this application.
I would love to hear your comments on this.

Posted by Can Sar at May 16, 2003 05:00 AM to category Computer Science | TrackBack
Comments

You're missing a lot of cool languages out there, like python, haskell, ocaml (or so I'm told), etc. I don't think anybody today would use Smalltalk or LISP when modern alternatives exist. Java has some important limitations, and doesn't innovate very far beyond C++, in my humble opinion.
Anyways, my plan is someday to write a functional oop language with a strong optimizer. As for the Matrix, though, it would probably need something with strong OOP and data processing capabilities (so not Java).

Posted by Michael on May 23, 2003 04:23 AM
Post a comment









Remember personal info?