Hello everybody,
This has been very confusing to me at times, and to be honest I do not get it.
Almost everywhere you go to download something - especially in the open source community - the .exe file is often referred to as a binary file.
This makes zero sense to me, every file on a computer is binary based, and solely calling a .exe file for binary is just stupid and uninformed.
Even wikipedia has the following to say about binary files: "A binary file is a computer file that is not a text file." (https://en.wikipedia.org/wiki/Binary_file)
AFAIK, a text file is as binary as the browser in which I am typing right now.
As great as the internet is, this is just a stupid mistake that somebody once made and now everybody keeps repeating that.
Do any of you guys know a compelling argument for refering to these files as binary? Because if not, let's try to stop that misconception. And just call the exectables, which in my mind is a far more correct and usefull name.
Leo
As others have said, not every executable is a binary, and not every binary is an executable. Your confusion/anger is coming from a place where you’re assuming they’re equivalents, but they’re not!
I mean, I get what your thought process is, but it’s just not a sensible approach in practice.
Yes, all text on a computer is ultimately encoded as binary. So think of it like this: if all files are binaries, then we can still give more specific names to particular subtypes. In that case, “binary” becomes the catch-all for everything, especially for everything that doesn’t neatly fall into a named subtype. This approach can be nested.
For example, an HTML file is just a text file. And a text file is just a bunch of binary. But awareness of the content gives us a special name for it, because by knowing this, we can interpret it in a certain way. It’s not just binary, it’s not just text, it’s HTML.
Computing is all about abstraction: wrapping one thing in another layer that shields you from the nitty-gritty details of the layers within. Without this onion of layer after layer after layer, modern computing plain and simply would not be distantly possible. As such, a lot of the terminology deals with naming the layer that’s most useful for a particular context.
We call binary files “binaries” because there’s no human-readable form. With a text file, there’s an abstraction layer that is human-readable, so we refer to that when we can.
Or like Masa said in the excellent example of digital actually being a subset of analog (ALL signals are analog at some level), yet nonetheless the analog/digital terms make a beautiful contrasting pair for almost all situations.
I completely agree with everyone telling you to lose the arrogance and simply learn and accept the terminology as it exists. You will NOT gain anything from your approach.