CHOP, chat-oriented programming

Alberto BasaloAlberto Basalo
4 min read

In the last months, AI has revolutionized the way we develop software. One of the emerging trends is Chat-Oriented Programming (chats, but not the coffee machine ones).

Conversations with our virtual assistant, Chat-Oriented Programming, or CHOP for the friends, is a collaborative coding approach, of mutual refinement, with an evolutionary mindset. That's what distinguishes it from prompt-engineering that seeks the ideal result at the first try, usually something trivial, with many tickets for disappointment.

Let's talk about CHOP as if you were a digital logger. We're not cutting down trees, but we're cutting big problems into manageable pieces. And as a good logger, you need a sharp tool: a good AI assistant that helps you attack each trunk… I mean, task with precision and effectiveness.

In this article I show you the fundamentals of CHOP, its benefits and challenges, and how to integrate it into your workflow. The idea is that you make better code more efficiently. The workload distribution is already a matter of talking to your assistant.

What is Chat-Oriented Programming?

Disclaimer: CHOP is an acronym coined by Steve Yegge in his blog post: the-death-of-the-junior-developer.

CHOP is a development paradigm in which programmers interact with AI assistants to:

  • Design software architectures.
  • Write efficient and well-documented code.
  • Debug errors and optimize performance.
  • Learn new technologies and patterns.

This approach turns the programming process into an iterative dialogue, where the developer and the AI work as a collaborative team.

Benefits of CHOP

  1. Increased productivity: By automating repetitive tasks and receiving real-time suggestions, you can focus on more creative and complex aspects.
  2. Error reduction: The AI detects common errors, suggests solutions and generates tests automatically. All to make your code more robust.
  3. Continuous learning: CHOP fosters knowledge acquisition by providing detailed explanations and examples.
  4. Better documentation: Collaboration with a language model allows the generation of clear and consistent documentation. The typical thing you leave for later, you do it now.
  5. More business, less bureaucracy: Project managers or product owners can get their hands dirty with programming. The assistant will help them implement corrections or small improvements without having to return the brown to the programmer.

CHOP Challenges

Although this CHOP thing offers many benefits, it also presents certain challenges:

  1. Excessive dependency: It's crucial to avoid completely trusting the AI without critical review.
  2. Privacy and security: Interacting with AI tools in the cloud may involve confidentiality risks.
  3. Limitations of the models: The current models, despite their evolution, still generate incorrect or sub-optimal code in complex contexts. That's why you can't leave them alone, and you must talk to them.
  4. Loss of prominence for junior developers: Many of the routine tasks assigned to less experienced developers, such as writing basic code or initial documentation, can be performed efficiently by an AI assistant, which could limit their learning and growth opportunities. If you're senior, everything is fine, but if you're junior, you must work hard to do things that are not trivial.

Good Practices in CHOP

In any case, these distilled good practices from the AIDD (AI-Driven Development) methodology will help you make CHOP more efficient:

  1. Keep control: Use the AI suggestions as a starting point, but review and adapt the generated code.
  2. Divide and conquer: Pose problems specifically instead of requesting generic solutions.
  3. Encourage documentation: Ask for explanations and comments while creating the code.
  4. Evaluate quality: Implement unit tests and code reviews to ensure robustness.
  5. Keep a conversation history: If you have a problem, you can go back to it and ask the assistant. The commit should include your conversation with the assistant.

Future of CHOP

All this, CHOP and the rest of IA, is constantly evolving. With advances in language models and development tools every week, it's likely that this trend will redefine how developers create software. Your job won't be the same in a year.

Conclusion

Chat-Oriented Programming is much more than a trend; it's a revolution in how we interact with machines to solve problems. Adopting this approach can take your programming skills to the next level and prepare you for a future where collaboration with AI is the standard. And above all, remember:

Code smarter, not harder.

0
Subscribe to my newsletter

Read articles from Alberto Basalo directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Alberto Basalo
Alberto Basalo

I am a full-stack developer with over 25 years of experience. I can help you with: Angular and Nest architecture. Testing with Cypress. Cleaning your code. AI Drive Development.