Live data from Hacker News

Is Clojure dying, and what has Ruby got to do with it?

lambdaisland.com

11–20 of 261 posts

Re: Is Clojure dying, and what has Ruby got to do with it?

#11

Earlier quoted context omitted.

There seems to be a very nice solution to the parenthesis problem: https://sourceforge.net/p/readable/wiki/Home/ I have no idea why it hasn't caught on. As far as I'm aware, there's no Clojure implementation. Lispers like their parentheses.

Perhaps because significant white space (e.g. Python) has quite a lot of detractors of its own.

I absolutely cannot stand significant whitespace... it is a step back in almost every area of usability.

Re: Is Clojure dying, and what has Ruby got to do with it?

#12
clojure's killer app, datomic, is closed source

in my opinion, this is a key reason, why clojure is not thriving

i can't think of any (problem) domain, where clojure have a framework or library, than is significantly better than most other frameworks or libraries

if you are not number 1 at anything, it is hard to thrive

Re: Is Clojure dying, and what has Ruby got to do with it?

#13

I'm still left with the question of "why all the parenthesis?" While it might sound silly and reductionist, it is ostensibly the single hurdle I could never overcome when it came to lisp languages. The majority resides with the fact that it could work without them, so I see it as an ancient artifact.

There seems to be a very nice solution to the parenthesis problem: https://sourceforge.net/p/readable/wiki/Home/ I have no idea why it hasn't caught on. As far as I'm aware, there's no Clojure implementation. Lispers like their parentheses.

It hasn't caught on is because for all the talk about parens, they aren't really a decisive barrier, just an easy thing to latch on to, and because S-expressions are more clear (note that more algol-inspired M-expressions were the original proposed programming syntax for Lisp, with S-expressions as an behind-the-scenes representation, but programmers preferred using S-expressions directly.)

Re: Is Clojure dying, and what has Ruby got to do with it?

#14

I'm still left with the question of "why all the parenthesis?" While it might sound silly and reductionist, it is ostensibly the single hurdle I could never overcome when it came to lisp languages. The majority resides with the fact that it could work without them, so I see it as an ancient artifact.

Parentheses exist because it is the easiest way to represent the raw AST in text form. S-Expressions were originally an intermediate form for a more algol-like syntax[0], but became the primary form of representing Lisp because allowing the programmer to manipulate the AST is extremely useful, arguably what makes Lisp Lisp. There are homoiconic languages like Prolog and Julia that have more familiar syntax styles, but S-Expression Lisps are unmatched in making homiconicity readily apparent.

Another reason Lisp programmers tolerate parentheses hell is that Lisp development has often paralleled that of emacs and emacs-like editors that make manipulating s-expressions extremely intuitive.

[0] https://en.wikipedia.org/wiki/M-expression

Re: Is Clojure dying, and what has Ruby got to do with it?

#15

I'm still left with the question of "why all the parenthesis?" While it might sound silly and reductionist, it is ostensibly the single hurdle I could never overcome when it came to lisp languages. The majority resides with the fact that it could work without them, so I see it as an ancient artifact.

It took me an afternoon to get used to the prefix notation (not to parentheses; those are used even in python), and after that afternoon I would refuse to program without it. Makes the code way more regular.

Re: Is Clojure dying, and what has Ruby got to do with it?

#16

I'm still left with the question of "why all the parenthesis?" While it might sound silly and reductionist, it is ostensibly the single hurdle I could never overcome when it came to lisp languages. The majority resides with the fact that it could work without them, so I see it as an ancient artifact.

Use Emacs and optionally avail yourself of a structural editing mode like paredit. Then, at a minimum, the editor will help you match parens and you barely even have to think about them. Seriously, get over your Emacs hate (if you have any) because Emacs is to Lisp family languages what IntelliJ is to Java.

Re: Is Clojure dying, and what has Ruby got to do with it?

#17
I spent the better part of 2013 - 2015 learning and working with Clojure. I love the language and the feeling I got solving little problems like Project Euler or 4clojure. However, I could never quite transition to feeling productive making larger projects and found myself using reverting to Scala or JS instead.

Re: Is Clojure dying, and what has Ruby got to do with it?

#18
post #6

Going further, it seems like the whole category of alternative languages hit a peak about three years ago, and interest has been dwindling since. It's like coders got their fix of "new ways of thinking about code", and now have gone back to whatever they feel most productive in. Moreover, the buzziest alt languages now (Elixir, Go, Kotlin) seem to be much closer to existing mainstream languages than the buzzy ones of…

I think that's more an indication of _just how much the needle has been moved_.

5 years ago mainstream was something like PHP or Java 6.

Re: Is Clojure dying, and what has Ruby got to do with it?

#20

I'm still left with the question of "why all the parenthesis?" While it might sound silly and reductionist, it is ostensibly the single hurdle I could never overcome when it came to lisp languages. The majority resides with the fact that it could work without them, so I see it as an ancient artifact.

I'll plug Parinfer as the best tool I've found for removing the pain of editing s-expressions. It's done wonders for my own workflow, and there's almost nothing to learn before you can use it effectively (compare to Paredit which requires you to know quite a few shortcuts before becoming productive)

I almost never have to think about the parentheses while editing, any more than I would braces in a c-like language. It's really freeing. It's also fully integrated into Cursive so there isn't even a setup step if you're using that already.

https://shaunlebron.github.io/parinfer/

Post reply on HN