WAT: JavaScript & Ruby

221 views
Skip to first unread message

Alan Thompson

unread,
Sep 22, 2016, 3:40:43 PM9/22/16
to Clojure
A 4 minute lightning talk on what happens when your API just kinda evolves itself:


Alan

Alan Moore

unread,
Sep 23, 2016, 12:01:30 PM9/23/16
to Clojure
Thanks for the laugh! Waiting for the Clojure and Scala version. :-}

Alan

larry google groups

unread,
Oct 13, 2016, 4:14:51 PM10/13/16
to Clojure
> Waiting for the Clojure and Scala version. :-}

But there won't be. Not ever. Not really. The reason I prefer Clojure over Javascript or Ruby is because so much care and thought went into the APIs of Clojure's core structures and syntax. If you try really hard, you can find the occasional article about some unusual choices that the Clojure core team has made, but you won't find anything quite as crazy "wat - 1" == NaN. 

You look at the way the core team waited to figure out how to handle the passing of data structures to functions, and the beautiful style of destructuring that emerged -- that's the history of Clojure in a  nutshell. 

I am willing to believe that there are some Haskell fanatics who find aspects of Clojure funny, but the point of the lighting talk was about things that are obviously wrong: 

[] + {}
Object

{} + []
0

Can you think of anything in Clojure that is as crazy as that? 

Alan Thompson

unread,
Oct 13, 2016, 11:37:08 PM10/13/16
to clo...@googlegroups.com
I cannot think of anything in Clojure as crazy as the stuff in the video; 90% of the stuff in Clojure is a big, big improvement over Java, et al.  And a good chunk of that 90% is simply brilliant.

Having said that, there are a few WAT type things in Clojure, from small annoyances like the presence of assoc-in but no dissoc-in to larger ones like the surprising conversion of vectors into (effectively) lists, and the unintended consequences that follow (see https://goo.gl/2ANisU).

The whole reason I posted this link was so people would think about how a decision that seems like an expedient shortcut in the present can cause long-lasting pain in the future.

Alan


--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages