TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why I ever wrote Clojure

89 点作者 sbjs8 天前

21 条评论

daveliepmann7 天前
&gt;I suspect this is the real reason Clojure was created, I bet Rich was just really bored.<p>I notice too that a noticeable number of people pick up Clojure because it&#x27;s new and shiny. As a longtime Clojurian I find that attitude can be disappointing to run into, like when you realize a growing friendship will die because they&#x27;re not serious about living in your city.<p>I don&#x27;t claim to know the man but the reasons Rich wanted Clojure are quite concrete, well documented, and rational. Java programs of the time were a particularly heinous form of OOP; we should not be surprised that a clever programmer would grow a preference for a dynamic, functional-first style. He found lisp superior (in interactivity, expressiveness, yadda yadda) and wanted to use it professionally.<p>To work in lisp required delivering something indistinguishable from a JAR (or other mainstream proglang executable). He had the realization that without immutable data structures baked into the language he&#x27;d always be subject to Other People&#x27;s State.<p>If you think about these points logically they lead pretty straightforwardly to creating a (pragmatically) functional, dynamic, hosted lisp.
评论 #43881455 未加载
评论 #43882647 未加载
评论 #43880880 未加载
评论 #43880803 未加载
评论 #43882385 未加载
Shoop7 天前
&gt; I suspect this is the real reason Clojure was created, I bet Rich was just really bored.<p>Rich has written about the history and motivation behind Clojure here: <a href="https:&#x2F;&#x2F;dl.acm.org&#x2F;doi&#x2F;pdf&#x2F;10.1145&#x2F;3386321" rel="nofollow">https:&#x2F;&#x2F;dl.acm.org&#x2F;doi&#x2F;pdf&#x2F;10.1145&#x2F;3386321</a>
评论 #43881888 未加载
no_wizard7 天前
My biggest contention with the article is around writing enterprise software<p>I find solving business problems exciting. I didn’t really get into this business to purely write code or <i>only</i> work with novel technologies. I got into to empower others to do things they otherwise wouldn’t, couldn’t, or didn’t think to do.<p>To me, the language I work with is such a small slice of the pie. The problems don’t even have to be novel, I simply like approaching a problem and solving it well, and hearing the feedback about how it helps.
评论 #43882607 未加载
runeblaze7 天前
While I agree with the boredom premise (I was also bored!), the practicality of Clojure was also very important. In fact if I were to deploy something to prod today that is FP, then I either use Scala or Clojure.<p>Fintech benefits from concurrency, immutability and all, so obviously there is much more nuance to &quot;why fintech uses Clojure&quot;.
评论 #43881023 未加载
rednafi7 天前
Relatable. I’ve been writing code for soulless corps for about seven years, and it can get exhausting. Add politics and the endless rat race for promotions, and you have a recipe for making good people either really bored or really unhappy.<p>I need the money to get by, but at the same time, it’s hard to get enthusiastic about writing yet another RPC service or RESTful CRUD. This is partly why ketamine-fueled principal engineers often decide to rearchitect the universe, add Rust to the network layer where it makes no sense, or go ham with SWIG interfaces.<p>A few things that have worked for me: switching stacks. I started in data science, moved to Python&#x2F;Node backends, and then switched to distributed systems and databases using Go. Switching teams and companies can help, though more often you just end up trading one bad culture for another.<p>This is a hard problem to solve, and boredom is real. But the solution isn’t bringing in some funky, untested stuff just for the lolz. Too many teams allow engineers to make the stack look like a mandrill’s face and then suffer the consequences.
phyzome7 天前
Learning new things is great, sure!<p>But why speculate on Rich&#x27;s motivations? He has spoken extensively on the subject. (Hint: It&#x27;s not because he was bored.)
froh7 天前
new languages are created to push the boundaries for manageable essential complexity, by reducing &quot;accidental&quot; complexity.<p>clojure&#x27;s data structures for example enable simpler concurrent work on stupid enterprise data.<p>however.<p>I&#x27;ve seen favorite hot fancy XYZ bit rot in large enterprise code bases. the oh so bored original author long gone. boring architecture documentation missing. business critical underdocumented unmaintainable genius code. and I&#x27;ll kneecap every greenhorn that tries to add such bored kid complexity in my vicinity.<p>get me right: rust and clojure and friends are great tools and you&#x27;ll have my back if and where they are needed and add value. then we&#x27;ll go all in. but no bored kid complexity. go and find yourselves some niche product companies, non enterprise, with hard tricky problems to solve and do genius programming there.
评论 #43882555 未加载
sshkuan7 天前
I suspect this is the real reason you wrote this, I bet you were just really bored.<p>That aside, I got into Clojure because churn everywhere else is exhausting. It&#x27;s pragmatic with interop, you can use with the new shiny thing without leaving your garden or losing your sanity.<p>EDIT: you must have forgotten how bad (mostly) it is everywhere else.
rads7 天前
Such a low quality article. The whole comment thread is just going to be about the flamebait of &quot;I bet Rich was just really bored&quot;. Instead, the author could have listed the reasons they actually &quot;loved it, and by the end I hated it&quot;, which would have led to an interesting discussion.
评论 #43881653 未加载
评论 #43882174 未加载
bryancoxwell7 天前
I’ve watched quite a few of Rich Hickey’s talks and I really do not get the feeling that boredom was a driving factor in his decision to create Clojure
whateveracct7 天前
I found Clojure to be a natural next step after I learned Scheme in my university schooling. The built in data structures blew my mind.
perrygeo7 天前
It turns out Clojure is just a really good programming language, not a panacea. If you have to build soul-sucking software, it still sucks even in a great language. Technical cleverness isn&#x27;t enough to distract you from a bullshit job forever.
frou_dh7 天前
&gt; I suspect this is the real reason Clojure was created, I bet Rich was just really bored.<p>Well he spelled out the motivations in numerous early presentations so I don&#x27;t think he&#x27;d take kindly to the implication they were BS.<p>I remember a funny quote along the lines of, he felt the concurrent software he&#x27;d already written in C++ and Java had required &quot;He-Man&quot; levels of perspiration to actually get correct.
sbjs7 天前
To clarify, I don&#x27;t mean that Rich didn&#x27;t <i>also</i> have extremely good reasons to make Clojure, given he was using Java (and maybe C++) <i>in 2007</i>. They&#x27;re not the best languages now, but they were so broken back then that they practically <i>caused</i> the language revolution that caused Clojure and Go and Node etc to flourish.
fulafel7 天前
Isn&#x27;t the draw of mathematics the same way for lots of math-heads, they aren&#x27;t necessarily interested in how meaningful real-world problems they are solving at the end.<p>Not sure if Clojure is that special here, it&#x27;s probably the same with other appealing programming languages that have cultures distinct from default enterprise PL cultures.
taylorallred7 天前
I connect with this article very deeply. There was a time when I came to a similar conclusion about rust. That is, its requirements for your code become a puzzle in themselves and make the job a little less boring but when the novelty wares off it’s not so fun. Avoiding boredom at work is a lifelong struggle of mine.
inopinatus7 天前
This somehow reminds me of that time Jude Law explained to an interviewer that he is very good looking and therefore had to avoid roles for very good looking people in order to be taken seriously as an actor.
kgwxd7 天前
I believe Clojure was written to write corpo software that is far more complicated that what most corpo devs are writing. It&#x27;s just as boring to write basic CRUD apps in any language.
senderista7 天前
interesting projects &gt;&gt; interesting tools<p>I’d rather work on an interesting technical problem in Java than a boring one in Haskell.
pgt7 天前
I think he&#x27;s right, but it&#x27;s fine. It&#x27;s still progress.
revskill7 天前
Crud is boring ?