Real Programmer syndrome

"Real Programmer" syndrome is the condition of intentionally refusing to buy, use, or endorse, the latest software development practices and tools as being unnecessary for a "real programmer" skilled enough to accomplish the job in the established development environment. By ignoring the rapid evolution of computer technology, new programming languages, libraries and frameworks, editing and debugging tools, version control systems, and even software development methodologies that are continually being introduced to automate common tasks and potentially make programmer's life easier and thus more productive, real programmers claim their existing skills to be more efficient. Additionally, state of the art development practices from any given year are often unheard of, unused, or supported years/decades later and gives the real programmer's tribal knowledge the appearance of being a "miracle worker". Some programmers and managers who "grew up" on the older, still functioning systems, disdain these new innovations as coddling "unskilled" junior programmers by making the challenges of software development seem easier to the unskilled, but may seem more costly or unnecessary to real programmers. Those who had to learn to use (and were toughened by) the older tools and limitations are the "real programmers", and those who cannot survive without the newer automated assistance are derided as imposters, more costly, or unskilled.[1] As a result, both the "real programmers" and the perceived unskilled "imposters" often need to "voluntarily" work longer hours using inadequate tools in an attempt to prove to management and other programmers their skills, worth, or the superiority of their established methods. This additional overhead to overcome technical debt might damage some programmers' health as a result of increased strain.[1]

Beliefs

In 1980s "Real programmers" were believed to prefer working in low-level programming languages that offer little abstraction or insulation from the physical hardware, and to ignore structured programming practices in favor of hand-crafting their control flow.[2] These techniques can access unique hardware features and surprising performance, but are often unforgiving of the smallest mistakes and could result in undocumented obfuscated code.

"Real programmers" aren't supposed to make errors in their code, so primitive editors are adequate and the latest debugging tools are unnecessary. Documentation is also considered frivolous, as a "real programmer" should just read other skilled programmers' source code or manually inspect the contents of memory if he or she wants to understand how something works while an "unskilled" programmer might rely on an IDE. Many of these beliefs were described in the early 1980s essays "Real Programmers Don't Use Pascal" and "The Story of Mel," which inspired many subsequent articles,[3][4][5] webcomics[6] and in-jokeswith the exact defining features of a "Real Programmer" differing with time and place.

gollark: !np
gollark: ++tel link apionet `#o`
gollark: ++tel unlink apionet <#827225594172801154>
gollark: ++tel link apionet <#827225594172801154>
gollark: I disagree and think that death actually bad.

See also

References

  1. Julie Bort (March 2014). "The Stress Of Being A Computer Programmer Is Literally Driving Many Of Them Crazy". Business Insider. Retrieved 2016-12-30.
  2. Eric S. Raymond, editor (July 27, 1993). "Real Programmer". The New Hacker's Dictionary. Retrieved 2008-03-28.
  3. Ian Gorton (November 1995). "Real Programmers Do Use Delphi". IEEE Software. IEEE Computer Society. 12 (6): 8–12. doi:10.1109/52.469755. Retrieved 2008-03-28.
  4. Erik Brunvand (October 15, 1996). "The Heroic Hacker: Legends of the Computer Age" (PostScript). p. 4. Retrieved 2008-03-28.
  5. "More About Real Programmers". Archived from the original on 2008-04-19. Retrieved 2008-03-28.
  6. REAL programmers xkcd.com
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.