[PRL] [plt-internal] Video of Clojure talk

Robby Findler robby at cs.uchicago.edu
Thu Oct 2 22:52:39 EDT 2008


Contracts in Java suffer from having assertions in the language. My
understanding is that Someone Decided that assertions were good enough
and now it is just viewed as not important enough to actually make
them contracts (my opinions and the opinions of Java users
notwithstanding).

Robby

On Thu, Oct 2, 2008 at 6:57 PM, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
>> I suspect that whether tail calls end up in the JVM has little to do with
>> whether they are a good thing. It seems more likely to be a question of
>> whether clients that matter to Sun are demanding it.
>
> That was implicitly my point.
>
> Sun has almost always known of the goodness of tail calls, at least
> since 1997 or so, when they hired Guy.  But Java programmers don't get
> it.  Matthias tried to tell them why they should care in his ECOOP
> invited talk, but unfortunately he was talking to academics, who are a
> hopelessly wasted audience.
>
> As a result, there is no clamoring from clients.  Is this even a JSR?
> If it is, where does it rank?  (Is there a futures market for it?)
>
> Rather, there's clamoring from guys who do something that undercuts
> Sun's business model (there's a reason Sun uses "Java" to refer to the
> two different things that Hickey wishes to distinguish, the language
> and platform).  I suspect Sun views these implementers are general
> amusements, helpful for spreading their platform but unimportant in
> the grant scheme of things, and dangerous if they get too big.
> Clojure, Fortress and Scala combined have, what, 1000 users?  Now if
> Python had tail calls, and that Python-Java thing were the most
> important Python platform, we'd have something to talk about.
>
> Not that even a high-ranked JSR guarantees much, anyway.  Robby's been
> saying for years that contracts are one of the highest-ranked JSRs.
> Contracts are unambiguously good, even Java developers understand what
> they are and why they're necessary, bloggers talk about it with hope
> and yearning and fond memories of Eiffel, there are papers to explain
> how it should be done well (or even how to do it poorly, if you choose
> to read Robby's papers backwards a la Led Zep albums), and...
>
> Java lost the play when it came to the client Web.  Had their lunch
> eaten by a pipsqueak language that you, Dave, know more about than the
> rest of us.  They might have won on desktops, but every desktop is
> migrating to the Web.  So instead Java is thriving on servers, which
> have no need for tail calls, and on mobile phones, which only have
> room for phone calls.  So this won't happen.
>
> Given the circumstances, if you're going to design a language *for the
> JVM* -- as Hickey made unambiguously clear -- you have to do something
> about this, not wait for Godot.
>
> Shriram
>
> PS: It goes without saying that I'd be delighted to be proven wrong.
>
>



More information about the PRL mailing list