Does a good programmer need to know how hardware works?

The answer cannot be answered in this way.

There are two reasons for this.

Reason 1: Programmer is not the same programmer.

Reason 2: “know how hardware works” is not a definite state!

Knowing how hardware works

What does knowing how hardware works?There is no state where you either know how hardware works, or you don’t know.

You know certain things and others don’t.Some users have no idea what RAM is and does. Others know what RAM is theoretically good for and what this type of memory is used for. Still others know how RAM works with the processor and what it takes for the two to be able to exchange information at all. Still others know which components RAM is made of and how to build the boards. Others know how to manage available memory…

Programmer is not the same as programmer

Today there are many types of programmers and the purposes and applications for programming can be massively different.

Even someone who programs games can program small arcade games or collaborate on large-scale projects where the person may BE WORKING ONLY on the graphics or ONLY on the game logic.

A Javascript programmer who creates mobile apps with React Native probably doesn’t really need to know exactly how the hardware works.This programmer only needs to know how to use the appropriate libraries to use the hardware for the appropriate purpose without causing any errors. For example due to memory overload. However, this does not require intensive detailed knowledge of the hardware. This is called abstraction. You don’t work with the hardware directly, but with an intermediate layer that makes communication and use easier for the programmer.

A C programmer of the operating systems, parts of them or device drivers, on the other hand, should have a completely different level of knowledge and have much more knowledge of hardware.Because this type of programmer offers directly at the hardware.

In professional circles, for example, one speaks of user space and kernel space.So if you are programming at the kernel level (operating system core), you should have significantly more hardware knowledge than a user-level programmer. However, a kernel space programmer is far from being an electronics engineer.

On the other hand, however, it can be said in summary: certain basic knowledge is beneficial for every user, not only for programmers.

What a processor, RAM, a hard drive do.why? How can I choose a device for my purpose if I don’t even know the basics? Even if I’m just a home user.

And we are not just talking about computers.The same applies to notebooks, netbooks, Bay Trail devices, tablets, smartphones,… all these devices are now computers or computers. based on similar principles!

Leave a Reply