Live data from Hacker News

The Future of Clojure

thoughtworks.com

131–140 of 309 posts

Re: The Future of Clojure

#131
post #3
post #2

I'd love to see clojure take a bigger role in the financial services sector. The fact that it runs on the JVM, gives it a nice foot in the door. Ideally, it would be great if clojure replaced Python and Scala as the defacto language used to interact with Apache Spark. That's probably not likely, though. It's hard enough to get a lot of folks past spark's weirdness without throwing a lisp into the mix. But it does see…

See... I work for one of the largest banks in the world and in vicinity of me there is a Clojure project. The guys are trying to figure out how to get rid of it. Original developers left the company or advanced to management roles and now nobody is able to figure out what this convoluted, obfuscated, undefined, unstructured mass of code does or how to modify it so that it doesn't blow up more that it already is. As m…

Citi?

Re: The Future of Clojure

#132

This will probably earn me lots of negative points, but I used Java for eight years and after much initial enthusiasm came to despise it. It was the least productive language I have ever used. I have twice tried to learn Clojure and each time I have to install the JVM, I simply quit, despite being intrigued by Clojure itself. Sigh.

"each time I have to install the JVM, I simply quit, despite being intrigued by Clojure itself"

Weird - what is so problematic about installing a JVM? That is literally an apt-get or install away. If you are learning Clojure then installing the JVM should be the least of your problems.

Note that there are a bunch of really nice Clojure starter kits available. And now many options for editors. For learning you don't need anything fancy, even a REPL will do to get you excited.

If the JVM turns you off then yeah maybe not try out languages built on top of it.

Re: The Future of Clojure

#133
post #129

Earlier quoted context omitted.

