C# and stuff

acme on 2001-06-06T18:29:56

I was in Washington DC this weekend for a wedding, which turned out wonderful. The bride was beautiful, the weather was nice and warm, and the drinks were flowing.

For the flight back I popped into a bookstore and grabbed a copy of "Microsoft C# Language Specifications" and "Common Lisp". (Yes, I could have got the latest John Grisham instead, but that's the kind of guy I am).

C#, as you all probably all know by now, is Microsoft's answer to Java, and is a "simple, modern, object orientated, and type-safe programming language derived from C and C++". Parts of it look just like Java, and parts of it look like C. It's even got a foreach statement.

I'm not going to insult C#. It has some nice ideas. It has some strange ideas. It uses at-signs for string literals ('groovy $4' in Perl is @"groovy $4" in C# - weird). C# is basically the same as a great deal of other programming languages. This is because all programming languages are basically the same.

This is so important I'll say it again: all programming languages are basically the same.

This is how GCC manages to pull off having frontends for C, C++, Objective C, Chill, Fortran, and Java (and many more). All the structures of computer languages are fundamentally the same. The differences are in the details, things like syntax and variable scope.

Thus, it is a simple step to a Common Language Runtime of Microsoft's .NET, which is simply a virtual machine which is good at sharing information.

Take a step back: right now there are LISP, Prolog, (and soonish Ruby, Python, and the mythical Perl6) interpreters/compilers for the Perl Virtual Machine. Right now. The Perl Virtual Machine is a joy to program. Perl is portable. Inline can only help.

It wasn't planned, but the current Perl Virtual Machuine is turning into a kind of CLR. There has been lots (and I means lots) of research done into virtual machines, from Smalltalk to new virtual virtual machines.

I think SOAP is interesting, but there's something more important out there.

I'm still not sure what my point is. My plan is that I'm gonna panic about my YAPC::NA slides and talk it over with people at the conference. There's something big here.