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.

Building a Startup on Clojure

222 pointsby drikerfover 2 years ago

21 comments

lditeover 2 years ago
Ah clojure. It&#x27;s all fun and games until five years down the line, you&#x27;ve had 100% dev churn, and you have a 100kloc codebase that nobody understands, full of functions that don&#x27;t give the slightest hint of the shape of the data they&#x27;re processing (it&#x27;s all lists!) yet down the bottom of the callstack there&#x27;s some function that&#x27;ll explode if the map doesn&#x27;t have whatever magical key it expects.<p>If you&#x27;re really lucky, someone will have thrown in a bunch of &#x27;specs&#x27; that make a bunch of assertions about the data, put them on the API entry points, and then scattered some slightly different specs with slightly more restrictive assertions on various &#x27;internal APIs&#x27;, resulting in random explosions in production!<p>And the joy of working with an esoteric language is that it attracts esoteric developers, who often get frustrated by the requirements of being a software engineer in a large company (i.e. everything that&#x27;s not writing code), which leads to the aforementioned 100% dev churn (after a lot of shouting).
评论 #33089211 未加载
评论 #33086891 未加载
评论 #33087582 未加载
评论 #33087723 未加载
评论 #33086849 未加载
评论 #33090527 未加载
评论 #33086561 未加载
评论 #33136005 未加载
评论 #33087955 未加载
评论 #33090341 未加载
评论 #33089260 未加载
评论 #33091344 未加载
评论 #33091924 未加载
评论 #33087824 未加载
onion2kover 2 years ago
If I was choosing a language to base the tech stack for a startup on these days I&#x27;d be very reluctant to pick anything that didn&#x27;t have a local user group. Slightly more esoteric languages that enable you to write better code faster are brilliant, but if you&#x27;re successful enough to grow quickly, or you can raise funding, you&#x27;ll need to hire devs relatively early on. If you&#x27;ve chosen a stack that&#x27;s <i>too</i> esoteric then this will be a huge blocker to making any real progress.<p>When I did my last startup we switched from a Python API to Node for this reason. Python is a great language but there are <i>no</i> devs available where I live. I can&#x27;t even imagine considering Clojure unless I was in a major tech hub.<p>The move to remote work is probably going to be a <i>massive</i> benefit to building in less mainstream languages.
评论 #33081728 未加载
评论 #33083737 未加载
评论 #33081797 未加载
评论 #33084991 未加载
评论 #33086034 未加载
评论 #33090554 未加载
评论 #33085691 未加载
评论 #33096038 未加载
hypersoarover 2 years ago
For me, the killer feature of Clojure is &quot;REPL driven development&quot;. The ability to get rapid feedback as you build things up is incredible. I&#x27;ll make a comment form and evaluate expressions within it to try things out as I go. By the time I&#x27;ve written any reasonably complex function, all of the pieces have been tested on various examples. Once I&#x27;m done, the comment form leaves a helpful record of my thought process.<p>If you&#x27;re wondering what&#x27;s so great about the Clojure repl (and other lisp repls) in particular, the thing is that you never have to actually type something into it. You can run evaluations from the code file itself. The structure of lisps makes it clear exactly which code you want to evaluate. To do this, I use the excellent CIDER package for emacs. I understand Calva for VS Code and Cursive for IntellJ offer similar functionality.<p>Here&#x27;s a good talk on what this looks like:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gIoadGfm5T8" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gIoadGfm5T8</a>
评论 #33083190 未加载
评论 #33086233 未加载
评论 #33087127 未加载
domparryover 2 years ago
Our experience building a business with Clojure has been amazing. It has helped us to attract extremely strong engineers, and churn has not been a concern in the slightest. We&#x27;ve taught people (from code beginners to experienced engineers) Clojure, and all of them are able to start adding value in a very short space of time. We&#x27;re six years in and there are no signs of increased maintenance difficulty due to the language. We follow the Polylith Architecture (<a href="https:&#x2F;&#x2F;polylith.gitbook.io&#x2F;polylith&#x2F;" rel="nofollow">https:&#x2F;&#x2F;polylith.gitbook.io&#x2F;polylith&#x2F;</a>), which has given us yet another boost in developer happiness, speed of delivery, and ease of maintenance. There are many extremely large Clojure code bases out there (Ladder life, Lemonade, Simply life, Wallmart, Nubank, Atlassian) not suffering from the maintainability issues that some people here have described.<p>After six years, I would absolutely (without hesitation) start another business with Clojure as the core.
jwrover 2 years ago
Having built a business on Clojure: I&#x27;d highly recommend it. Stable, developed in a mature way over many years, with a fantastic and mature community.<p>Together with ClojureScript it&#x27;s one of very few solutions for writing server&#x2F;browser apps with shared code, which enables interesting economies.
评论 #33085100 未加载
评论 #33084580 未加载
invalidOrTakenover 2 years ago
My company (as in &quot;I work there,&quot; not &quot;I own it&quot;) is I think unique in that it started as an Elixir&#x2F;TypeScript shop, things went seriously downhill, they brought in a new engineering team (I&#x27;m on it), we switched to Clojure, and we&#x27;re doing fine.<p>If I were to start a new company I&#x27;d <i>absolutely</i> run it on clojure. Even without frontend&#x2F;backend code reuse, REPL-driven dev---<i>paredit</i> is the killer app for me. It just makes editing text files, which is what we&#x27;re doing if we admit it, so much easier.<p>It&#x27;s a data point.
评论 #33089914 未加载
评论 #33091695 未加载
fredrikholmover 2 years ago
Greenspun&#x27;s tenth rule, adopted for 2022:<p><pre><code> &gt; Any sufficiently complicated TypeScript or Java program contains an ad hoc, &gt; informally-specified, bug-ridden, slow implementation of half of Clojure. </code></pre> Once you grokk the approach and workflow Clojure takes in solving problems, the distance between having an idea and writing a rock solid implementation of that idea is the shortest I&#x27;ve experienced in my ~20 years of programming.<p>If you want to write succinct, transparent code whilst minimizing the future potential of introducing bugs, Clojure is as good as it gets.
评论 #33087685 未加载
评论 #33087909 未加载
ithrowover 2 years ago
Besides being fun for sure because you can use whatever you want for your own stuff I don&#x27;t see what&#x27;s special about clojure here. They are using react (behind a wrapper), IME, clourescript is not worth the hassle. On the server they are using ring&#x2F;compojure which is similar to js&#x2F;express, python&#x2F;flask that can get the job done equally well in this case. The story would be more interesting if they were using something like datomic instead of postgres since datomic is were clojure could differentiate itself.<p>Keep in mind that they have to juggle between almost four different languages, Java, Javascript, Clojure and Clojurescript, almost because there are differences between Clojure and Clojurescript. Instead of for example just using one language: JS.
评论 #33082754 未加载
alflover 2 years ago
Echoing some of the other posters here: Clojure is fantastic, hiring (several) Clojure developers is hard.<p>Conversely, you can also get to the end of your roadmap quickly (Clojure being great) and end up overstaffed.<p>There&#x27;s a different line to walk with languages like Clojure.<p>Source: I walked this line.
评论 #33084948 未加载
评论 #33082801 未加载
ar7hurover 2 years ago
We built Wit.ai on Clojure and it was one of the best decisions we’ve ever made.<p>Most engineers we hired has no prior experience but learned quickly. It gave us a great advantage to hire the best.
beillerover 2 years ago
I worked at a startup that was built on Clojure. It had trouble finding developers for reasonable salaries at the early mid stage. They decided to switch the stack to python at that point. Just an anecdote!
评论 #33082713 未加载
评论 #33082369 未加载
评论 #33085704 未加载
drfuzzy89over 2 years ago
Always great to see more start ups being built on Clojure! For folks interested, this is a great talk on the same subject: <a href="https:&#x2F;&#x2F;youtu.be&#x2F;L9KcoRZcdbc" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;L9KcoRZcdbc</a><p>Full disclojure: I work for the company in the talk, though I&#x27;m not one of the presenters.
评论 #33083302 未加载
marrone12over 2 years ago
One thing to note about coding in Clojure — if you never learned Java, you hit a wall at a certain point. I only know scripting languages and I had fun writing little scripts in clojure, but at a certain point the lack of java knowledge and it&#x27;s class system &#x2F; standard libraries held me back from doing more serious things.
georgeoliverover 2 years ago
It was interesting to me the author seems to use &#x27;old-school&#x27; Clojure, for lack of a better phrase, with lein as the build tool, etc., rather than more recent tools&#x2F;stacks; I don&#x27;t use Clojure myself, is my impression off?
评论 #33085251 未加载
评论 #33087623 未加载
meeritaover 2 years ago
Question for Clojure&#x27;s pros: as a designer I started programming javascript for a long time, now I can do my own APIs on Node easily, would it be hard to do APIs in Clojure? Can you recommend me a video course for learn it?
评论 #33082541 未加载
评论 #33081831 未加载
评论 #33091934 未加载
评论 #33088947 未加载
logistarkover 2 years ago
Well, i have to add having developing in a Clojure shop that starting to develop a new feature with Clojure is easier than Kotlin, you don&#x27;t have to care almost about of the shape of the data. But later, this is a pain, you need a lot of discipline to document because you would look back at this code a who knows what data are you receiving.<p>In addition i have to say, that a lot of libraries are falling into clj-commons because the original developers no longer works on the project, other like compojure, that is mentioned in the blog post last stable release is from 2016 and version 2 is in alpha since then.<p>I am curious why are you using c3p0 on 2022 when hikaricp is being maintained, and last release of c3p0 is from 2019. Also no support for R2DBC.<p>My impression is that in the last 2 years, the ecosystem has shrink, less talks, less new libraries, new libraries that are no longer maintained.<p>Others problems arise is that Clojure lag a bit with compatibility with new Java features, still i think Clojure cannot pass Clojure functions as parameter to Java functions. It results in awkwardly having to reify Java function interface to pass function when using a Java library. No conversion from Java 8 CompletableFuture to clojure async primitives in 2022. And i think they not going to support it in the near future.<p>What i am saying is that Java is in the future, and Clojure is in the past. They just cannot catch with new Java features and i doubt they are going to support it ever. You can still run it on modern jvm because they update the bytecode but that is all.
评论 #33089412 未加载
varioover 2 years ago
What does everybody think here of C#? I&#x27;ve just made foray into it and I like it a lot compared to Python, Java etc. It almost feels like Kotlin, but with certain even cooler properties.
评论 #33089118 未加载
mylonsover 2 years ago
re-iterating what onion2k said, hard pass on building a company around an esoteric language. enjoy attempting to hire people to work on this. best case you get an eager programmer wanting to learn the language. worst case you get zero experienced hires unless you’re a massive success.
评论 #33085489 未加载
评论 #33085524 未加载
评论 #33090018 未加载
ducktectiveover 2 years ago
While we are at it, anyone knows what&#x27;s the Common Lisp story in webdev? Both backend and frontend?
评论 #33088348 未加载
评论 #33084068 未加载
评论 #33085910 未加载
评论 #33088494 未加载
lemperover 2 years ago
some recruiters tried to recruit me a while back. too bad they wanted an experienced clojurist for their client. i mean, it&#x27;s good and all but it&#x27;s too hard to find some corps which use clojure around here where i live.<p>so, yeah. while i&#x27;m excited with lisp, i don&#x27;t think i have the gut to start my own shop with clojure as the main language.
ghufran_syedover 2 years ago
fyi @drikerf, newsletter signup is not working, the error says “magic link failed to send”
评论 #33082473 未加载