Live data from Hacker News

Elements of Clojure

therepl.net

31–40 of 71 posts

Re: Elements of Clojure

#31
post #14

Earlier quoted context omitted.

Yes not sure what happened to clojure. The rise and fall of clojure is really intriguing. Looks like everyone just went back to java.

It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…

> As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1].

I am freelancing for Clojure projects for already 6 years and have to say it is true you can expect better compensation in general, but this is only given

1) You are an experienced coder overall, e.g. I am 18 years in dev, and Clojure is seen as a logical high level experience conclusion

2) You can find good existing Clojure project, which is damn hard, and the line of Clojure coders for openings is usually pretty long. And many businesses are expecting to find young coders who can be.. not so well paid. The latter is a very bad approach for Clojure projects (Sorry, young guys, I have seen tons of Clojure code by many people, and it only looks good when the coder is at least 30+)

3) You can find good greenfield tech agnostic project, where your sell point is, again, your overall experience first, Clojure second

But at the end, that all keeps you very fit in many dimensions, and I am not going to give up Clojure, instead investing more

Re: Elements of Clojure

#32
post #14

Earlier quoted context omitted.

It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…

John deGoes said "Clojure developers ... consciously stay inside the Clojure community because they love the language and ecosystem" and I think that's pretty interesting – Clojure has like this event horizon where if you cross it, you become so attached to it that you never leave. It's like a little black hole that is already self-sustaining – it can only grow, it will never die, and it can happily wait for opportun…

For me, I found Clojure after googling around for various of permutations of "CSP in function language" back in 2016 or so. I fooled around with core.async, thought it was pretty neat, but promptly forgot about it.

About a year later, I was doing a project where I felt a dynamic language would be useful, still wanted it to be pure-functional-ish, and tried Clojure, and this time started with the fundamentals, and once I got to macros, I was completely hooked on Lisp for forever.

I thought it was the coolest thing ever that I could add language features without having to understand compiler theory or anything like that.

=====

Nowadays, my work involves around 50% Java (yuck) and 50% Clojure, but a lot of my personal projects are done with Scheme, since I have to admit that I do kind of like the `define-syntax` macro system better than Clojure's.

I definitely see the "event horizon" analogy. Once you see just how much more productive you are with the language than most others, it's hard to leave.

Re: Elements of Clojure

#33
post #14

Earlier quoted context omitted.

It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…

> Most Clojure programmers I know (myself included) would not choose to go back to Java. Thats true. I write clojure for living too. But choice of programming languages in enterprises is not made by programmers.

It is indirectly; if a company has trouble hiring, they might switch up the stack a bit to try and attract new talent.

For example, my previous employer (Jet.com) used F# partly because one of the most senior engineers liked it, but also partly because they thought it might attract some tech talent out of the shadows.

Re: Elements of Clojure

#34
post #26

Earlier quoted context omitted.

Is it growing? It is a difficult metric to quantify, but looking at thing like Github, or Reddit, it seems flat or declining. Clojure initially benefited as the preferred Java escape path, but it seems like that has been supplanted by Kotlin. https://github.com/oprogramador/github-languages#most-failin... https://www.benfrederickson.com/ranking-programming-language...

