TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Simple Ain't Easy, but Hard Ain't Simple: Leaving Clojure for Ruby

34 pointsby sharksandwichalmost 8 years ago

6 comments

gozur88almost 8 years ago
One thing he said I absolutely agree with - when you&#x27;re in a crunch situation, either in a startup or a new high-pressure project at BigCo, you don&#x27;t pick a tool set with which you&#x27;re not familiar. Even if it looks very nice. You&#x27;re going to have enough frustration making deadlines without the additional hassle of discovering the warts (and they&#x27;re always there) of a new language.<p>Where I work there are always projects that are a little bit under management radar - things that need to be done but don&#x27;t need to be done in a big hurry. That&#x27;s the right kind of project to scratch your chin and say &quot;You know, I&#x27;ve never written anything in whitespace.&quot;
评论 #14410387 未加载
elsenalmost 8 years ago
His experience matches most of mine:<p>I&#x27;ve been learning &amp; trying to use clojure(script) for ~2 years now. A few things I miss in every other languages:<p>- The REPL: I usually don&#x27;t need a debugger,<p>- Figwheel: that makes frontend dev a pleasure,<p>- reagent&#x2F;reframe: are incredibly straightforward, there&#x27;s no special syntax, no special constructs, just a few functions, a few concepts (dispatch &#x2F; subscribed) and you&#x27;re done,<p>- core.async: based on a simple channels &#x2F; pipeline paradigm<p>But then you get into the practicalities of testing &amp; writing code. Shady special cases[1][2], annoying testing tools[3], useless stack traces. And other issues everybody knows. Simple things that become a 30 min discussion with 3 different libraries and 2 blog articles to go through[4].<p>To me, there&#x27;s this hardcore group of clojur&#x27;ist that seems to be hyper productive and keep introducing new concepts. And the &quot;rest&quot; (me at least), that are floundering. You fight with useless stacktraces? Boom, transducers. You deal with buggy test runners? Bam, a new specification library with test generations.<p>I&#x27;ve started moving my code to ES6 and Go. The community is filled with helpful people, but it seems to me that if you&#x27;re not writing Clojure professionally already, the language is becoming less and less relevant.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;replikativ&#x2F;superv.async&#x2F;issues&#x2F;2#issuecomment-292112698" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;replikativ&#x2F;superv.async&#x2F;issues&#x2F;2#issuecom...</a><p>[2] <a href="https:&#x2F;&#x2F;clojurians-log.clojureverse.org&#x2F;clojurescript&#x2F;2017-05-06.html#inst-2017-05-06T11:16:17.076103Z" rel="nofollow">https:&#x2F;&#x2F;clojurians-log.clojureverse.org&#x2F;clojurescript&#x2F;2017-0...</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;bensu&#x2F;doo&#x2F;issues&#x2F;134" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bensu&#x2F;doo&#x2F;issues&#x2F;134</a><p>[4] <a href="https:&#x2F;&#x2F;clojurians-log.clojureverse.org&#x2F;clojurescript&#x2F;2017-05-06.html#inst-2017-05-06T08:48:31.683316Z" rel="nofollow">https:&#x2F;&#x2F;clojurians-log.clojureverse.org&#x2F;clojurescript&#x2F;2017-0...</a>
评论 #14407670 未加载
评论 #14407679 未加载
zubatalmost 8 years ago
Dreaming up new analogous phrasings to easy != simple now.<p>Fun &gt; easy &gt; simple?
dusanmalmost 8 years ago
Revenge of the averages
blain_the_trainalmost 8 years ago
IMO The Clojure Community does care about developer happiness. I think &quot;happiness&quot; is very subject, Clojure makes me happy, i&#x27;m a dev, what more can i say on that? As Phillmv made his work about his feelings, i feel its appropriate todo the same @phillmv blog and talk made me angry and sad at the same time. I took a minute to try and understand why i felt this way and concluded it was because while his technical concerns were valid, his tone belittled my own experiences. He says he wasn&#x27;t as productive in a new paradigm, with a new language, on a tight deadline and because of this the Clojure Community doesn&#x27;t care about Developer Happiness? He says he isn&#x27;t talking about he community, but the langauge itself, but languaages dont have feelins so i&#x27;m confused on how his complaint isn&#x27;t being leveled at the people behind and using the language. From my perspective, Clojure enables people to do things that while possible in other languages, would require a lot more effort:<p>1. Projects like Onyx and Jepsen where a small team was able to accomplish something beautiful. 2. Property based testing and the awesomeness of ReFrame state charts?<p>What @phillmv tried todo was very ambitious, and its awesome that he gave it a shot, but his overarching conclusion seems to put the blame on Clojure and that seems both unfair and unproductive.<p>Here are his specific clojure concerns and how i feel the community is addressing them in a way that makes me feel very happy:<p>1. StackTraces are hard to understand: Clojure Spec has been written about a ton in this regard 2. Debugger: Sayid Pro looks really promising, maybe a big company could pick it up and support it? But from my limited perspective things could be better for this story. 3. Startup Time: I don&#x27;t know if anything is being done to address this, the current wisdom is that you work within the repl and structure your projects so they can be &quot;reloaded&quot; which has lot of nice properties.<p>Here are His Concerns i think are language agnostic:<p>1. It hard to Structure large apps : While Clojure applied has some suggestions i think every project is context specific. 2. New learning curve (lots of new ideas like reducers, map, transdecures, macros) : Their are a wealth of resources on all these topics, what in particular was he not getting answers about? 3. JVM requires deep editor integration: I feel this is true of every JVM language. 4. Dependency hell: True in every language? Clojure spec is actual designed to help with this eventually!<p>So his pain points are real, but thats not where he puts the emphasis. Rather he puts that on his feelings. And as John Oliver has warned us, that makes it easy to trivialize real problems, which i feel is what has been done here.
评论 #14412208 未加载
BatFastardalmost 8 years ago
My fav is Hard is easy, easy is hard.
评论 #14407530 未加载