DEV Community

Cover image for 5 Surprising Developer Facts You Might Not Know
Rabin Otieno
Rabin Otieno

Posted on

5 Surprising Developer Facts You Might Not Know

When we think about computers and technology in general we often focus on the technical aspects. However, there are a lot of other fascinating facts that are often overlooked or that most people are not aware of. Some of these details might help us get a better understanding of the systems that we use every day. Here are some of the most surprising ones:

1. The first antivirus came right after the first virus

In 1971, the “Creeper virus” was created by Bob Thomas who was a researcher at BBN Technologies. All it did was display the message, “I’M THE CREEPER: CATCH ME IF YOU CAN”. Although considered a virus, it was simply self-replicating and not malicious. Also, the fact that it replicated across networked devices makes it more of a worm. To tackle this, the first antivirus known as “Reaper” was created. Creeper and Reaper ran on ARPANET (a precursor to the modern internet).

2. There is a programming language called Brainfuck

This was created in 1993 by Urban Muller as an experiment. The goal was to build the smallest possible compiler. It is simple as it only has 8 characters for commands yet still notoriously difficult to read and write. Here are the characters:

> < + - . , [ ]
Enter fullscreen mode Exit fullscreen mode

Example: Hello, World!

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Enter fullscreen mode Exit fullscreen mode

Brainfuck wasn’t meant for practical use but to expound on the computational limits (and probably frustrate programmers).

3. You can write a whole backend in Google Sheets!

Although Google sheets itself is not Turing-complete, the Apps Script engine behind it is.
Using the Google Apps Script you can create forms, accept user data, run business logic and even serve JSON. This can be a fun way to quickly prototype an idea or internal tool. However, this isn’t a suitable option for production environment due to limitations in terms of performance, security, and scalability.

4. Adding logs or print statements can change the behavior of some bugs

This bizarre phenomenon is known as Heisenbug. It is named after Heisenberg’s Uncertainty Principle which implies that observing a system can alter its behavior. For instance, in a race condition between 2 threads, adding print() can slow execution thereby accidentally synchronizing the threads. This gives the illusion that the problem is fixed but once the print() is removed the bug will reappear. The actual fix would be to use synchronization solutions such as locks or mutexes.

5. The name Git is not random

It comes from British slang which refers to an unpleasant or foolish person. When BitKeeper revoked Linux’s free license, Linus Torvalds created a version control system (VCS) in just 10 days as a replacement and named it Git. He joked that he is “a git” for writing yet another VCS. Ironically, Git went on to become the most widely used version control system in the world.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.