Why care about programming languages by Eduardo Bellani

In the age of AI-assisted coding, it’s easy to feel that deep knowledge of programming languages has become obsolete. Why spend years mastering language intricacies when an AI can generate code in any language on demand? I recently encountered this sentiment in a question from a fellow developer:

I feel like caring about programming languages and stuff is actually very useless. … Am I being too extreme?

I understand the concern, but I believe it misses something fundamental: a programming language’s worth is derived from the ideas it embodies, not merely its syntax or tooling. These ideas—concepts about how to structure thought, manage complexity, and solve problems—remain essential regardless of who or what writes the code.

Here is my sample list of deep ideas from programming languages:

Each of these concepts represents a different way of thinking about computation. Learning them expands your mental toolkit for solving problems. When you understand the borrow checker, you think differently about resource management everywhere. When you grasp algebraic data types, you model domains more precisely. When you internalize first-class functions, you see abstraction opportunities others miss.

These ideas transcend any particular language or tool. They are the conceptual foundation that lets you evaluate AI-generated code, choose appropriate abstractions, and architect systems that remain maintainable as they grow. In the AI age, understanding these concepts becomes more important, not less—they are what separate those who merely prompt from those who truly engineer.

Figure 1: A man praying in a ruined Catholic church in La Vang, a town south of Quang Tri City, Vietnam on July 6, 1972

Figure 1: A man praying in a ruined Catholic church in La Vang, a town south of Quang Tri City, Vietnam on July 6, 1972