Re: terminology
- From: "Marshall" <marshall.spight@xxxxxxxxx>
- Date: 18 Jun 2006 17:28:54 -0700
Tony D wrote:
Marshall wrote:
From what I can remember of asking Chris Date about this, I think theidea was to show the ideas in something approaching a familiar
framework, which meant hanging on to the baggage of variables,
assignments and procedural programming. I think the idea was that
moving wholesale to functional or declarative programming might have
scared the horses too much. This was three or more years ago, so I may
not have remembered this correctly; I do remember that Chris said that
they had explicitly rejected functional programming for Tutorial D.
From a later conversation with Hugh Darwen, I think at that time theyalso accepted that Tutorial D wasn't a full blown production language,
and that things would have to be added to it to make it one (hence the
Tutorial in the name).
That makes sense; TutD's purpose is pedagogical rather than
industrial.
All that said, I still think that Haskell +
relations-as-first-class-citizens = Nirvana-of-a-sort.
Yeah, Haskell has had a significant influence on my thinking.
Another book on my shelf (on that I've actually read all the
way through) is "Haskell: the Craft of Functional Programm"
(Thompson.) Although I'm not a fan of monads or laziness.
(You may also like to look for references to Russell, which I think is
the only (if not only, then one of a very few) imperative language
which tried incorporating the Milner type system, if you haven't come
across it already. There was a paper on it in SIGPLAN, July 1986.)
Wow. It's rare these days to come across a PL I haven't even
*heard* of. ... It seems there's a paper on the acm site; I'll
check it out when I get back to work.
The thing is, I think the goal (or at least *a* goal) is to produce
a great general-purpose programming language with first-class
support for RT. I don't think that producing a relational algebra
system with support for general purpose computation is quite
as interesting. So in that sense, I think what I really want to
see is RT embedded into PLT, and not the other way around,
although I agree that the RT part is foundational and therefor
crucial.
It depends what you think the PLT part is going to bring to the party;
the last two programming languages that made me sit up and take notice
were Prolog and Haskell (I learned Standard ML first; but it has normal
order evaluation and (gasp) updateable variables (shhhh !)).
Sure!
Although I think SML doesn't always get the credit it deserves.
Sure it's "impure" but I think ultimately that's a real advantage.
It lets you be as pure as is appropriate to the task at hand.
Functional purity increases the ability to reason about code,
but imperative idioms, for all their *unclean* reputation
(mostly deserved) allow for some impressive achievements
in modularity and efficiency. There's also the scaring the
horses issue you mentioned, and I think purity-or-else
is likely to make them whinny nervously, whereas purity
by default with an option to escape is much more
palatable.
Most of the rest of it has just been fiddling with Algol-60.
Ain't that the truth! And wasn't it "an improvement on most
of its successors" after all?!
(If I'm feeling
charitable, I might give you Smalltalk as almost new; I might even
concede some specialised languages like Snobol or Logo, and applaud the
efforts of the APL family.)
Rather than Snobol I'd cite Icon, as the more developed and therefore
more interesting of the two. (Both by Ralph Griswold.) I've not played
with APL but I have read a fair bit about J and K, which derive from
APL, and they're quite an achivement.
But the real Mother Tongue is Lisp; like Latin, every idea has
already been tried there; like Latin, it is worthy of respect and
study, though I wouldn't want to have to use it for anything.
Marshall
.
- Follow-Ups:
- Re: terminology
- From: Tony D
- Re: terminology
- References:
- terminology
- From: Marshall
- Re: terminology
- From: paul c
- Re: terminology
- From: Marshall
- Re: terminology
- From: paul c
- Re: terminology
- From: Marshall
- Re: terminology
- From: Tony D
- terminology
- Prev by Date: Re: Fraud Number 6: Keith H Duggar
- Next by Date: Re: Fraud Number 6: Keith H Duggar
- Previous by thread: Re: terminology
- Next by thread: Re: terminology
- Index(es):
Relevant Pages
|
Loading