Re: More static type fun.

From: Matthias Blume (find_at_my.address.elsewhere)
Date: 10/30/03


Date: Thu, 30 Oct 2003 04:45:21 GMT

raffael@mediaone.net (Raffael Cavallaro) writes:

> Simon Helsen <shelsen@computer.org> wrote in message news:<Pine.SOL.4.44.0310291642160.4865-100000@crete.uwaterloo.ca>...
>
> > I firmly beleive that for a big class of problems, a powerful ML-style or
> > Haskell-style type system is good enough if you are willing to shape your
> > abstractions into the type system.
>
> Once you've decided to alter *your* abstractions to fit the demands of
> a compiler, alarms should be going off very loudly. Computers, and
> compilers, should serve programmers' needs, conform to *our*
> abstractions, not the other way around.

Maybe Simon misphrased this, which is what confuses you. You are not
supposed to shape your abstractions for the compiler, you are supposed
to *express* them to the compiler. In other words, you have to learn
the language and become fluent in it. That's not at all the same as
"serving the compiler's needs". The compiler serves our needs, and in
order to be able to do so it offers a certain interface which is the
language. That is not at all different than programming in Lisp.

What /is/ different, though, is the ease at which you can express
abstractions. Dynamically typed languages tend to have very few
really good abstraction facilities that are worthy of that label.

Matthias



Relevant Pages

  • Re: Why is OO Popular?
    ... In most domains there are many abstractions, ... > that computers behave like other computers. ... surely just as solid a basis for design, ... since this implies that language has no impact on ...
    (comp.object)
  • Re: RAD vs. performance
    ... abstractions that will be there, whereas my compiler can optimize them ... Usually this doesn't matter, though. ... I'd say the same thing about your premature optimisation ...
    (comp.lang.misc)
  • Re: Anybody here endure C/Cpp? (.h to .inc conversion)
    ... abstractions (when they aren't particularly "intuitive" to anyone but the ... Worse, source code sits somewhere in the middle, in fact...the "theory" is ... that it's all "conceptual" and then some "optimising compiler" flies in and ... "half conceptual" demonstrates how the "theory" that optimising compilers ...
    (alt.lang.asm)
  • Re: Abstraction without performance penalty?
    ... > is intended by the programmer. ... But many times those abstractions ... Use a good compiler. ... Use compiler-macros and macros to implement your own optimizations. ...
    (comp.lang.lisp)
  • Re: unexpected abstraction penalty in C++
    ... abstractions at too fine a grain. ... piss-poor language like C++. ... You talk about "in this day and age of C++ compiler technology." ... not spent on such nitty gritty optimization issues. ...
    (comp.os.linux.development.apps)