I recently wrote a blog post on a term that Steve Yegge recently coined - chat-oriented programming or CHOP. Curious to see what the community thinks - is CHOP the next revolution in programming? Are you CHOPing day-to-day? Has it improved your workflow?
Hey Ado, this blog post nails it to the point in which direction we as programmers may go.
The CHOP technique described here, is what I used since a long time now and is really helpful and effective. It makes the workflow very productive and time saving.
What I would like to mention in this context, however, is that if the code is poorly documented, the function and variable names are insufficiently named and the architecture (spaghetti, over-engineered) is kept too complex (or the update mechnism of the codebase for the AI Assistant works poorly), then it will also be difficult for an AI assistant to understand the codebase comprehensively. In this case, it is important to compensate for this with specific prompts, adapted to the practices in the codebase, which can still lead to difficulties.
To get around this, I suggest - of course beside good code documentation and meaningful namings - using an approach that is already known but too rarely used: Literate Programming and the Vertical Sliced Architecture ( ). Paired with data-oriented design or structures in which data and functions are separated from each other. Including design- and requirement documentation helps alot too.
Especially in relation to a RAG system combined with knowledge graphs and the corresponding vector embedding strategy to fetch relevant context, we come closer to the goal of semi-automated programming, and further.
Thank you for the insights.