This is not surprising and perhaps one of the things I respect about it. Zig is pretty minimalist and I would prefer denying my pet features over becoming design by committee.
I'm a bit curious, what features could you not do without?
I think of Emacs as more of a lisp machine than text editor. I'm also not sure what an IDE has over Emacs. I have autocomplete, compiler checks, and run tests all within Emacs.
For general automation, my blog is built with Emacs Lisp.
haha, I definitely wouldn't call my setup fast. But it did get a lot better after Native Compilation and a lot of the major stuff has started async to feel more responsive at least.
In March I switched to Opencode + Kimi K2.5 and found it was a step behind. I switched to GLM 5.1 and has felt like a step above. Its probably some combination of me forgetting the baseline, model improvements, and OpenCode improvements.
$20 a month has been good enough for my coding use cases. I wouldn't call myself a vibe coder. Stuff I do is create graphs/visualizations, review, polish code, generate toy examples for learning.
I started writing a Scheme interpreter about a year ago and got pretty far. I dropped it a few months back since I got a new job.
I'm thinking of getting back and am wondering if the niche (and difficult for me to implement) features are worth it. I might be better off skipping dynamic-unwind, maybe even ripping out call/cc, in favor working on the debugability, ecosystem, performance, and package management story.
Try it if you want full control over every memory and IO operation and "drop". If you hit "goto-definition", you eventually get to see the OS switch statements and syscalls. There's not much magic.
Do not try it if you are scared of memory management and memory leaks.
When I joined in 2016, it CitC would make it look (and still does) like you had the entire monorepo on your local filesystem on your machine.
Git5 would copy some directories but builds would still fallback to files from the monorepo if you didn't track them. It was convenient for me since I could just grep and do fuzzy matching from my editor. Now I have to do some extra work to avoid grepping the entire monorepo. LLMs sometimes still try to grep the entire repo lol.
Now, you could use a perforace, mercurial, or jj interface and it works fine.