Live data from Hacker News

Differences with other Lisps

clojure.org

1–10 of 108 posts

Re: Differences with other Lisps

#2
> There is more to collections than lists. You can have instances of empty collections, some of which have literal support ([], {}, and ()). Thus there can be no sentinel empty collection value.

Probably my favorite feature over common lisp. Combined with comma (,) being treated as whitespace (ie, use comma if you want to but you don't have to), makes typing out data structures in clojure a much more enjoyable process than other languages.

This ease of typing out data structures also extends to edn (clojure's version of json)

Re: Differences with other Lisps

#3
I like this list. I don’t agree with every choice but so what: they are all thoughtful choices (except why do you need `recur`?) that reflect an opinionated position which I appreciate.

Re: Differences with other Lisps

#4
post #3

I like this list. I don’t agree with every choice but so what: they are all thoughtful choices (except why do you need `recur`?) that reflect an opinionated position which I appreciate.

I believe it was due to limitations of the JVM at the time.

Edit: https://www.windley.com/archives/2008/11/tail_optimized_mutu...

Re: Differences with other Lisps

#6
Is clojure the newest popular-language-you-can-get-a-job-in? It's initial release was 2007.

Rust (2010) (edit Kotlin (2011) perhaps), but point being there aren't many newer: https://en.wikipedia.org/wiki/Timeline_of_programming_langua...

That metric is subjective and arbitrary, but it's on my mind because my company is hiring for clojure developers (see my immediate comment history & apologies for the advertisement).

And it's on my mind because common lisp and scheme are _old_.

One of the nicer things about clojure is relatively frequent mentions of how common lisp did things, then a choice to hew or differ. And common lisp and the lisp family of languages have a long history. I like this as an art-piece of lisp's age: http://kazimirmajorinc.com/Documents/Lisp-code-typography/in...

Re: Differences with other Lisps

#7
post #4
post #3

I like this list. I don’t agree with every choice but so what: they are all thoughtful choices (except why do you need `recur`?) that reflect an opinionated position which I appreciate.

I believe it was due to limitations of the JVM at the time. Edit: https://www.windley.com/archives/2008/11/tail_optimized_mutu...

I prefer Scala’s solution, where tail calls look like normal calls, and a @tailrec annotation can assert they really are optimized out (or break the build).

Re: Differences with other Lisps

#8
post #6

Is clojure the newest popular-language-you-can-get-a-job-in? It's initial release was 2007. Rust (2010) (edit Kotlin (2011) perhaps), but point being there aren't many newer: https://en.wikipedia.org/wiki/Timeline_of_programming_langua... That metric is subjective and arbitrary, but it's on my mind because my company is hiring for clojure developers (see my immediate comment history & apologies for the advertisement)…

Swift (2014) would be a strong contender

Re: Differences with other Lisps

#9
post #6

Is clojure the newest popular-language-you-can-get-a-job-in? It's initial release was 2007. Rust (2010) (edit Kotlin (2011) perhaps), but point being there aren't many newer: https://en.wikipedia.org/wiki/Timeline_of_programming_langua... That metric is subjective and arbitrary, but it's on my mind because my company is hiring for clojure developers (see my immediate comment history & apologies for the advertisement)…

Go came out in 2009.

Re: Differences with other Lisps

#10
In many ways I feel like Clojure is a better Lisp than Lisp itself. Syntactic niceties like support for vectors/maps/sets are, once you've gotten used to them, hard to do without. And although it's orthogonal to the syntax, I also appreciate its focus on immutability. I just with there was a Lisp like it that didn't run on the JVM.
Post reply on HN