I eventually did end up getting Jimtcl to be multithread-safe, but it ended up being slower than the naive approach of serializing and deserializing between threads. I've been seriously nerd-sniped since, and have slowly been building my own thread safe interpreter, but I still have to cross check with Jimtcl constantly.
I wonder if you considered WAL-G, which is also written in Go
and has this: https://github.com/wal-g/wal-g/blob/master/docs/PostgreSQL.m...
Given all the corner cases he describes, it seems like a good example of something you would never ever want to vibe code.
I would absolutely still bring a coding agent with me for a project like this, but I would be in the mindset of “I need to understand and be familiar with every line” rather than say, every function signature or every service behaviour.
So it is almost like vibe coding but the abstraction level is lower?
The question I’ve been asking myself recently is, if the act of thinking about the code from scratch is somehow more good than the potential benefit of being able to let that mechanical part be handled by something else, be it another human or an agent.
To be specific I’m referring to a prompt like “next, add a for loop which iterates over the elements in the array and enumerate an index, then call our function $func by reference for each element.” “Is there a more idiomatic way of doing this in $lang?” etc.
This has the advantage to me of letting me code in languages who’s syntax I don’t know or have forgotten, but I’m not sure whether this is trading some sort of short term gain for long term cost yet.
When you're fluent in a programming language it's quicker to just type that directly in said programming language...
Instead you're training yourself to be able to say this stuff in English which will never be as powerful.