Touchstone Words

The Worst Programming Mistake Ever Made | Touchstone Words

Popular Articles

Sexual activity and body health
Do You Know If You Are Sexually Active
Blockchain Hyperledger family
Intro to Hyperledger Family and Hyperledger Blockchain Ecosystem
Biofuel, Biodiesel, Environment, Fuel, Fossil Fuel, Energy, biohydrogen, biomethanol, biohyrdrogen d
Pros and Cons of Biofuel Energy
Hyperledger design model and framework architecture
Overview of Hyperledger Design Philosophy and Framework Architecture
Hyperledger fabric and its components
The Survey of Hyperledger Fabric Architecture and Components for Blockchain Developers
social and economical state of a country
Pros and cons of capitalism vs socialism
Porn actors who go to Hollywood
From Porn performances to Hollywood
Perceptions and mind thinking
What are perceptions and how to manage them
Blow job tips
Pros and Cons of Blow Jobs
Taylor Swift nightmare songs
Top Ten Worst Taylor Swift Songs Shared by her Fans

The Worst Programming Mistake Ever Made

By Shane Staret on 2018-05-14

If you are a programmer, you know that even the smallest mistake can cause your program to completely crash and stop running. Even a typo in one line in thousands of lines of code can cause an exception to be thrown, meaning that it is possible that your program cannot run without fixing the issue.

Now, if you’re just some random programmer making a crappy application for your final project, then this really is no big deal. No one cares except you and the worst possible thing that could happen is that you might crash your own computer. So obviously, the worst programming mistake ever made cannot be made by some scrub like you or me. The real contenders are those programming errors that were in major software applications or possibly in major government projects that possibly caused millions of dollars to be wasted or caused major hacks to be possible.

It is possible that we are not aware of the worst programming mistake ever made, as it may have not been discovered yet or it may have been kept quiet by the company/corporation that discovered it, in order to save their own skins or to hide the vulnerability before they have fixed it. But as far as known programming mistakes go, I’d say that the one that caused the deaths of several people from the Therac-25 should go down as the worst.

The Therac-25 was considered to be a “radiation therapy machine”. Radiation therapy is known to be an effective way to treat many different forms of cancer, however, it is not exactly great for your body. Essentially, radiation therapy kills off whatever cells it is targeted at‒cancer cells or not. Therefore, it is essential that the radiation is targeted effectively to parts of the human body that actually need to be treated, so as little harm is done as possible. Unfortunately, when the Therac-25 was released in 1982, it contained several fatal software bugs that caused the death of six patients in 1986 and 1987. There are quite a few things that can go wrong when giving radiation therapy, however, they are all known and in previous iterations of the Therac machines, there were hardware interlocks that prevented them from happening. However, with the Therac-25, the designers got rid of the hardware interlocks and instead favored software safety checks to ensure no faults occurred. Unfortunately for the six patients, the software contained bugs, causing the software safety checks to not operate properly, leading to all six being exposed to an overdose of radiation.

You might be wondering how bugs like this could remain within software designed to treat cancer patients with radiation. Any programmer knows to go through as much testing as possible to ensure that their applications work properly, and major companies even hire people full time to test their software for any issues. Well, the problem was that there was no outsider who independently reviewed the code. There were a plethora of things wrong with the software of the Therac-25, but they all probably could have been prevented if independent code reviewers were brought in to actually test the functionality of the machine. Some of the issues were caused by pure laziness. For example, when an error code appeared, the person monitoring the machine might see the error code...but the user manual did not explain the the operator just ignored the error. Obviously, these design flaws would have been exposed by independent quality testers, but alas, it was not done and six souls were taken away because of it.

While you may not be a developer of a radiation machine, I hope that this deadly example shows you why you should always test your code and put it up for review. Scientific journals and articles are subject to peer review before being published in reputable places like Scientific American. Code is not necessarily subject to the same kind of quality assurance as scientific articles. The company you work for may have some kind of quality assurance within the company, but they may not have a third party that also tests the quality of their software. It is extremely important that they do however, especially if they are in the business of taking care of humans. So in the end, just make sure that you learn from the mistakes of others as much as possible before having to learn from the mistakes of yourself.

Programming Languages and Resources for Web Developers
The easiest way to learn coding is via web design programming. You should lean coding languages that are in use by millions of sites. HTML, CSS (or HTML5 & CSS3) PHP, MySQL, JavaScript (or JS frameworks like jQuery, Angular, React, Node, or Express) or MongoDB, Apache, Ruby on Rails, and Linux are all related to web design coding. For beginners interested in learning more about web design and development, here are a list of step-by-step training guide articles: i- Become CMS specialist, ii- Become front-end specialist, iii- Become expert SQL developer, iv- Become expert PHP developer

Discussed coding languages are well suited for those interested in pursuing a career in web design and development; however, other options are mobile App design and development, system admin and software engineering. It is advisable to consult with an IT counselor to understand what options best fits your skills. For instance, if you want to be a software engineer, learning HTML and CSS might not fit the bill. Here is an excellent article for learning more on coding and technology career roadmap. Once you know what career path you wish to pursue, you can make a plan on what, when, and how to learn. There are lots of online resources for learning coding and technology in general. For teenagers and high school students, High School Technology Services offers variety of hands-on training. For adults and professionals, Coding Bootcamps and DC Web Makers Companies offer basic to advance project-based programming and technology classes.

Article Comments

By Same Author

Technology impacts on 21 century societies
How Technology has Improved Society in 21 century
What types of cyber hackers are out there
Cybcersecurity and Different Kinds of Hackers
how web design coding works
Frontend versus Backend Web Development
Learn about anti-virus
How do Antivirus Programs Detect Issues
what is GPU and CPU
The Differences Between a GPU and a CPU
Cyber attacks via backdoors
Why Backdoors Are A Necessary Evil
static or dynamic website, which one to pick
Static or Dynamic Websites-What are the Differences
why Computer Ethics matter
Computer Ethics and the Moral Dilemma of the Internet
Computer parts and heating
Computer Components and Temperature
Learn about computer pointers
How does a Computer Pointer Work

Affiliated Companies

Disclaimers And Things

Copyright © WEG2G, All Rights Reserved
Designed & Developed by DC Web Makers