6 ms·
I'm sort of surprised to see that you used Claude Code so much. I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Softwar
by losvedir 11mo ago
I'm sort of surprised to see that you used Claude Code so much. I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc. And I know Bun started with an extreme attention to detail around performance.
I would have thought LLM-generated code would run a bit counter to both of those. I had sort of carved the world into "vibe coders" who care about the eventual product but don't care so much about the "craft" of code, and people who get joy out of the actual process of coding and designing beautiful abstractions and data structures and all that, which I didn't really think worked with LLM code.
But I guess not, and this definitely causes me to update my understanding of what LLM-generated code can look like (in my day to day, I mostly see what I would consider as not very good code when it comes from an LLM).
Would you say your usage of Claude Code was more "around the edges", doing things like writing tests and documentation and such? Or did it actually help in real, crunchy problems in the depths of low level Zig code?
- vector_spaces 11mo agoI am not your target with this question (I don't write Zig) but there is a spectrum of LLM usage for coding. It is possible to use LLMs extensively but almost never ship LLM generated code, except for tiny trivial functions. One can use them for ideation, quick research, or prototypes/starting places, and then build on that. That is how I use them, anyway Culturally I see pure vibe coders as intersecting more with entrepreneurfluencer types who are non-technical but trying to extend their capabilities. Most technical folks I know are fairly disillusioned with pure vibe coding, but that's my corner of the world, YMMV
- dijit 11mo agofwiw, copilots licence only explicitly permits using its suggestions the way you say. putting everyone using the generated outputs into a sort of unofficial grey market: even when using first-party tools. Which is weird.
- lupire 11mo agoCan you link to more info about this?
- theshrike79 11mo agoMight be related to the fact that AI generated content has no copyright by law. Nobody knows WHO has the copyright but it's been decided in courts that AI definitely doesn't own it.
- deleted 11mo ago[deleted]
- adventured 11mo agoI'll give you a basic example where it saved me a ton of time to vibe code instead of doing it myself, and I believe it would hold true for anyone. Creating ~50 different types of calculators in JavaScript. Gemini can bang out in seconds what would take me far longer (and it's reasonable at basic tailwind style front-end design to boot). A large amount of work smashed down to a couple of days of cumulative instruction + testing in my spare time. It takes far long to think of how I want something to function in this example than it does for Gemini to successfully produce it. This is a use case scenario where something like Gemini 3 is exceptionally capable, and far exceeds the capability requirements needed to produce a decent outcome. Do I want my next operating system vibe coded by Gemini 3? Of course not. Can it knock out front-end JavaScript tasks trivially? Yes, and far faster than any human could ever do it. Classic situation of using a tool for things it's particularly well suited. Here's another one. An SM-24 Geophone + Raspberry PI 5 + ADC board. Hey Gemini / GPT, I need to build bin files from the raw voltage figures + timestamps, then using flask I need a web viewer + conversion on the geophone velocity figures for displacement and acceleration. Properly instructed, they'll create a highly functional version of that with some adjustments/iteration in 15-30 minutes. I basically had them recreate REW RTA mode for my geophone velocity data, and there's no way a person could do it nearly as fast. It requires some checking and iteration, and that's assumed in the comparison.
- ohyoutravel 11mo agoYeah I had OpenAI crank out 100 different fizzbuzz implementations in a dozen seconds—-and many of them worked! No chance a developer would have done it that fast, and for anyone who needs to crank out fizzbuzz implementations at scale this is the tool to beat. The haters don’t know what they’re talking about.
- Aurornis 11mo ago> Culturally I see pure vibe coders as intersecting more with entrepreneurfluencer types who are non-technical but trying to extend their capabilities. Most technical folks I know are fairly disillusioned with pure vibe coding, but that's my corner of the world, YMMV Anyone who has spent time working with LLMs knows that the LinkedIn-style vibecoding where someone writes prompts and hits enter until they ship an app doesn't work. I've had some fun trying to coax different LLMs into writing usable small throwaway apps. It's hilarious in a way to the contrast between what an experienced developer sees coming out of LLMs and what the LinkedIn and Twitter influencers are saying. If you know what you're doing and you have enough patience you really can get an LLM to do a lot of the things you want, but it can require a lot of handholding, rejecting bad ideas, and reviewing. In my experience, the people pushing "vibecoding" content are influencers trying to ride the trend. They use the trend to gain more followers, sell courses, get the attention of a class of investors desperate to deploy cash, and other groups who want to believe vibecoding is magic. I also consider them a vocal minority, because I don't think they represent the majority of LLM users.
- theshrike79 11mo agoWorking with Agentic LLMs is exactly the same skillset as directing junior programmers or offshore consultants. You get a feel for how much direction they need after working for a while and tooling and accessible documentation is really important for quality. Then you give them a task and review the results. In (backend/systems) programming it's pretty binary whether a solution works or not, it's not a matter of taste but something you can just validate with hard data. I've done so many tiny/small/medium sized utilities for myself in the last year it's crazy[0]. A good bunch of them are 95-100% vibecoded, meaning I was just the "project manager" instructing what features I want and letting the agent(s) make it work. I think I have a pretty good feel for the main agentic systems and what they can do in the context of what I do so I know what to tell them and how - each has its own distinct way of working and using the wrong one for the wrong job is either stupid, frustrating or just a waste of time. [0] https://indieweb.org/make_what_you_need https://indieweb.org/make_what_you_need
- abnercoimbre 11mo agoHandmade Cities founder here. We never associated with Bun other than extending an invitation to rent a job booth at a conference: this was years ago when I had a Twitter account, so it's fair if Jarred doesn't remember. If Handmade Cities had the opportunity to collaborate with Bun today, we would not take it, even prior to this acquisition. HMC wants to level up systems while remaining performant, snappy and buttery smooth. Notable examples include File Pilot [0] or my own Terminal Click (still early days) [1], both coming from bootstrapped indie devs. I'll finish with a quote from a blog post [2]: > Serious Handmade projects, like my own Terminal Click, don’t gain from AI. It does help at the margins: I’ve delegated website work since last year, and I enjoy seamless CI/CD for my builds. This is meaningful. However, it fails at novel problems and isn’t practical for my systems programming work. All that said, I congratulate Bun even as we disagree on philosophy. I imagine it's no small feat getting acquired! [0] https://filepilot.tech https://filepilot.tech [1] https://terminal.click https://terminal.click [2] https://handmadecities.com/news/summer-update-2025/ https://handmadecities.com/news/summer-update-2025/
- nimchimpsky 11mo agoback in my day we used to write code on punch cards.
- kopochameleon 11mo agoFinding this comment interesting, parent comment didn't suggest any past association but it seemingly uses project reference as pivot point to do various outgroup counter signaling / neg bun?
- abnercoimbre 11mo agoI understand the concern, but really? I found this quote enough to offer proper comments: > had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types Folks at Bun are "Zig people" for obvious reasons, and a link was made with Handmade software. This happened multiple times before with Bun specifically, so my response is not a "pivot" of any kind. I've highlighted and constrasted our differences to prevent further associations inside a viral HN thread. That's not unreasonable. I also explicitly congratulated them for the acquisition.
- Aurornis 11mo ago> I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc. In my experience, the extreme anti-LLM people and extreme pro-vibecoding people are a vocal online minority. If you get away from the internet yelling match, the typical use case for LLMs is in the middle. Experienced developers use them for some small tasks and also write their own code. They know when to switch between modes and how to make the most of LLMs without deferring completely to their output. Most of all: They don't go around yelling about their LLM use (or anti-use) because they're not interesting in the online LLM wars. They just want to build things with the tools available.
- hiduck 11mo agomore people should have such a healthy approach not only to llms but to life in general. Same reason I partake less and less in online discourse: its so tribal and filled with anger that its just not worth it to contribute anymore. Learning how to be in the middle did wonders to me as a programmer and I think as a person as well.
- throwaway-0001 11mo agoPersonally I hate this “in the middle” as it’s so relative you can shape to fit your narrative. For example: what’s in the middle for programming? For me 0 is writing 0 and 1. For others 0 is making the nand ports. And 100 is ai llm vibe. So 50/middle would be what exactly? It all depends. Same for anything really. Some people I know keep saying not 8 not 80 to mean the middle. Like what’s in the middle for amount of coding per day? 12 h? 8h? 2h? What’s middle for making money? 50k, 500k, 500m? What’s the middle for taking cyanide ? 1g? 1kg? What about water? What about food? What about anything? As you can see, it’s all relative and whomever says it, is trying to push his narrative as “middle” aka correct, while who does more or less is “wrong”.
- hiduck 11mo agoI think both me, and person before me, were commenting more about the fact that taking reserved approach is just healthier and prevents "shitstorms" in discussions that are non existent in current internet landscape. Without offending you, but creating a straw man scenario about how much cyanide one can take and getting angry at it is exactly what I had in mind; I just code, I want to code, sometimes use llm or stack overflow or ask another person for advice about code. The approach in the middle is not taking to the extremes, and making use of any available tools to do our work/hobby and just live life and not be a target of hate (I received hateful messages and even one death threat over a comment where I said that I asked Claude to explain some concept in Zig). I could go and say that "in the middle" is more of a metaphor to just being reserved about stuff but I would be probably called out for "moving goal posts" and "backtracking on own comment". Sorry if something is written weirdly, English is not my first language, I'm open to talk more tho.
- LexiMax 11mo ago> I had a vague idea that "Zig people" were generally "Software You Can Love" or "Handmade Software Movement" types, about small programs, exquisitely hand-written, etc, etc. I feel like an important step for a language is when people outside of the mainline language culture start using it in anger. In that respect, Zig has very much "made it." That said, if I were to put on my cynical hat, I do wonder how much of that Anthropic money will be donated to the Zig Software Foundation itself. After all, throwing money at maintaining and promoting the language that powers a critical part of their infrastructure seems like a mutually beneficial arrangement.
- weird-eye-issue 11mo ago"exquisitely hand-written" This sounds so cringe. We are talking about computer code here lol
- mock-possum 11mo agoBespoke handcrafted ethically sourced all natural cruelty free source code
- dgroshev 11mo agoI'm not sure about exquisite and small. Bun genuinely made me doubt my understanding of what good software engineering is. Just take a look at their code, here are a few examples: - this hand-rolled JS parser of 24k dense, memory-unsafe lines: https://github.com/oven-sh/bun/blob/c42539b0bf5c067e3d08564640b410b008a5797e/src/js_parser.zig https://github.com/oven-sh/bun/blob/c42539b0bf5c067e3d085646... (this is a version from quite a while ago to exclude LLM impact) - hand-rolled re-implementation of S3 directory listing that includes "parsing" XML via hard-coded substrings https://github.com/oven-sh/bun/blob/main/src/s3/list_objects.zig https://github.com/oven-sh/bun/blob/main/src/s3/list_objects... - MIME parsing https://github.com/oven-sh/bun/blob/main/src/http/MimeType.zig https://github.com/oven-sh/bun/blob/main/src/http/MimeType.z... It goes completely contrary to a lot of what I think is good software engineering. There is very little reuse, everything is ad-hoc, NIH-heavy, verbose, seemingly fragile (there's a lot of memory manipulation interwoven with business logic!), with relatively few tests or assurances. And yet it works on many levels: as a piece of software, as a project, as a business. Therefore, how can it be anything but good engineering? It fulfils its purpose. I can also see why it's a very good fit for LLM-heavy workflows.
- smj-edison 11mo agoI can't speak as much about the last two examples, but writing a giant parser file is pretty common in Zig from what I've seen. Here's Zig's own parser, for example[1]. I'm also not sure what you mean by memory unsafe, since all slices have bounds checks. It also looks like this uses an arena allocator, so lifetime tracking is pretty simple (dump everything onto the allocator, and copy over the result at the end). Granted, I could be misunderstanding the code, but that's the read I get of it. [1] https://codeberg.org/ziglang/zig/src/commit/be9649f4ea5a32fdb5b5ce6488a6ae7d30f3acb0/lib/std/zig/Parse.zig https://codeberg.org/ziglang/zig/src/commit/be9649f4ea5a32fd...
- AndyKelley 11mo agoIt used to be arena-allocated but now it's using a different technique which I outlined in this talk: https://vimeo.com/649009599 https://vimeo.com/649009599
- dgellow 11mo agoI love zig, in my experience claude code is extremely good with the language if you invest lots of time on design sessions, to the point where I spend >90% of my time only discussing design with claude. The fact it has easy access to sources of the whole stdlib by just downloading the zig tarball makes it really simple to have a feedback loop where it implement most of the boilerplate on its own. The quality of AI code is really something that can be well controlled with clear guidelines, strict reviews, comprehensive design sessions, and a great test infrastructure
- thatSteveFan 11mo agoI interviewed for the Bun guys and totally flopped because I was not prepared for the interview format. It was "here's a task, do whatever you need to including AI to get it done". From that, I'd infer that the usage is pretty substantial.