At least the first link has a pretty crazy cutoff though, 2018. Once a lib is mature it can easily go years without updates, doesn't mean development has been abandoned, much less usage. But trying to compare across languages by package manager traffic or something would obviously be a lot harder. In any case apparent zero velocity, whatever it's actually tracking, definitely shows that general interest (which consta…

I agree with your first point, and stability of Clojure the language, and libraries is a strength. But it does suggest fewer people are starting new projects with Clojure, which matches how it feels to me, and matches my experience in the Clojure community, where discussions are a little less active.

Re: Elements of Clojure

#35

Earlier quoted context omitted.

Yes not sure what happened to clojure. The rise and fall of clojure is really intriguing. Looks like everyone just went back to java.

Oh wow... not a chance

I don't think people are going back to Java, but there are other options. I prefer Clojure, but Kotlin is a much easier switch for most Java devs.

Re: Elements of Clojure

#36
I really enjoyed this book, especially the chapter on naming.

As a programmer I named dozens of things a day, yet I never really got much advice on what makes a good name other than the standard "make it clear". I wish there were more books out there that went as deep as this book on that topic.

Anyone have any recommendations?

Re: Elements of Clojure

#37
post #4

Don't let the title fool you - 90% of the advice given in this book isn't specific to Clojure, and boy is it good advice. This book contains some of the deepest programming insights I've encountered, to be put on the same level as SICP or the Pragmatic Programmer. The discussions on naming and abstraction are particularly illuminating, exposing some fundamental tradeoffs like synthetic vs natural names, or principled…

Contrarian opinion here: I've instead found the constant philosophizing tiring. But I still commend his effort because as he explained, he's trying to articulate the inarticulate and the visceral. Most programmers would probably benefit from reading a book in the style of Effective C++ (Scott Meyers) or Effective Java (Joshua Bloch), where recommendations are more concrete and more unequivocal. Once you've done that, the matter of software design only really comes with experience—experience designing software and having an almost tactile reaction to the future maintainability and readability of the code; it doesn't really come from reading a book like this.

Re: Elements of Clojure

#38
post #14

Earlier quoted context omitted.

It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…

Is it growing? It is a difficult metric to quantify, but looking at thing like Github, or Reddit, it seems flat or declining. Clojure initially benefited as the preferred Java escape path, but it seems like that has been supplanted by Kotlin. https://github.com/oprogramador/github-languages#most-failin... https://www.benfrederickson.com/ranking-programming-language...

I've noticed the reddit is less active, but I think that's just because everything needing saying was said already. At least it is for me, just busy coding.

The Clojure annual survey gets more and more participants every year, so from that angle it seems to be growing.

Re: Elements of Clojure

#39

Earlier quoted context omitted.

Was going back to JavaScript your choice or an external factor such as job-related reasons? As someone starting out with Clojure and ClojureScript I'd be interested to hear about your experience.

External factors. Clojure didn't offer a great variety of jobs, especially remote. There was a decent number of jobs for onsite positions, but that's the trade I wasn't willing to make. The language itself is great. The ecosystem is fine, you can find most libraries and if you can't you can at time use the JAVA versions. This was at times a pain because Java client libraries for certain services were out of date. Sol…

I'm mystified that not more people are offering remote possibilities when hiring for Clojure. There are some really great people out there, but the likelihood that they live in your neighborhood is low.

Geography seems like an arbitrary constraint to me. Nothing about it increases the probability of getting a better candidate.

Re: Elements of Clojure

#40
post #37
post #4

Don't let the title fool you - 90% of the advice given in this book isn't specific to Clojure, and boy is it good advice. This book contains some of the deepest programming insights I've encountered, to be put on the same level as SICP or the Pragmatic Programmer. The discussions on naming and abstraction are particularly illuminating, exposing some fundamental tradeoffs like synthetic vs natural names, or principled…

Contrarian opinion here: I've instead found the constant philosophizing tiring. But I still commend his effort because as he explained, he's trying to articulate the inarticulate and the visceral. Most programmers would probably benefit from reading a book in the style of Effective C++ (Scott Meyers) or Effective Java (Joshua Bloch), where recommendations are more concrete and more unequivocal. Once you've done that,…

I can't recommend Effective Java enough. Even if one hates Java with passion. I haven't managed to find a better book on how to design an API in any language. It learned me to think about the consumers of my code all the time (even if I'm the only author on a given project) The chapters on exceptions, defensive coding, generics are brilliant. The whole book is written in an effective manner. Dense with information, short and still readable. The second best: Eloquent Ruby. Brilliantly written and mature. Instead of hyping everything up, the author elaborates the downsides of each described technique and power tool.
Post reply on HN