Real programmers use butterflies

Cezary Bartoszuk

A classic topic, yet last week I experienced an epiphany. As a programmer, you may have encountered a new tool that alleviates some of your workload. For instance, transitioning from C++ with manual memory management to Java, utilizing a garbage collector. Or using a keyboard shortcut in Java to generate equals and hashCode methods instead of writing them manually.

Admittedly, I was initially resistant to these changes, arguing that manual memory management offers better performance or that my handcrafted Java methods are more readable. While partially true, these arguments miss the bigger picture. Though garbage collection may not be optimal for certain applications, it's suitable for most and increases programming efficiency. Similarly, IDE-generated Java methods may lack elegance but are accurate, efficient, and require minimal effort. After all, few people will marvel at a meticulously crafted equals method. Undiscovered art, no matter how beautiful, cannot realize its full potential.

Essentially, I clung to old methods within my comfort zone instead of embracing more efficient approaches. My arguments for traditional methods weren't well-reasoned judgments, but rather reflections of my reluctance to change. Spending five minutes handcrafting Java methods when a keystroke achieves the same result is like doing a crossword while working—merely feigning productivity.

Recently, I began using Cody, an LLM-based coding assistant leveraging Sourcegraph code intelligence. Though initially challenging, after a few days, Cody was writing, explaining, testing, and documenting code for me, boosting my efficiency. I could delegate tasks, allowing more time for design, critical thinking, learning, and communication.

For those who think real programmers don't use coding assistants, recall the old adage: real programmers use butterflies.

Get Cody, the AI coding assistant

Cody makes it easy to write, fix, and maintain code.