Re: What databases have taught me

From: erk <eric.kaun_at_gmail.com>
Date: 28 Jun 2006 10:06:00 -0700
Message-ID: <1151514360.236772.278520_at_b68g2000cwa.googlegroups.com>


Marshall wrote:
> First of all, while a lot of ink is being consumed discussing ruby and
> python, please note that virtually all commercial software activity
> is happening with C++ and Java.

Agreed. I just think the ink may be a harbinger of future trends, and would rather the ink were on more worthy languages.

> Most statically typed languages, and all popular ones, are
> nominally typed, not structurally typed. Essentially what this
> means is that if you have two identical types with different
> names, are they consider the same type ("structural") or
> different types ("nominal.") SQL is structurally typed, and
> furthermore has a product type as its fundamental
> collection. Most "dynamically typed" languages are structural
> rather than nominal, and I believe it is that, and not
> <shudder> "duck" typing, that gives them a good bit of
> their interest.

I believe that most (if not all) of the ML family of languages uses structural typing.

> I believe a structurally, statically typed language with a
> product type as its fundamental collection, (along with
> some relational operators) would be *most* interesting.

I agree completely, though the product type gives you (essentially) tuples; the next obvious step would be proper relations as (minimally) powersets of these product types. I think that those operations would fall out nicely from the product type.

Still missing are constraints; however, I have a white paper burning a hole in my book bag, related to this very thing. Witness Alloy constraints and model elements as annotations on Java code: http://cag.lcs.mit.edu/~marinov/publications/KhurshidETAL02AAL.pdf

  • Eric
Received on Wed Jun 28 2006 - 19:06:00 CEST

Original text of this message