{
  "id": 11320773,
  "title": "We Should be Able to Change our Languages",
  "url": "https://urgent.news/2026/10/01/we-should-be-able-to-change-our-languages",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-01T18:55:58.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://jimmyhmiller.com/change-our-languages"
  },
  "original_language": "en",
  "account": "It is widely believed that programming languages are fixed and unchangeable. These languages are created by committees or individuals with expertise, and their structures are considered sacred. The notion of modifying a programming language to suit personal needs is considered drastic and should be avoided. However, in a world where software has become increasingly adaptable, programming languages are resisting such changes. Developers build intricate build systems and establish complex conventions to achieve the desired language semantics. They also reuse existing language constructs and assign them new meanings. Committees are formed to advocate for changes to languages, often resulting in discussions that seem trivial. The ability to customize languages is not new, but it has been met with resistance for decades. Some people avoid languages that offer this functionality, while others ban them altogether. The primary reason for this opposition is the fear that altered programming languages will hinder comprehension and readability. Raymond Chen, in his 2005 blog post \"A rant against flow control macros,\" explains that when you create a flow-control macro, you're modifying the language. This can make debugging more challenging as the semantics expected of the code are obscured. Chen argues that these macros can only be understood by their creators, leading to confusion for others who are required to work with the code. While many agree with Chen's concerns, others have suggested that well-designed macros come with proper documentation, making them easier to understand even for those unfamiliar with the language. However, this practice is not widespread. Other arguments in favor of language customization exist, but they all seem to lead back to the same issue. Reading code filled with macros can be confusing, as it introduces an entirely new programming language that developers seldom learn. This complexity can make code harder to comprehend, especially when dealing with numerous macro instances. Despite the arguments against macros, the author believes that the current state of programming technology has changed. With the advent of machine learning (LLMs), developers no longer need to rely on local experts, Stack Overflow, or extensive documentation to understand complex code. Instead, they can utilize LLMs to gain insights into the code in ways that suit their learning style. For instance, they may use visualizations, demonstrations, or increasingly specific queries to clarify the code. The author presents an example of code that initially seemed difficult to understand but became clear with two questions to an LLM. This experience highlights the ease with which modern technologies can simplify code comprehension, rendering the previous concerns about macros less relevant.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}