> And all that just by selling some cheap cut syntax sugar on the corner. I suppose you could dismiss a lot of what Kotlin adds as mere syntactic sugar. But it also makes some much more fundamental improvements. It provides a much cleaner, unified, object-oriented type system. It provides about as sane an approach to null safety as is possible on the JVM. (Clojure's is arguably better, but I'll concede that nil punni…

Clojure has no null safety. You may encounter it less because of the foundational building blocks you use in the language, but NPEs are most certainly there.

Same for Kotlin, really. Can only do so much to stabilize things when you're building your home in a marecage.

Re: The Future of Clojure

#134

Earlier quoted context omitted.

I argue that Clojure née the functional programming community writ large capture a peculiar local maximum. I used to subscribe to the “functional = better” camp until going to MIT. I challenge anyone to find a cutting edge CS paper* that is written in their favorite functional language. If it were so effective — wouldn’t one academic have exploited this efficiency to catapult themselves ahead of their imperatively bo…

> This is why we see the highest paid practitioners programming exclusively in functional languages Well I don't know how accurate this is, but in 2019 Stackoverflow survey, Clojure practitioners averaged the highest pay of any languages. (in 2020 they removed Clojure from the options so the data is missing). > I challenge anyone to find a cutting edge CS paper* that is written in their favorite functional language I…

> Well I don't know how accurate this is, but in 2019 Stackoverflow survey, Clojure practitioners averaged the highest pay of any languages.

Well I didn't believe it, but wow: https://insights.stackoverflow.com/survey/2019#top-paying-te...

I'm not sure if I should conclude that I'm incredibly ignorant of the engineering market, or that Stack Overflow's survey is not representative.

It makes me suspicious that Clojure is shown as the most highly paid language at $90k. Basically any non-new grad developer in a high cost of living area earns more than that, regardless of the language. I'm also suspicious that only 1.4% of survey respondents use Clojure, which may show a bit of a base rate fallacy here.

What would be the explanatory thesis for Clojure programmers being the most highly paid? None of the most highly paid roles I'm personally familiar with in big tech or finance use Clojure, and people who work in those roles earn well into the six (and sometimes seven) figures.

Re: The Future of Clojure

#135

I've said it before, and I'll say it again. I will continue to write Clojure for a living as long as I am able to find a job willing to pay me to do so. I have never encountered a more pleasant environment to do my work. I think Clojure isn't going to "go away" any time soon as long as there are other people like me still around. I do think that Clojure shops (like all software shops) need to dial back the torture in…

Did Clojure made you unemployed?

Re: The Future of Clojure

#136

I've said it before, and I'll say it again. I will continue to write Clojure for a living as long as I am able to find a job willing to pay me to do so. I have never encountered a more pleasant environment to do my work. I think Clojure isn't going to "go away" any time soon as long as there are other people like me still around. I do think that Clojure shops (like all software shops) need to dial back the torture in…

Did Clojure made you unemployed?

No, I am currently employed. It's a play on the "from my cold, dead hands" phrase.

https://en.wikipedia.org/wiki/From_my_cold,_dead_hands

Re: The Future of Clojure

#137
post #111

are there people who used both clojure and scala. And decided to use Scala ? if so why ? I'm new to Scala that's why

Yes. In general, I would choose Scala. Better tooling, (pretty good) type system; not without its warts. Main concern I'd see ahead is the 2 -> 3 transition, which has the potential to be as difficult as the Python 2 -> 3 transition. That said, Scala 3 looks nicer to me as a language, with top-level functions, significant whitespace (more concise code), and better ADTs.

Re: The Future of Clojure

#138
post #27

A common point is being made in the threads here: "The downside of Clojure is that you need good, wise developers..." The converse of this is that good, wise developers are going to (ultimately) _demand_ Clojure. What I mean by this: I was a Java programmer for years and increasingly started writing code in a more functional, immutable, dynamic style with the occasional need for meta-programming -- for the sheer need…

> The converse of this is that good, wise developers are going to (ultimately) _demand_ Clojure. HN seems to blindly accept the idea that developers using niche languages are good but I certainly haven't seen any proof of that and I haven't seen anything to even remotely suggest that good developers gravitate towards Clojure. Great developers have to be working on hard problems and almost all of the hard problems in…

I prefer functional programming, and have a background in functional programming, but I still primarily work with Java, and it is currently my go-to for any project. In my opinion, Java as a language is gross and unlovable, but the runtime, the development tooling, and selection of libraries and other integrations is about as good as it gets.

I feel like I am continuously looking for a better alternative, but it's hard to overcome the practicality of using something with such immense buy-in. For example, nearly all major SaaS offer a Java SDK, or have Java-specific docs. They want the big companies to be their customers, and they know they use Java. I am all too happy to benefit from that.

It should also be noted that Java the language is rapidly being enhanced with features inspired by functional programming. For example, sum types (in the form of sealed classes) have been added to the language, and ML-style pattern matching with compile-time exhaustiveness checking is in the pipeline. More on the platform side, Java now has a REPL (JShell).

Of course, Java codebases you encounter in the wild are very likely to make you want to cry. The world of Java development has a lot of bad taste and questionable practices enshrined as best practices. That said, the Java community is slowly shifting toward a better style.

Re: The Future of Clojure

#139

Earlier quoted context omitted.

Until recently, I would have said Java because it has so many guard rails and good frameworks. But then I've recently encountered bugs caused by code that basically disabled all those guard rails. Had any one of them been left in place, the bug wouldn't have happened. It's kind of amazing how clever some unwise bad engineers can be. There's just no replacement for good, wise engineers.

That's interesting. In my experience, Java is one of the easiest languages to turn the best of intentions into actual unusable code. I personally have never seen or heard about a large Java application being easy to work with or having good guard rails. It all kinda just becomes a big mess. I think that Java might have benefited the most from the industry hellbent on making microservices, in that Java applications ar…

[deleted]

Re: The Future of Clojure

#140

Earlier quoted context omitted.

Until recently, I would have said Java because it has so many guard rails and good frameworks. But then I've recently encountered bugs caused by code that basically disabled all those guard rails. Had any one of them been left in place, the bug wouldn't have happened. It's kind of amazing how clever some unwise bad engineers can be. There's just no replacement for good, wise engineers.

That's interesting. In my experience, Java is one of the easiest languages to turn the best of intentions into actual unusable code. I personally have never seen or heard about a large Java application being easy to work with or having good guard rails. It all kinda just becomes a big mess. I think that Java might have benefited the most from the industry hellbent on making microservices, in that Java applications ar…

Interesting but I have the opposite experience.

Java is weak in small scope and gets stronger with larger applications as it scales quite well in maintainability.

In that sense adoption of microservice has hurt Java since you still need to do a lot of Java ceremony, tomcat + spring boot still starts up slow, you can't leverage superior IDEs to refactor interfaces across services etc.

For thin microservices I would probably tend to use something like node.js, for traditional monoliths (IMHO still have their place) with a lot of complex logic I would use Java (or Kotlin, C#).

Post reply on HN