Unpopular Developer Opinions: From Proportional Fonts to AI Skepticism and the Rust Debate

A lively discussion unfolded as developers shared their most unpopular opinions, revealing a diverse range of perspectives on tools, practices, and the tech industry itself. These contrarian viewpoints often challenge conventional wisdom and spark thoughtful debate.

Contentious Takes on Tools and Technologies

Several popular tools and languages came under fire, while others were defended:

  • Programming Fonts: One developer championed a custom proportional font with added left padding for uppercase letters in camel-case, claiming it improves readability. They shared their VerdanaCamel font on GitHub. Reactions were mixed: some found it surprisingly effective after trying, while others found the spacing distracting or worried about mistaking padding for actual spaces. The main drawback cited was issues with tabular alignment.
  • Rust: Opinions on Rust were sharply divided. One commenter called its developer experience "horrendous," while another lauded its robust build system and strong typing, claiming it leads to fewer bugs. A third perspective suggested Rust has the best ergonomics among high-performance, non-GC languages.
  • AI/LLMs in Coding: Skepticism abounded regarding AI's current coding capabilities. Some argued it's "utterly dreadful" and doesn't offer real productivity gains, requiring more effort to prompt than to code directly. Others suggested AI can be a useful tool if engineers stop expecting it to write or design code wholesale, and instead use it to enhance their own work.
  • TypeScript: Its value was questioned, with one developer stating it's "too much work for not enough reward." Others see it as essential for large team projects or appreciate its code completion, though some feel it's a good idea hampered by JavaScript's underlying nature.
  • Bash vs. Perl: The opinion that Bash is the "most useful programming language" was countered by the argument that Perl can do everything Bash does, but better, faster, and more readably.
  • Unicode: A strong stance was taken against the insistence on Unicode in programming languages, with the argument that it can be more harmful than GOTO statements due to its impact on APIs.

The "Software Engineer" Title and Professionalism

The use of the title "Software Engineer" sparked a recurring debate. Some argued strongly that the title should be reserved for those licensed by a professional engineering board, citing legal restrictions in some jurisdictions. Others contended that "software engineer" denotes a mindset of rigor and precision, or that job titles are dictated by employers and international norms vary. This ties into broader discussions about professionalism in software development, with some lamenting a perceived lack of engineering discipline and a call for formal risk management tools like FMEA.

Coding Practices and Philosophies

Several unconventional coding practices and philosophies were put forth:

  • Naming Conventions: The importance of good naming (and renaming) was highlighted as being as crucial as writing tests.
  • Code Rewrites: An opinion was voiced that code should be rewritten every four years, as rewrites are generally worth it.
  • Font Size and Line Length: One developer uses a very large font size (22-24pt) and an 80-character line limit for better vertical readability and to reduce eye strain, though another shared an anecdote suggesting very large fonts could paradoxically be detrimental.
  • Premature Optimization: Contrary to popular wisdom, it was suggested that premature optimizations are often fine, with a commenter noting Knuth's original quote allows for optimization in a critical 3% of cases.
  • DEI: The opinion that DEI hiring mandates destroy teams was met with strong disagreement, leading to a debate about the definition and actual implementation of DEI initiatives.

Other Notable Unpopular Opinions

  • Lisp: Proclaimed as the "king of PLs," with an argument that its FOSS values are tied to its shareable source code nature.
  • Security: The idea that computer security was effectively "solved" in the 1970s with multilevel secure systems and capability-based security was proposed, suggesting current cybersecurity challenges stem from a lack of collective will.
  • Flash: Remembered fondly as an "unreasonably effective way to build web apps."
  • Language Fit: A reminder that people think differently, and no single language is best for all people or tasks; enthusiasm for a language is often about personal fit.

This collection of unpopular opinions offers a fascinating glimpse into the diverse and often conflicting viewpoints held within the developer community, encouraging a re-evaluation of commonly accepted norms and practices.