« John Frum he come | Main | Hell George Bush advert »
February 22, 2007
Research languages and the mainstream
Erik Meijer: "I really hope that there will be much more influence of [Microsoft's research] languages to other areas, in particular databases. There's a lot of very interesting theory about using monads or monoids as the basis for query languages instead of relational algebra [the basis for SQL]. Query comprehensions in LINQ are just the first step -- the tip of the iceberg."
One of the things that excites me about C# 3.0 and Visual Basic 9 is their rapid adoption of ideas and techniques from research languages such as F# and C-omega/X#, only a few years after these languages were conceived. Admittedly many of these ideas have a longer pedigree (F# specifically being a ML dialect, not to mention the influence of Haskell/Mondrian), but if this year's mainstream is embracing the research of 3-5 years ago, then perhaps next year's mainstream will see languages like Spec# (DBC) and Polyphonic C# (concurrency, surely the hot topic du jour) making their mark. It will be interesting to see what the Linq designers have in mind beyond the current SQL-style approach, an approach which is horribly stretched by XML queries and will be stretched yet further by other more exotic domains such as the ones Alex discusses.
One of the things that excites me a bit less is that despite having studied category theory at college (and picked it up again recently) and having read that damn Haskell book time and again, I still haven't managed to get my head around monads. Still, if Meijer is going to put them into Visual Basic, I'm optimistic that I'll be able to make sense of them then.
Bonus Meijer quote: "Functional programming has finally reached the masses, except that it is called Visual Basic instead of Lisp, ML, or Haskell." From the wonderfully named Confessions of a Used Programming Language Salesman.
February 22, 2007 in Software | Permalink
TrackBack
TrackBack URL for this entry:
https://www.typepad.com/services/trackback/6a00d8341c5c9b53ef00d8351b6e1c69e2
Listed below are links to weblogs that reference Research languages and the mainstream:
Comments
To quote Alex K responding to one of Jen's margin notes after she proofed Mortal Coils, "I don't understand a word of it, but it sounds delicious."
Posted by: Robin at Feb 23, 2007 9:42:59 AM
Have you seen this gem
http://hope.cs.rice.edu/twiki/pub/WG211/M3Schedule/foozles.pdf
anatomy of a programming fad?
I found this on the blog of someone who taught me computing in the 2nd year at Oxford. Ours was the first year to have computation ooze into the maths course, and the language used was T (which was either a Scheme variant or Scheme implementation) taught as a functional language i.e. a functional subset.
It will be interesting to see how something that you can't understand (never mind mere mortals like me) can make it into the next VB.
Functional languages strike me as being one of these tantalising things (two others being Prolog and visual programming) that seem tantalisingly on an intuitive level like they should somehow work, but actually seem not to.
Also, I think they are an academic boondoggle whereby people can pretend to be doing computer science when really they are doing maths (not that there is anything wrong with doing maths, or even fooling people into paying for people to do maths).
Posted by: Harvey Pengwyn at Feb 23, 2007 11:29:02 AM
That came out sounding more deranged than I intended it to. Must put tin foil hat on before the black helicopters get me and put me in the NuLabor Death Camps (TM).
Posted by: Harvey Pengwyn at Feb 23, 2007 11:30:30 AM
I was disappointed by the lack of discussion regarding Granulation Theory and how it relates to Foozle Babies.
(Once, in a discussion on time-travel, I jokingly mentioned Consequence Theory, going on to say not to bother Googling because I'd just made it up. Of couse, someone Googled for it and provided a link. I suspect Granulation Theory probably exists as well... and having now Googled, yes it does. This sounds like the start of a new game.)
Posted by: Robin at Feb 24, 2007 2:49:41 AM