devxlogo

Considered Harmful

Definition of Considered Harmful

“Considered harmful” is a phrase primarily used in the technology and programming community to criticize or express concerns about particular practices or techniques deemed detrimental or counterproductive. The term gained popularity after Edsger Dijkstra’s 1968 letter titled “GOTO Statement Considered Harmful.” In a broader context, this phrase indicates that the author believes the discussed approach should be avoided due to potential negative consequences.

Phonetic

The phonetic pronunciation of the keyword “Considered Harmful” is:kənˈsɪdərd ˈhɑrmfəl

Key Takeaways

  1. Avoid blanket statements: “Considered Harmful” essays tend to make sweeping generalizations, which can be misleading or harmful in certain situations. It’s vital to be cautious of such statements and consider the context or specific scenario where a practice or technology should be avoided.
  2. Focus on rational arguments: When discussing the pros and cons of a subject, rely on facts, research, and specific examples to support your claims, rather than relying on emotional or hyperbolic language. This leads to more in-depth and balanced conversations.
  3. Encourage open-mindedness: Instead of promoting inflexible stances on a subject, encourage open and constructive dialogue that takes multiple perspectives into account. This results in a better understanding of the complexities and possibilities tied to a given topic, and fosters a culture of learning and continuous improvement.

Importance of Considered Harmful

The term “Considered Harmful” holds significance in the technology community because it has been widely used to express strong disapproval or criticism of a certain technology, software, or programming practice.

This phrase became popular after Edsger W.

Dijkstra’s influential 1968 letter “Go to Statement Considered Harmful” was published, which argued against using the “GOTO” statement in high-level programming languages.

Since then, various authors have used “Considered Harmful” to draw attention to problems or pitfalls in technologies, aiming to foster improvements and stimulate discussion.

The term represents a call to the technology community to reconsider certain practices or methods and move towards better and more efficient alternatives.

Explanation

“Considered Harmful” is a term often used within the realm of technology and programming, particularly in the titles of articles or essays, to highlight a specific programming practice, convention, or piece of software that is potentially detrimental to the computer programming community or system functionality. The term gained popularity after Edsger Dijkstra’s 1968 letter to the editor of Communications of the ACM titled “Go To Statement Considered Harmful.” The main purpose behind using this term is to raise awareness and spark healthy, constructive discussions on coding practices or methodologies that may have unforeseen negative consequences, or those that require reevaluation in the context of modern programming standards or security measures.

By labeling a certain practice or method as “considered harmful,” the author encourages readers to more critically evaluate its utility and potential drawbacks. This term essentially serves as a catalyst for change, inspiring developers and programmers to improve upon existing methods, advance their understanding of programming dynamics, and revolutionize the general knowledge in the field.

In some instances, the debates triggered by the use of “considered harmful” lead to the creation of improved technologies, the enhancement of established best practices, or the discovery of better solutions to existing problems. In summary, the term “considered harmful” is a valuable tool that sheds light on potential pitfalls and fosters innovation and improvement in the world of programming and technology.

Examples of Considered Harmful

The term “Considered Harmful” is often used to describe technologies, practices, or designs in the programming and software development world that have been found to be detrimental or problematic. Here are three real-world examples:

“GOTO Considered Harmful”: This phrase was popularized by Edsger Dijkstra’s 1968 letter to the editor of “Communications of the ACM,” which criticized the use of GOTO statements in programming languages like BASIC, FORTRAN, and COBOL. Dijkstra argued that GOTO statements made code difficult to understand, maintain, and debug, and their use led to the creation of so-called “spaghetti code”. The movement away from GOTO has contributed to the development of structured programming languages and coding practices that promote more readable and maintainable code.

“NULL References: The Billion Dollar Mistake”: Tony Hoare, the inventor of the null reference, called it his “billion-dollar mistake.” Null references have been a source of countless bugs and unexpected behavior in many programming languages. Instead of using null references, modern languages like Swift and Kotlin use optional types, which force the developer to handle the case when a value might be absent explicitly, and reduce the risks of null reference exceptions.

“Password Masking Considered Harmful”: Password masking is the practice of displaying asterisks (*) or dots instead of the actual text when users enter their passwords. This was implemented to prevent shoulder surfing – people spying on users’ passwords as they are typing. However, this practice makes it harder for people to type their passwords correctly, as they can’t see what they’re typing, which can lead to user frustration and more frequent password reset requests. Some experts argue that the security benefit of password masking does not outweigh the usability drawbacks and that other strategies should be employed to prevent shoulder surfing, such as privacy screens or simply being more cautious while typing sensitive data.

FAQ – Considered Harmful

What does “considered harmful” mean in programming and software development?

“Considered harmful” is a phrase commonly used in programming and software development to express the idea that a particular practice or technique is believed to have significant drawbacks or risks, and its use should be reevaluated or avoided.

What is the origin of the term “considered harmful”?

The phrase “considered harmful” first appeared in a letter to the editor from computer scientist Edsger Dijkstra in the March 1968 issue of Communications of the ACM. In the letter, titled “Go To Statement Considered Harmful,” Dijkstra argued that the use of the “go to” statement in programming languages was a major source of errors and should be replaced by more structured approaches.

Why has the phrase “considered harmful” become popular in software development community?

The phrase “considered harmful” has become popular because it concisely expresses the idea that a specific practice or technique may have serious drawbacks. It also invites discussion and debate on the merits and demerits of these practices, ultimately leading to a better understanding of the issues involved and promoting improvements in related technologies.

Are there any criticisms of the term “considered harmful”?

Some people find the term “considered harmful” to be too strong or extreme, as it may imply that the associated practice is always detrimental, when in fact, there may be valid cases where it can be applied safely or effectively. Others argue that the use of the term can sometimes be sensationalist, focusing primarily on its negative aspects without presenting a balanced view.

What are some examples of practices or concepts that have been labeled as “considered harmful”?

Examples of programming practices that have been described as “considered harmful” include the use of global variables, the “eval()” function, and the “go to” statement. Other topics that have been the subject of “considered harmful” debates include certain design patterns or software development methodologies.

Related Technology Terms

  • Software Bloat
  • Technical Debt
  • Security Vulnerabilities
  • Deprecated Features
  • Anti-Patterns

Sources for More Information

Technology Glossary

Table of Contents

More Terms