Why do expert programmers choose such vastly different languages for their daily work?
When asked to name their favorite programming language, computer scientists and engineers rarely agree. From the low-level precision of 6502 Assembler to the high-level abstraction of Haskell or Python, the diversity of choices reflects the unique problems each expert solves and the specific environments in which they operate daily.
The preference for a programming language is rarely about which tool is objectively best, but rather which tool fits the specific mental model and technical requirements of the user. For instance, Professor Graham Hutton favors Haskell, a language known for its strong functional programming paradigm, while others like Professor Brian Kernighan balance their work across C, AWK, and Python. This mix highlights how seasoned professionals often maintain a toolkit of languages rather than relying on a single solution for every challenge.
The list of favorites also reveals a divide between hardware-centric and software-centric approaches. Experts like Dr. Steve Bagley and Matt Phillips express a preference for low-level languages such as 6502 and 68000 Assembler, which allow for direct interaction with processor architecture. In contrast, those focused on web development or data analysis, such as Sarah Spencer, Rebecca Tickle, and Dr. Max Wilson, gravitate toward JavaScript. This divergence underscores that the 'best' language is entirely dependent on whether one is optimizing for machine efficiency or development velocity.
Furthermore, the inclusion of specialized tools like LabView, favored by Professor Phil Moriarty, or Exim, used by Professor Ross Anderson, demonstrates that programming languages are often domain-specific. Whether it is the mathematical utility of Matlab, chosen by Aaron Jackson and Adrian Marinescu, or the historical influence of C, preferred by Professor David Brailsford and Matt Lloyd, these choices are rooted in the practical realities of academic and industrial research. Ultimately, the variety of languages reflects the vast, fragmented landscape of modern computing.
The survey conducted by Computerphile over the past year serves as a snapshot of these professional preferences. By gathering insights from a wide range of experts, the project illustrates that there is no consensus on a single 'favorite.' Instead, the community thrives on a plurality of languages, each serving as a specialized instrument for different types of technical creation and problem-solving.
Source: What's your Favourite Programming Language? (sound check Q) - Computerphile