## Sources

1. [Grief and the Nonprofessional Programmer](https://www.oreilly.com/radar/grief-and-the-nonprofessional-programmer/)

---

### "Grief and the Nonprofessional Programmer" by Mike Loukides

*   **The author describes himself as a nonprofessional programmer** who writes code both pragmatically, such as using Python to parse large data spreadsheets, and recreationally to explore mathematical concepts like prime numbers and numerical analysis [1, 2].
*   **He strongly resonates with two specific groups of programmers identified in Les Orchard's "Grief and the AI Split"**: those who simply want a computer to execute a task, and those who experience grief over losing the deep satisfaction that comes from writing good code [1].
*   **Using the AI tool Claude Code, the author successfully "vibe coded" complex interactive web animations** for mathematical concepts like Fourier series and Dijkstra’s shortest path algorithm [3, 4]. This gave him the distinct thrill of making a machine successfully follow his commands without having to manage complex orchestration or learn JavaScript [3, 4].
*   **However, relying entirely on AI triggered a profound sense of grief rooted in a lack of understanding** [5]. The author realized that while he had successfully built the applications, his own laziness meant he had entirely bypassed the process of learning and comprehending how the underlying algorithms actually functioned [5, 6].
*   **He highlights a critical difference between the rise of AI coding and the historical shift from assembly to high-level programming languages** [6]. While early high-level languages like Fortran and Lisp actively helped programmers push toward a better understanding of concepts, delegating tasks to AI completely removes the prerequisite of understanding what you are doing [6].
*   **A central argument focuses on the potential long-term threat to human creativity and problem-solving** [7]. The author questions whether the software industry will be able to solve unprecedented new problems if developers delegate the fundamental understanding of historical problems to artificial intelligence [7]. 
*   **He maintains that genuine creativity cannot exist as a blank slate**; rather, it requires a thorough understanding of history and how past problems were solved [7].
*   **While the author acknowledges that creativity might simply be shifting to a higher level of abstraction**, such as writing highly detailed specifications and prompts for AI, he concludes that this new paradigm will not cure the grief felt by developers who love the deep comprehension that manual coding brings [8].