magenet

Showing posts with label Eraser. Show all posts
Showing posts with label Eraser. Show all posts

Tuesday, October 18, 2016

By any chance, who knows why software errors are called "Bugs"?

The first electric computers were made mostly of valves. These used to get very hot during operations of the computer so the huge electronic assembly became a very warm and cozy place for? ;)



It is said that when a renowned and seminal computer scientist "Grace Hopper" was working on a project in 1950's, one of her computer machines (a massive part-electrical part-mechanical) broke down because there was an actual bug (insect) in one of the circuits.

Women in tech history: Grace Hopper – Admiral, programmer, and rebel.

The insects caused the valves breaks, so the entire computer didn't work as expected. So engineers had to search the bug. That explains :) There's a good and interesting article about Mrs Hopper who was an incredible and pioneer woman in the computer science history:

Women in tech history: Grace Hopper – Admiral, programmer, and rebel

In 70s computers weren't so friendly

In the seventies computers weren't so friendly like nowadays they are. The software was essential and not as smart as now we expect to be. Programmers had to know everything about the computer: CPU, RAM, ROM, input and output ports, everything. There weren't high level programming languages like Python, Javascript or Delphi or others, but the most of the times they had to write programs in binary format, burn them on a EPROM, plug it on an IC socket on the motherboard and hope that everything was correct.
EPROMs plugged into their sockets on a motherboard.

The debug process was performed on paper instead during run-time. And Actually this approach saved a lot of time, and it should like that even nowadays with high levels programming languages.

A very good example of a hand written Assembly program.

The procedure of erasing and burning an EPROM was long, and sometimes tricky: some old EEPROMs had a tiny circular transparent window; right under that window there was the memory chip, and when you had to erase it, you needed to expose that to an UV light for a specific amount of time.


Old EPROM UV eraser.
We can understand that the development of a computer was affordable and possible mostly for professionals and big companies. Moreover the ICs and electronic components were very expensive, so it was really difficult to "experiment" with the hardware. Nowadays a microcontroller costs around 1$, so if a developer burns it who cares, but in the seventies a microprocessor had a price of hundreds of dollars!

Actually this wasn't really negative because engineers and programmers were pushed to do things once and right! And I personally think that this is the main reason why nowadays the software is alway full of bugs.