Rich Hickey's slides from jvm lang summit - worth a read?
language_fan
foo at bar.com.invalid
Sat Sep 26 02:17:30 PDT 2009
Fri, 25 Sep 2009 20:17:12 -0400, bearophile thusly wrote:
> Rich Hickey:
>
>>No, I don't. The post is for Clojure users and shows them a relative
>>comparison they care about, persistent vs transient.< Unless that code
>>is returning a persistent vector and provides thread isolation, it is
>>not doing the same job.<
>
> Sorry, I didn't mean to offend you in any way. Sometimes I am not gentle
> enough. I am sorry.
>
> You are right that my comparison with D was wrong because the semantics
> of that Clojure code and data structures is richer.
>
> On the other hand a comparison with a simpler/basic implementation (like
> just a C array) can be quite useful anyway, to know how much you have to
> pay for such useful extra semantics.
>
> I have seen several online benchmarks of many languages, Clojure too.
> Often they show only numbers for a single language. In such situations a
> comparison with other languages is useful to put numbers in perspective.
> So a comparison with (for example) a baseline C program is useful
> (hopefully with the same semantics, where possible). For Clojure a
> comparison with Java can be equally useful.
Often the geniuses behind the best languages are not interested in
implementing everything themselves, instead they focus on building a
framework for others to build on and specifying the semantics of the
language. The skill for designing a good language is a gift, and not
everyone has it. On the other hand, if you hand out instructions, even
uneducated novice coders from the 3rd world's high schools can implement
the best compiler in the world. So fact that the language is fast and can
be made faster (if not optimally fast) with more effort, often suffices.
This is similar to gotos and higher order functions / dynamic dispatch.
The low level language designers focus on optimizing the goto statement
on all possible architectures using the fastest sse4 instructions.
However, their language does not scale to 500+ LOC programs because it is
totally unreadable. Each time they manage to cut off yet another 12 ns
from an inner loop, they post the news to reddit and praise their savior
who never listens to their ideas. The higher level language designers
focus on designing new language theory and complex control and data
structures that make the language more usable in the future.
More information about the Digitalmars-d
mailing list