From marketing perspective it is not good to emphasize on we are doing hand written code because of being skeptic to the AI, none technical customer wants to ship their product fast & thinks AI would help them. You can make leverage from this : AI creates short term term efficiency by sacrificing long term productivity & producing not a maintainable code! You should emphasize that hand written productivity is higher in the long-term
everything aside, I want to hear more about your decision to adhere to the nostalgic way of developing. What advantages does the method have over using AI wherever you can?
One thing worth mentioning, having more automation is not equal to more productivity. Long ago general motor managers visited Toyota production line. What was interesting for them was Toyota uses less automation than general motors but having much higher productivity. Productivity in case of delivering the product does not related to: 1. Amount of automation using by AI 2. Level of hardworking of the team It is more related to initial design decisions, if wrong or inefficient path is choose no matter how much automation you get or how much hardworking you are, overall productivity became low. And AI is not very good decision maker on this kinds of stuffs.
I think this is really where it connects to Clojure. Clojure is good because it's so well thought out, and everything anyone ever builds on top of it benefits from that work. I don't think you can get that from an LLM. It was the hammock time that provides the enduring value now. I think you can make an argument for LLMs for code that's not high value -- stuff that won't have other code built on top of it, or that won't require a lot of work to maintain over the long run. But it's better to have highly skilled people write code that's going to see a lot of reuse.
Reminds me of this quote from the father of FORTRAN > many programmers of the freewheeling 1950s began to regard themselves as members of a priesthood guarding skills and mysteries far too complex for ordinary mortals (...) This attitude cooled the impetus for sophisticated programming aids. The priesthood wanted and got simple mechanical aids for the clerical drudgery which burdened them, but they regarded with hostility and derision more ambitious plans to make programming accessible to a larger population
I can't answer for @asier.galdos, but for to me leaving a livable environment for my descendants is a big compelling advantage. To some of us, money is not the only factor to consider.
@tlonist.sang the big one for me is I find constraints lead to better architecture, design and products. More features is rarely better, often they destract from your core offering. Of course if you need performative productivity for your VCs then agentic coding at the current price point is quite effective.
so far I've had one PR that was very obviously AI, they had used it to find places to improve the performance of the emacs-lisp parseedn package. It included a whole generated benchmarking harness with lots of generated markdown... lots of changes all over the place. I told them I could not accept that, it did not seem like something I wanted to spend my time reviewing, and added a lot of bulk to the project for no obvious gain. Instead they made a PR with just a few lines changed that still got them most of the perf improvements.
I did merge that one.
@tlonist.sang the decision is mainly based on the negative things we want to avoid from AI: financial, technical and cognitive debt. In short, we cannot afford having a business dependent on a third-party. We truly believe in Clojure's value proposition: precise data-oriented tools you can reason about easily. Strong small teams doing ambitious projects. Lindy effect: past code works now, and today’s code should work 10 years from now. Also, our projects are complex and we cannot afford having 10% of errors. Gen AI has no barrier to entry. Being late won’t matter at all. The things that the guys in the other thread are talking about are not rocket science. We can jump on the bandwagon anytime. Developer happiness is also important. Fixing AI code is not fun. It can give you short dopamine hits, but it’s not fun at all. It rots your brain. Being fast is also overrated. Market indifference is the main competitor, so you need to carefully think what to build. Thinking about what to build is the crucial part. Building things with Clojure is joyful (and productive) and having conversations with humans is also nicer than talking to robots. If you play the money game, AI won’t help you, unless you work for a well funded Agentic workflow infra or frontier LLM models startups. The rest are servants. If you play the status game, the days of “look at my prompts” are over. Smart people hate AI, especially smart women. And if you play the wealth game, well, it’s a subjective matter, but for us AI simply does not work for the reasons I explained above and also philosophical reasons as well.
I've always found programming to be fun. So for most of my career, work has been fun for me. This is a great privilege I believe I share with most of the folks here. Coding, solving problems, designing, abstraction, everything has always felt like playing a strategy games (and I love playing strategy games).
But the more I use llms, the more I realise that it's no longer the same kind of fun. Continuing the analogy of playing games, it's like commanding someone else to play the strategy game for me. It only makes sense if the goal was to finish the game, but that isn't the reason to play games. The process of playing itself is where the fun is.
That said, playing with llm harness has been a lot of fun (I'm building my own from scratch and also trying out pi atm). It's also been a lot of fun to be hyper-focused on the end product and get my job done faster. But somewhere in using these tools I've lost the joy of programming, a certain kind of feeling when I would get lost in navigating the problem space of complex systems all in my head. The overall process is less fun for me now.
I'm not sure how I feel about this long term, but for now I'm making some time to do recreational game programming in Godot and it's been a breath of fresh air!
I have the luxury of developing in Clojure only as a hobby. I've no need to be ultra-productive, or even productive. I enjoy thinking and coding. For that reason, any kind of vibe-coding is completely uninteresting to me. I really dislike that LLMs are fed with stolen works. And the amounts of energy they use. And the effect they have on RAM and hardware prices. And that they are teaching folks not to think. And the slop content that people generate with them. But I do use them in chat mode. Somewhat the way I used to use Google. And sometimes to explore an idea. I dislike that they are sycophantic and confidently incorrect. I might explore using them to verify my work more. I dunno. I recently submitted a documentation change to a project, and the author used an LLM to find some errors. Even though I had quadruple-checked my work, I had made a few typos and got a few example code blocks wrong. And it found my mistakes. I was impressed with that result.
Rich Hickey said that “Clojure is enabling creative people to pursue their vision without getting distracted by a bunch of complexity”. This can be achieved in both personal and professional lives. LLMs are computationally very impressive, dumb but impressive. Very useful to find edge cases and useful for search too.
@plexus Do you think the simple PR was also AI-generated? Or do you think they manually created it, based on some of the AI-suggested code changes?
I think they manually created it, they said so in the description
I think this comment also fits into here. https://clojurians.slack.com/archives/C068E9L5M2Q/p1782256802394399?thread_ts=1782244358.455579&cid=C068E9L5M2Q
Just want to kindly warn that “at all cost” might be harmful, it sounds more emotional, less skeptical. Having a deep reflection, then choosing own way mindfully doesn't need the strong wording.
@asier.galdos What do you make of the view that AI has simply elevated developers from tinkerers to managers of tinkerers? From management's perspective, there is little difference between work being outsourced to humans and work being outsourced to AI.