Author Topic: Why do people call an executable file (.exe) a binary file?  (Read 1985 times)

0 Members and 1 Guest are viewing this topic.

Offline LeoTech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: dk
  • High School student with a passion for electronics
Why do people call an executable file (.exe) a binary file?
« on: April 25, 2020, 10:47:11 am »
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
High School student with a passion and interest in electronics, both analog and digital!
 

Online greenpossum

  • Frequent Contributor
  • **
  • Posts: 261
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #1 on: April 25, 2020, 10:57:40 am »
Because if not, let's try to stop that misconception.

 :-DD Good luck with that. There are lots of terms which are slightly wrong now but you'll never correct the usage.

Besides calling them executable is also slightly wrong because they are only executable wrt a particular processor. An executable for an Intel processor would just be binary to an ARM processor. Even within families a Pentium executable would be meaningless on a 8086.

So as long as it's not text, it's not wrong to call them binary. But feel free to call them executables, nobody will correct you.

Edit: The thing with categories is there will always be exceptions to them, such is human creativity. Here's something to think about: a BASIC program file, that's readable text right? So not binary, right? But what if I told you that the BASIC file is stored tokenised as Microsoft Basic for CP/M used to do. If you look at it in a hex display program it's binary. But if you list it inside the BASIC interpreter it's text. Categories are slippery. By all means be as precise as you can but accept that human communication will always be less than 100% precise.
« Last Edit: April 25, 2020, 11:49:25 am by greenpossum »
 

Offline cgroen

  • Supporter
  • ****
  • Posts: 403
  • Country: dk
    • Carstens personal web
Re: Why do people call an executable file (.exe) a binary file?
« Reply #2 on: April 25, 2020, 11:27:26 am »
As great as the internet is, this is just a stupid mistake that somebody once made and now everybody keeps repeating that.

Leo

 :-DD Not sure how old you are, but we called files binary and non-binary long before the internet (as we know it today) conquered  the world  ^-^
Calling a file "binary" is as common now as it were 40 years ago from where I'm from.
« Last Edit: April 25, 2020, 11:32:57 am by cgroen »
 
The following users thanked this post: Alex Eisenhut, tooki, newbrain

Offline Bicurico

  • Frequent Contributor
  • **
  • Posts: 991
  • Country: pt
    • VMA's Satellite Blog
Re: Why do people call an executable file (.exe) a binary file?
« Reply #3 on: April 25, 2020, 11:36:59 am »
A binary file is a file where the meaning of each byte is not human readable.
A text or ASCII file is a file which is human readable in a text editor, because each byte is meant to be interpreted as an ASCII code.

A binary file can contain executable code or data - the data is just not readable in an text editor, in other words it does not represent ASCII data.

Regards,
Vitor
 
The following users thanked this post: tooki

Offline jpanhalt

  • Frequent Contributor
  • **
  • Posts: 800
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #4 on: April 25, 2020, 11:42:51 am »
Here's something to ponder...

Here are a few lines from a .hex file:
[plain]
:100000002F0000EA24F0A0E340F0A0E32CF0A0E3EE
:1000100034F0A0E30000A0E1F0FF1FE5BA00A0E388
:10002000070000EAA800A0E3050000EAAE00A0E394
:10003000030000EAB400A0E304E04EE2000000EA9E
:10004000BF00A0E304E04EE280119FE50120D0E470
:10005000143091E5200013E3FCFFFF0A000052E397
:1000600000208115F8FFFF1A0850A0E39840A0E394
:100070002E0EA0E1002094E7143091E5200013E358
[/plain]

But what you are actually seeing on your monitor is ascii.  Does that make it "stupid" to call it a "hex" file?

 
The following users thanked this post: tooki

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #5 on: April 25, 2020, 11:54:14 am »
With a 'text file' if you look at the binary data in groups of however many bits are in the relevant character set (eg ASCII, Unicode and UTF-8) you see information that is readable in that form.

The term 'binary file' is used because no matter how you look at the content, it's just a bunch of 1's and 0's.

Calling such files 'executables' is also incorrect when you use it as a blanket term - because they may not be executable!!!  There is nothing stopping you having a data file containing binary data!

As for getting all twisted about this use of the term 'binary file' - all I can say is this: STOP BEING SO PRECIOUS!  This term came about as a result of the development of the information age culture.  So, no matter how 'incorrect' you may think it is, just get with the idea that it has become common practice and everyone who has used it in anything past the experience level of kindergarten, knows exactly what is meant.

Just take this on board and move on.  Don't push this or you will set yourself up as a snowflake - and your credibility will go down the toilet.
« Last Edit: April 25, 2020, 11:55:59 am by Brumby »
 
The following users thanked this post: tooki, cgroen

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 2664
  • Country: fi
Re: Why do people call an executable file (.exe) a binary file?
« Reply #6 on: April 25, 2020, 12:18:48 pm »
Binary file = catch-all term for everything that is not human-readable text. Slang, if you wish, but at least 40 years old, if not older, so nobody except you have any problem with it.

Yes, from the definition of binary ("relating to, composed of, or involving two things") not a pedantic term, but if this is a problem for you, you are going to have some horrible time doing anything, communicating with anybody. This isn't even bad.

You know, human language works that way that if you put two words together, their combined meaning doesn't need to be an exact logical combination of the words alone.

And yes, .exe (Windows/DOS executables) files are "binary files", but not all "binary files" are executables.

In some contexts, an ASCII text file might be called "binary file" as well - sometimes it just doesn't matter, and then we default to everything just being a file, in which case all files, as you correctly note, contain similar "binary" data, and in this sense, are all "binary files".

But, when we speak, we only use the term "binary file" in contexts where it does matter, and when we need to make a distinction between the human-readable textual representation and the native, efficient form of computer data. Example discussion: "Binary log files offer disk space savings and performance benefits; text log files are readable without special tools".
« Last Edit: April 25, 2020, 12:21:23 pm by Siwastaja »
 
The following users thanked this post: tooki, newbrain

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3208
  • Country: lv
Re: Why do people call an executable file (.exe) a binary file?
« Reply #7 on: April 25, 2020, 12:19:19 pm »
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.
Stupid and uninformed is claim that every file on your a computer is binary. Just do some further research about plain text files and you will hopefully find a peace.
 

Offline LeoTech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: dk
  • High School student with a passion for electronics
Re: Why do people call an executable file (.exe) a binary file?
« Reply #8 on: April 25, 2020, 12:27:00 pm »
Well, the generel consensus here appears to be the fact, that I am appearently to young to comment on this, where as you - the veterans - have used this term for ages, which makes it right. Just think about that statement, doesn't seem right, does it?

Because if not, let's try to stop that misconception.

 :-DD Good luck with that. There are lots of terms which are slightly wrong now but you'll never correct the usage.

Besides calling them executable is also slightly wrong because they are only executable wrt a particular processor. An executable for an Intel processor would just be binary to an ARM processor. Even within families a Pentium executable would be meaningless on a 8086.

So as long as it's not text, it's not wrong to call them binary. But feel free to call them executables, nobody will correct you.

Edit: The thing with categories is there will always be exceptions to them, such is human creativity. Here's something to think about: a BASIC program file, that's readable text right? So not binary, right? But what if I told you that the BASIC file is stored tokenised as Microsoft Basic for CP/M used to do. If you look at it in a hex display program it's binary. But if you list it inside the BASIC interpreter it's text. Categories are slippery. By all means be as precise as you can but accept that human communication will always be less than 100% precise.

Yeah, I know that, an executable is not executble on every platform and categories are unprecise, but my point is still valid, calling it an executable is more helpful desciption of the file than simply binary, because it could literally be everything.

With a 'text file' if you look at the binary data in groups of however many bits are in the relevant character set (eg ASCII, Unicode and UTF-8) you see information that is readable in that form.

The term 'binary file' is used because no matter how you look at the content, it's just a bunch of 1's and 0's.

Calling such files 'executables' is also incorrect when you use it as a blanket term - because they may not be executable!!!  There is nothing stopping you having a data file containing binary data!

As for getting all twisted about this use of the term 'binary file' - all I can say is this: STOP BEING SO PRECIOUS!  This term came about as a result of the development of the information age culture.  So, no matter how 'incorrect' you may think it is, just get with the idea that it has become common practice and everyone who has used it in anything past the experience level of kindergarten, knows exactly what is meant.

Just take this on board and move on.  Don't push this or you will set yourself up as a snowflake - and your credibility will go down the toilet.

Yes I know, some files are jsut simple data, but if you are going to download a program, set file will be one you expect to execute to run the program, hence the name. And not everybody past the experience level of kindergarten knows what is meant, as you yourself stated, there are several forms of binary data - some can be exeuted and others not.

As far as I care, my credibility can go all the way down to the sewer pipe, because I you seem farly close minded about this, I am not saying that binary files are stupid, but rather that calling executables binary is stupid in the way that it may and can be misleading and confusing when having to download a program.When talking about a program, the term executable is far more helpful.

PS: If any mod reads this, just close the topic, otherwise we will just go on with everybody explaining how data can be represented in different ways, which we all know, and in the meantime completely missing the point. While I just become a bigger and bigger snowflake.
« Last Edit: April 25, 2020, 12:30:06 pm by LeoTech »
High School student with a passion and interest in electronics, both analog and digital!
 
The following users thanked this post: I wanted a rude username

Offline SimonR

  • Regular Contributor
  • *
  • Posts: 121
  • Country: gb
Re: Why do people call an executable file (.exe) a binary file?
« Reply #9 on: April 25, 2020, 12:31:54 pm »
Don't forget that even in pure text form a BASIC file is executable because its interpreted.

Binary file = catch-all term for everything that is not human-readable text. Slang, if you wish, but at least 40 years old, if not older, so nobody except you have any problem with it.

I'd generally go along with this, over the years I've tended to call anything that has no specific named format a binary file.
 
The following users thanked this post: tooki

Offline jpanhalt

  • Frequent Contributor
  • **
  • Posts: 800
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #10 on: April 25, 2020, 12:36:23 pm »
Well, the generel consensus here appears to be the fact, that I am appearently to young to comment on this, where as you - the veterans - have used this term for ages, which makes it right. Just think about that statement, doesn't seem right, does it?
he meantime completely missing the point. While I just become a bigger and bigger snowflake.

Didn't take long for you to play that card.  Fact is, you seem to have a hard time understanding an abstraction, so you call it "stupid." 

So far as I know, a file cannot be stupid.  That's purely an animal trait and mostly applied to humans.
 
The following users thanked this post: tooki, james_s

Offline LeoTech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: dk
  • High School student with a passion for electronics
Re: Why do people call an executable file (.exe) a binary file?
« Reply #11 on: April 25, 2020, 12:46:15 pm »
Well, the generel consensus here appears to be the fact, that I am appearently to young to comment on this, where as you - the veterans - have used this term for ages, which makes it right. Just think about that statement, doesn't seem right, does it?
he meantime completely missing the point. While I just become a bigger and bigger snowflake.

Didn't take long for you to play that card.  Fact is, you seem to have a hard time understanding an abstraction, so you call it "stupid." 

So far as I know, a file cannot be stupid.  That's purely an animal trait and mostly applied to humans.

Considering people where questioning my age and told me that it had been so for a long time, it was a valid card, but I could counter, with it didn't took you long to point it out.;)

AFAIK I never called a file stupid, but rather what one might call that file for stupid. In other words, your point is completely irrelevant and doesn't bring anything to the table except implaying that I as a human may/could be stupid. Next time, don't start discussing semantics about something I never said. That's pointless.
(Which could imply, that you have a hard time understand what I mean.)
High School student with a passion and interest in electronics, both analog and digital!
 

Online BravoV

  • Super Contributor
  • ***
  • Posts: 6796
  • Country: 00
  • +++ ATH1
Re: Why do people call an executable file (.exe) a binary file?
« Reply #12 on: April 25, 2020, 12:52:25 pm »
Considering people where questioning my age and told me that it had been so for a long time, it was a valid card, but I could counter, with it didn't took you long to point it out.;)

Just wait few decades, that probably JPEG (.JPG) format is obsolete, and a cocky proud youngster shout out loud that why elders keep saying .JPG file is an image file, instead of a blob of binary file that needs extra trouble/effort to decode/view it at that time.

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #13 on: April 25, 2020, 01:37:06 pm »
To the OP:

Pick one (or more) of the following:
 * Troll
 * Snowflake
 * Pedant
 * Childish
 * Entitled

Please note: "Right" or any flavour thereof is not one of the options.


(I'd hate to see you on a discussion of current flow.)
 
The following users thanked this post: tooki

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 3891
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Why do people call an executable file (.exe) a binary file?
« Reply #14 on: April 25, 2020, 01:38:13 pm »
Well, the generel consensus here appears to be the fact, that I am appearently to young to comment on this, where as you - the veterans - have used this term for ages, which makes it right. Just think about that statement, doesn't seem right, does it?
he meantime completely missing the point. While I just become a bigger and bigger snowflake.

Didn't take long for you to play that card.  Fact is, you seem to have a hard time understanding an abstraction, so you call it "stupid." 

So far as I know, a file cannot be stupid.  That's purely an animal trait and mostly applied to humans.

Considering people where questioning my age and told me that it had been so for a long time, it was a valid card, but I could counter, with it didn't took you long to point it out.;)

In my eyes the question about your age, which can at times be translated to inexperience on naïveté, came with the following assertive:

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.

They way I read the first answers were people imparting their knowledge in a jokingly way. If you look around this forum, you will see lots of other similar threads with similar jokes and pokes.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 2664
  • Country: fi
Re: Why do people call an executable file (.exe) a binary file?
« Reply #15 on: April 25, 2020, 01:42:37 pm »
Plain-text scripts (.sh, for example), are also executable. Heck, on Unix-like systems, they are literally "executable", because the flag called "executable" ('x') needs to be set. So here, "executable" is an actual technical term so your "solution" may actually add confusion instead of clearing something up.

"Binaries" can be driver modules, which are not executable files, you can't run the files, but they include binary, i.e. non-human-interpretable machine code that can be executed as a part of larger system.

Programmers and developers talk about "binaries" to make a clear distinction to source code.

Computer systems are complex; words and human language are even more complex. Drop the arrogance and pick your fights wisely, and you may actually learn a thing or two.

Especially damaging to your learning is getting fixated on small language details. Language is always sub-optimal because it carries a legacy of being developed by people discussing with each other. It's a system which has no designer.

I'm not against improving the language, but, are you really improving things here?

There are literally tens of thousands of suboptimal terms in use, you can't "fix" them all. Pick those which are actually very confusing, and pay close attention how to fix them properly, be careful not to increase the level of confusion. Replacing expressions with better ones is harder than you think.

I see absolutely no problem with word "binary" and how it is used. You will find much more problematic expressions that are actually confusing. When faced with such expressions, lead with example by coming up with a really intuitive substitute.
« Last Edit: April 25, 2020, 01:58:54 pm by Siwastaja »
 
The following users thanked this post: tooki

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #16 on: April 25, 2020, 01:44:05 pm »
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.

The key phrase: "in my mind".

The world has grown with the current usage for decades.  It is not going to change for you.  Doing so would add confusion of a magnitude you could not imagine.  The easiest way to proceed is for you to "get with the programme".  The only problem being whether you are able to accept that.
 

Online BravoV

  • Super Contributor
  • ***
  • Posts: 6796
  • Country: 00
  • +++ ATH1
Re: Why do people call an executable file (.exe) a binary file?
« Reply #17 on: April 25, 2020, 01:55:41 pm »
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.

The key phrase: "in my mind".

The world has grown with the current usage for decades.  It is not going to change for you.  Doing so would add confusion of a magnitude you could not imagine.  The easiest way to proceed is for you to "get with the programme".  The only problem being whether you are able to accept that.

C'mon, we had experienced young age as I believe most posters here, its all about the annoying period (sometimes) of desperately getting recognition or at least approval from someones on own ego.

Once this thread sinks into the abyss and forgotten, should someday in the long future when the OP reads or remembers this topic again, probably that will be a blushing moment for self.  :-DD
 
The following users thanked this post: Siwastaja

Offline LeoTech

  • Regular Contributor
  • *
  • Posts: 75
  • Country: dk
  • High School student with a passion for electronics
Re: Why do people call an executable file (.exe) a binary file?
« Reply #18 on: April 25, 2020, 02:10:55 pm »
To bad we ain't a group of pshycoogists. This would be one hell of a case study in human behavior. From both sides I might add. You guys might be veterans filled with experiences, but are very narrow minded and quick to jump to conclusions about others - especially stereotypes and prejudies - as am I.

Just one last remark, stop the name-calling for crying out loud, stop calling me a child, entitled and attention-seeking while at the same time conducting a discussion like someone half my age.

Close the thread, nobody is gaining anything from this except lots of self-validation by putting down others and verifying their own tunnel-vision. Which admittedly goes for me as well.

High School student with a passion and interest in electronics, both analog and digital!
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 5338
  • Country: fr
Re: Why do people call an executable file (.exe) a binary file?
« Reply #19 on: April 25, 2020, 02:13:22 pm »
Looks like confinement may have some bad psychological consequences for some of us... ::)
 
The following users thanked this post: james_s

Offline Syntax Error

  • Frequent Contributor
  • **
  • Posts: 257
  • Country: england
  • <[[ facemask ]]>
Re: Why do people call an executable file (.exe) a binary file?
« Reply #20 on: April 25, 2020, 02:21:41 pm »
Leo, historically over 50 years ago, when a human readable computer program was compiled into machine readable code, the compiler output was termed "The Binary". A computer programmer might ask the computer operator to "load and run the binary." This binary file was often held on magnetic tape or  even punched paper tape. Even today, our devices still 'load' the binary file into a process to run.

The term binary has kind of stuck around, even if the file endings are not .bin  Some other common executable binaries to mind include .sys .dll .elf and .hex files.

It's just historic, rather like how we use the term 'cloud' for the internet. Anyone care to explain why we say "the cloud"?
 
The following users thanked this post: tooki

Offline IanB

  • Super Contributor
  • ***
  • Posts: 9693
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #21 on: April 25, 2020, 02:30:30 pm »
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.

Object files and library files are binaries, but they are not executables. And as has been pointed out above, shell files and script files are executable, but they are not binaries. So there isn't a one to one correspondence between binary and executable.

A binary is a file that when opened in a text editor is not human readable.
I'm not an EE--what am I doing here?
 
The following users thanked this post: Siwastaja

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 3891
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Why do people call an executable file (.exe) a binary file?
« Reply #22 on: April 25, 2020, 02:30:33 pm »
It's just historic, rather like how we use the term 'cloud' for the internet. Anyone care to explain why we say "the cloud"?
Just like another term that confused me in my early days of computing: print. To me it made no sense to tell the computer to "print" something on the screen - "show" or "display" made more sense in my mind, even after I was told about how the early computers used paper printers (line printers). Eventually I got over this feeling.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 15258
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Why do people call an executable file (.exe) a binary file?
« Reply #23 on: April 25, 2020, 02:40:02 pm »
Alternate view:

It's not what it is, it's what you do with it.

Text is expected to be formatted in device-specific ways.  Excess whitespace may be omitted entirely (e.g., HTML, C, etc.), expanded (e.g., typesetting?), or translated (e.g., utilizing Unicode spaces and joiners, or stripping them as the case may be).  Control characters have specified purposes, and also may be translated or removed as needed (e.g., *nix family CR vs. DOS family CR-LF sequences).  Everything else is given specific textual representation -- i.e., the graphic letters I am presently typing.

Most of these features are implemented by operating systems, sometimes transparently (e.g., opening the CON device as a text file).  If you're writing your own, say, serial terminal / emulator, you must implement these as well (the whole point of a terminal is at least basic text formatting and control, if not full ANSI or VT100 or whatever operating modes).

Whereas, "binary" must be inscrutable and untouchable.  Any accidental change of bits or bytes in the file will likely corrupt it for its intended purpose, and it must always be transferred wholly intact.

Now, it might well be that there's a great many ways a particular binary file could be changed, while remaining equivalent in some useful way to the original.  Examples: EXIF data in JPEG and various other formats; the number and size of chunks in a PNG file; the headers and memory mapping in an EXE file; etc.  But there are so many formats out there that assuming any one of them is a bad idea.  So we just call it "binary" and keep our hands off it.

You wouldn't want your OS going in and recompressing your images willy-nilly, would you?  (Mind, a lot of hosting servers do this for you, and much more -- beware!)

So -- text can always be treated as binary, but the converse is not true.  Text implies a format so standard (i.e., ASCII) that everyone can make the same assumptions about it (printable characters, variable space, meaningful control characters, etc.).

As noted above, these definitions don't need to be exclusive.  A hex file isn't hex as such (i.e., digits restricted to 0-15, in packed or unpacked bytes say), but it's ASCII coded.  Guess I'd say hex is a subset of text, and text is a subset of general binary files.  Don't forget there's always polyglot formats -- someone's devised a plain text version of x86 machine code, what might be considered simultaneously both binary and ASCII.  (Emphasis on binary though, as almost any change in the file will likely corrupt the executable part.)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Online bingo600

  • Super Contributor
  • ***
  • Posts: 1458
  • Country: dk
Re: Why do people call an executable file (.exe) a binary file?
« Reply #24 on: April 25, 2020, 03:22:38 pm »
Here's something to ponder...

Here are a few lines from a .hex file:
[plain]
:100000002F0000EA24F0A0E340F0A0E32CF0A0E3EE
:1000100034F0A0E30000A0E1F0FF1FE5BA00A0E388
:10002000070000EAA800A0E3050000EAAE00A0E394
:10003000030000EAB400A0E304E04EE2000000EA9E
:10004000BF00A0E304E04EE280119FE50120D0E470
:10005000143091E5200013E3FCFFFF0A000052E397
:1000600000208115F8FFFF1A0850A0E39840A0E394
:100070002E0EA0E1002094E7143091E5200013E358
[/plain]

But what you are actually seeing on your monitor is ascii.  Does that make it "stupid" to call it a "hex" file?

I'd say this is an iHEX file (Intel hex format)  , but as  DOS alowed 3 letters for the file suffix ... What should they do ?

And some of us even know what a .COM file is ..  :scared:

Edit: And a .S19 file
/Bingo
« Last Edit: April 25, 2020, 03:24:24 pm by bingo600 »
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1111
  • Country: gb
  • Embedded stuff
Re: Why do people call an executable file (.exe) a binary file?
« Reply #25 on: April 25, 2020, 06:22:45 pm »
Usually people are not very old when they realise that language is not very precise, and not to worry too much about it.

But if you are worried about the use of "binary file", I don't know how your brain will cope when you discover auto-antonyms https://en.wikipedia.org/wiki/Auto-antonym
Bob
"All you said is just a bunch of opinions."
 

Online magic

  • Super Contributor
  • ***
  • Posts: 2149
  • Country: pl
Re: Why do people call an executable file (.exe) a binary file?
« Reply #26 on: April 25, 2020, 06:36:46 pm »
Unix binaries have a text section which holds the actual executable code as opposed to data, constants etc. Deal with that :P

I suppose "binary" originates from the fact that it's the binary machine code spat out by the compiler/assembler as opposed to the source. No deeper meaning to it.

A binary is a file that when opened in a text editor is not human readable.
No, that's a "binary file". Simply "a binary" is used almost exclusively for whatever forms of machine code.
 

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 2260
  • Country: ca
  • If you can buy it for 4$ on eBay, why design it?*
Re: Why do people call an executable file (.exe) a binary file?
« Reply #27 on: April 25, 2020, 06:51:15 pm »
To the OP:

Pick one (or more) of the following:
 * Troll
 * Snowflake
 * Pedant
 * Childish
 * Entitled

Please note: "Right" or any flavour thereof is not one of the options.


(I'd hate to see you on a discussion of current flow.)

https://en.wikipedia.org/wiki/Asperger_syndrome

"literal interpretations and miscomprehension of nuance"

etc etc
*Except AC/DC adapters on eBay. Avoid them all!
 
The following users thanked this post: tooki

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 2260
  • Country: ca
  • If you can buy it for 4$ on eBay, why design it?*
Re: Why do people call an executable file (.exe) a binary file?
« Reply #28 on: April 25, 2020, 08:07:57 pm »
Usually people are not very old when they realise that language is not very precise, and not to worry too much about it.

But if you are worried about the use of "binary file", I don't know how your brain will cope when you discover auto-antonyms https://en.wikipedia.org/wiki/Auto-antonym

Or that kilo means 1024 in computers? Like wtf? I bought a kilo of strawberries and only got 1000 grams so I went back to the store and demanded my 24 grams because LOL why not
*Except AC/DC adapters on eBay. Avoid them all!
 
The following users thanked this post: tooki, AndersJ

Offline bluey

  • Regular Contributor
  • *
  • Posts: 126
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #29 on: April 25, 2020, 08:09:48 pm »
Way back when, humans wrote and understood text and machines wrote and understood binary.
 

Offline jpanhalt

  • Frequent Contributor
  • **
  • Posts: 800
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #30 on: April 25, 2020, 08:36:19 pm »

https://en.wikipedia.org/wiki/Asperger_syndrome

"literal interpretations and miscomprehension of nuance"

etc etc

Of course, Asperger's is the diagnosis de jour for any child with behavior problems.  "Hey, it's not a behavior problem, it's a disability."
 

Offline m98

  • Frequent Contributor
  • **
  • Posts: 415
  • Country: de
Re: Why do people call an executable file (.exe) a binary file?
« Reply #31 on: April 25, 2020, 09:16:37 pm »
Or that kilo means 1024 in computers? Like wtf? I bought a kilo of strawberries and only got 1000 grams so I went back to the store and demanded my 24 grams because LOL why not
That's kibi, not kilo. But asking for one kibigram of strawberries would probably be an interesting experiment.
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 3891
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Why do people call an executable file (.exe) a binary file?
« Reply #32 on: April 26, 2020, 01:04:07 am »
Or that kilo means 1024 in computers? Like wtf? I bought a kilo of strawberries and only got 1000 grams so I went back to the store and demanded my 24 grams because LOL why not
That's kibi, not kilo. But asking for one kibigram of strawberries would probably be an interesting experiment.
Please don't restart this discussion... There's already a lot at:

https://www.eevblog.com/forum/microcontrollers/kilobyte/
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #33 on: April 26, 2020, 04:48:09 am »
To bad we ain't a group of pshycoogists. This would be one hell of a case study in human behavior. From both sides I might add. You guys might be veterans filled with experiences, but are very narrow minded and quick to jump to conclusions about others - especially stereotypes and prejudies - as am I.

Just one last remark, stop the name-calling for crying out loud, stop calling me a child, entitled and attention-seeking while at the same time conducting a discussion like someone half my age.

 * You made a point.
 * Your position is based on a literal interpretation, not the common usage.
 * Responses were given that explain that the usage is well matured and that changing that usage (which is what you were advocating) would result in utter chaos.
 * You still maintain your position regardless.

The normal approach that has been taken by countless people working in the software and related industries is to understand the usage, accept it and thus expand their comprehension of a long established environment.  (I don't see how pointing this out is being 'narrow-minded' in any way.)

You have indicated this is not how you think things should be.

Hmmm...

Tell me what you would think of someone coming into an industry in which you have experience and telling you a term used globally for more than 50 years is wrong.

Quote
Close the thread, nobody is gaining anything from this except lots of self-validation by putting down others and verifying their own tunnel-vision.
This is the sort of response I would expect from someone too embarrassed to openly accept a lesson from those trying to help - which, by the way, only got terse when you did not exhibit any appreciation for the answers.

Quote
Which admittedly goes for me as well.
That's a response which will serve you well.  I, too, try to observe that principle.
 
The following users thanked this post: tooki, james_s

Offline Nusa

  • Super Contributor
  • ***
  • Posts: 1809
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #34 on: April 26, 2020, 06:20:09 am »
In common usage:

An "executable" is a file that's meant to be executed in a particular environment. If the environment is an interpreted language, the executable and the source may literally be the same file. A human-readable text file. Not a binary. So no, even the idea that an executable is always a binary is a non-starter, terminology-wise.

In the mathematical sense, "binary" has been around for centuries.

In the computer sense, "binary" was certainly around in the mainframe days, well before Apple and Microsoft even existed, to my personal knowledge. Like all non-specific words, context matters. In some contexts it might be better translated as "binary code" rather than "binary file".
 

Online magic

  • Super Contributor
  • ***
  • Posts: 2149
  • Country: pl
Re: Why do people call an executable file (.exe) a binary file?
« Reply #35 on: April 26, 2020, 06:44:20 am »
kibi
I gather the number in your nick is your year of birth :P
This made up word didn't even exist when most of us started using computers :D
 
The following users thanked this post: Siwastaja

Online Zero999

  • Super Contributor
  • ***
  • Posts: 14193
  • Country: gb
  • 0999
Re: Why do people call an executable file (.exe) a binary file?
« Reply #36 on: April 26, 2020, 07:48:20 am »
kibi
I gather the number in your nick is your year of birth :P
This made up word didn't even exist when most of us started using computers :D
Yes, I remember the controversy and I think legal action was taken against hard drive manufactures. I've just looked on Wikipedia and I was a student when this was in the process of being standardised. At the time we were just told to accept that kB was taken to mean 1024, when referring to memory, but hard drives, CDs etc. were specified in 1000s of bytes. If I remember rightly Windows at the time listed file sizes in 1024 bytes. I don't know if it still does this. The Linux ls command just lists everything in bytes with options to change from 1024 and 1000.
https://en.wikipedia.org/wiki/Binary_prefix#kibi
 

Online Fred27

  • Supporter
  • ****
  • Posts: 618
  • Country: gb
    • Fred's blog
Re: Why do people call an executable file (.exe) a binary file?
« Reply #37 on: April 26, 2020, 08:51:35 am »
It's hilarious that the OP doesn't know something, but starts from the position that everyone else must be "stupid and uninformed".
 
The following users thanked this post: tooki

Online Zero999

  • Super Contributor
  • ***
  • Posts: 14193
  • Country: gb
  • 0999
Re: Why do people call an executable file (.exe) a binary file?
« Reply #38 on: April 26, 2020, 09:26:31 am »
A binary file is a file where the meaning of each byte is not human readable.
A text or ASCII file is a file which is human readable in a text editor, because each byte is meant to be interpreted as an ASCII code.

A binary file can contain executable code or data - the data is just not readable in an text editor, in other words it does not represent ASCII data.

Regards,
Vitor
Originally ASCII was just 7-bits so all bytes in a plain text file must range between 0 to 127 decimal, although only a few or the control codes, below 32, were accepted for plain text files, normally just tab, new line/cartridge return, depending on the system. Many systems used the 128 to 255 values for symbols, but they were never standardised and could mean a file created using one system wouldn't read properly on another.

A binary file is just any file which can't be opened in a text editor. It will just produce seemingly random characters and might not completely load, since the text editor might stop reading the file, as soon as it encounters a zero byte or end of transmission control code. Saving the file will most likely corrupt it, since the text editor might substitute the cartridge return and line feed control codes, with either one or the other, or both, depending on the system.

I remember the MS-DOS 7 (Windows 95 to ME) DOS text editor could safely load and edit binary files, if the option was selected. It would just display the whole file, with the new line control codes displayed as symbols, rather than new lines. If you opened a plain text file with it, the ASCII text would show, but there would be symbols, where there should be new lines and the whole would just wrap round. It wasn't as good as a proper text editor, but could be used to edit strings in some .exe files which weren't protected against it and the program would normally run, as long as the length of the strings weren't changed.
 

Offline TomS_

  • Frequent Contributor
  • **
  • Posts: 500
  • Country: gb
Re: Why do people call an executable file (.exe) a binary file?
« Reply #39 on: April 26, 2020, 09:33:50 am »
Well, on a personal level, I use the term "binary" to refer to the compiled "source code" version of an application.

If you write software you would be more familiar with your application as a bunch of files containing source code in some high level language. Text files more or less.

This could then be translated to a machine specific intermediate language, usually some form of assembly language. Also text files, but could also be some other intermediate binary format.

That intermediate representation is then assembled to the machine code form that typically is represented by a .exe on Windows, or what ever other format for *nix.

The contents of this file will be in binary format as the contents would usually quite literally be the raw instructions to be executed by the CPU, in their native format e.g. where certain bits represent the opcode of the instruction, others the source/destination registers, etc. Plus other data for constants, initialised variables etc.

So as far as I'm concerned, binary is completely acceptable and appropriate. My interpretation is that Microsoft simply chose the extension .exe, short for executable, as a way to identify the contents of a file as being "code". For the user it makes it easy to identify which file they should double click to launch the application. Perhaps the OS relies on that extension to know that it should load and execute the code contained within, if it doesn't have any other metadata to describe what the file is and what to do with it (e.g. if you rename it to .txt it would open in Notepad instead).
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 14193
  • Country: gb
  • 0999
Re: Why do people call an executable file (.exe) a binary file?
« Reply #40 on: April 26, 2020, 10:34:32 am »
So as far as I'm concerned, binary is completely acceptable and appropriate. My interpretation is that Microsoft simply chose the extension .exe, short for executable, as a way to identify the contents of a file as being "code". For the user it makes it easy to identify which file they should double click to launch the application. Perhaps the OS relies on that extension to know that it should load and execute the code contained within, if it doesn't have any other metadata to describe what the file is and what to do with it (e.g. if you rename it to .txt it would open in Notepad instead).
Executables are also denoted by magic numbers, normally at the start of the file, followed by other information, the CPU architecture and where the code and data are found in the file. MS starts every file with MZ and Linux the hex code 7F (the delete* control code in ASCII), followed by the ASCII characters ELF. Linux doesn't worry about extension so much as Windows and will run an executable file, if it starts with the aforementioned magic number and is compatible with the machine's architecture.

*Because delete isn't an accepted control code in a text file, there's no telling what a text editor will do when it encounters the delete control code. It might display it as a symbol or it could simply stop reading the file.
 

Offline HobGoblyn

  • Frequent Contributor
  • **
  • Posts: 260
  • Country: gb
Re: Why do people call an executable file (.exe) a binary file?
« Reply #41 on: April 26, 2020, 10:41:13 am »

The term 'binary file' is used because no matter how you look at the content, it's just a bunch of 1's and 0's.


You could look at some binary files using the right disassembly program ;)
 

Offline m98

  • Frequent Contributor
  • **
  • Posts: 415
  • Country: de
Re: Why do people call an executable file (.exe) a binary file?
« Reply #42 on: April 26, 2020, 12:30:53 pm »
I gather the number in your nick is your year of birth :P
This made up word didn't even exist when most of us started using computers :D

Well, you could protest the change using your senior citizen bonus, or simply accept that it has become an international standard.
Seriously, what kind of an discussion is this.
 
The following users thanked this post: cgroen

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #43 on: April 26, 2020, 01:50:51 pm »

The term 'binary file' is used because no matter how you look at the content, it's just a bunch of 1's and 0's.


You could look at some binary files using the right disassembly program ;)
Disassembly programs .... Hah!

Be a real programmer.  Write in assembler.  You soon learn to read a hex dump one-to-one with your program source.

I was reading the IBM S/370 Principles Of Operations manual in 1976.  Writing application software in assembler kept me employed for more than 8 years before I stretched out into other languages.


But, I will admit that in today's bloatware such an approach has its issues.
 
The following users thanked this post: HobGoblyn

Offline jmsc_02

  • Regular Contributor
  • *
  • Posts: 63
  • Country: es
Re: Why do people call an executable file (.exe) a binary file?
« Reply #44 on: April 26, 2020, 04:42:45 pm »

It's just historic, rather like how we use the term 'cloud' for the internet. Anyone care to explain why we say "the cloud"?

Hahahah... This made me laugh because I think the term "cloud" comes from many 2000 age presentations where the internet was always shown as a cloud to abstract the complexity of connect two remote points and managers start to refer it as "cloud". example: https://en.m.wikipedia.org/wiki/Virtual_private_network#/media/File%3AVPN_overview-en.svg

Regarding the topic: always i keep something as an absolute truth, the experience is always the thing that tells me I was absolutelly wrong.

Other: why the save button is shown as a floppy disk? Last time I used one was 15 years ago and was to use a 20 years old computer
« Last Edit: April 26, 2020, 04:59:00 pm by jmsc_02 »
i am doing a great effort to get my english plugin up and running, but it has its bugs and "zero days" fails so please, help me to improve it!
 

Offline Masa

  • Contributor
  • Posts: 20
  • Country: fi
Re: Why do people call an executable file (.exe) a binary file?
« Reply #45 on: April 26, 2020, 05:21:22 pm »
Think about analog vs digital. All digital signals by nature are also analog signals. But it makes it much easier, when you can think on a higher level and ignore the details and the analog nature of the signal when it is not needed.

Usually on a computer it is important to know the file structure, because most files must be parsed / decoded to access and use the contents of the file. For this purpose, it is important to know precisely the structure of the file. By other words, you need to know more precisely than "it's a binary file", what file type it is, so that you know how to decode and parse it.

Executable files are one of the few files that rarely need to be parsed by other user programs. They are files that can be directly executed, hence it is not usually necessary to know the exact format of the file.

You usually can get away by calling them with such a general term as "a binary file".

You are correct, executable file is a much more informative name. Although there is also libraries which are not executable alone, there is executable's that are not executable on the same machine, there is "executable's" that are not directly executable, instead they are some kind of byte code that is compiled at the run time. Sometimes when you don't care about these details, you can generalize these as binary files as opposed to your source code, project and make files that are most likely text files.
« Last Edit: April 26, 2020, 05:27:11 pm by Masa »
 
The following users thanked this post: tooki

Offline james_s

  • Super Contributor
  • ***
  • Posts: 12055
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #46 on: April 26, 2020, 06:06:59 pm »
I gather the number in your nick is your year of birth :P
This made up word didn't even exist when most of us started using computers :D

Well, you could protest the change using your senior citizen bonus, or simply accept that it has become an international standard.
Seriously, what kind of an discussion is this.


You brought it up.

I'd never heard "kibi" before until this thread, I've never heard anyone mention "kibibytes", IMHO it sounds stupid and pedantic. Everyone knows that a kilobyte is 1024 bytes, it's only the stupid hard drive marketing that has ever claimed otherwise.
 

Online magic

  • Super Contributor
  • ***
  • Posts: 2149
  • Country: pl
Re: Why do people call an executable file (.exe) a binary file?
« Reply #47 on: April 26, 2020, 06:58:10 pm »
Seriously, what kind of an discussion is this.
In this thread we rant about widely accepted confusing terminology and about those who rant about widely accepted confusing terminology.
:popcorn:

I'd never heard "kibi" before until this thread, I've never heard anyone mention "kibibytes", IMHO it sounds stupid and pedantic.
No. As the guy points out, this pedantry has made its way into various standards and the UI of at least one notable operating system, one catering primarily to people who would never figure out the old kilobyte :P It may have been adopted by the other operating system too by now. HDD flash manufacturers won :scared:
 

Offline DimitriP

  • Super Contributor
  • ***
  • Posts: 1118
  • Country: us
  • "Best practices" are best not practiced.© Dimitri
Re: Why do people call an executable file (.exe) a binary file?
« Reply #48 on: April 26, 2020, 07:29:07 pm »
Quote
this pedantry has made its way into various standards
So we shouldn't talk about monitor sizing then ...  :-DD   
   If three 100  Ohm resistors are connected in parallel, and in series with a 200 Ohm resistor, how many resistors do you have? 
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2052
  • Country: gb
Re: Why do people call an executable file (.exe) a binary file?
« Reply #49 on: April 26, 2020, 07:48:21 pm »
the .exe file is often referred to as a binary file.
This thread is long and I haven't read it  :) ... but to the OPs original point...

My interpretation is this terminology comes from the classification of files in the context of systems that manipulate files... e.g. Version Control Systems.  A "source" file is some human generated content that is used as an input into some build system and typically would have lines which are terminated with an O/S dependent line ending and a character encoding either explicit or implied.  These source files are held in a version control system (sccs, vcs, git whatever) in a potentially O/S agnostic way and returned to the user with an interpretation they require.  On the other hand there are files that are not interpret-able in that sense and should be held in a bit for bit representation with no jiggery pokery.  Examples of binary files would be images, executables, libraries etc.

So executables are binaries.  Binaries are executables, images, etc...



 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 9693
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #50 on: April 26, 2020, 09:26:47 pm »
I think T3sl4co1l had the best answer, which is that a binary file is one where the exact order and value of the bytes is critical and must not be changed. If you copy a binary file, the copy must have exactly the same bytes in exactly the same order with no additions, removals, or replacements, or the file will be corrupted. With a text file this is not necessarily the case, for example a line end marker of LF on one system may be replaced by CR+LF on another system without changing the meaning of the file.

This was important in the old days with file transfer programs like Kermit, where copying a binary file in text mode might damage the file. It is less important these days in the era of networking, where all files tend to be copied byte for byte and the application tools are more tolerant of different line ending conventions.

We then have what magic said, which is that "a binary" tends to be a colloquialism for a binary file containing executable code in one form or another, e.g. *.obj, *.lib, lib*.a, *.dll, *.exe, etc.

A .jpg may be a binary file, but it is not commonly referred to as  "a binary".

In an earlier post I nearly said that opening a binary file in a text editor may produce a display that looks like line noise, but then I thought that many readers may not have even seen line noise and may not know where the term comes from. Lucky are those that never had to connect over a dial up line with an acoustic modem  :phew:
« Last Edit: April 26, 2020, 09:28:31 pm by IanB »
I'm not an EE--what am I doing here?
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 3891
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Why do people call an executable file (.exe) a binary file?
« Reply #51 on: April 27, 2020, 01:17:52 am »
I think T3sl4co1l had the best answer, which is that a binary file is one where the exact order and value of the bytes is critical and must not be changed. If you copy a binary file, the copy must have exactly the same bytes in exactly the same order with no additions, removals, or replacements, or the file will be corrupted. With a text file this is not necessarily the case, for example a line end marker of LF on one system may be replaced by CR+LF on another system without changing the meaning of the file.
If only the world was so simple... :)

A XML file is not a binary file, but it can't also have the order of text changed or removed. A batch or shell script falls into the same category and, to top it off, is an executable. These have more lax restrictions than a binary, but not as much as a composed text.

The definition has to be related to the human readability.
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 6817
Re: Why do people call an executable file (.exe) a binary file?
« Reply #52 on: April 27, 2020, 01:31:39 am »
Here's something to ponder...

Here are a few lines from a .hex file:
[plain]
:100000002F0000EA24F0A0E340F0A0E32CF0A0E3EE
:1000100034F0A0E30000A0E1F0FF1FE5BA00A0E388
:10002000070000EAA800A0E3050000EAAE00A0E394
:10003000030000EAB400A0E304E04EE2000000EA9E
:10004000BF00A0E304E04EE280119FE50120D0E470
:10005000143091E5200013E3FCFFFF0A000052E397
:1000600000208115F8FFFF1A0850A0E39840A0E394
:100070002E0EA0E1002094E7143091E5200013E358
[/plain]

But what you are actually seeing on your monitor is ascii.  Does that make it "stupid" to call it a "hex" file?
What I'm actually seeing on my monitor is pixels. Or rather, the photons emitted by said pixels.
 

Offline IanB

  • Super Contributor
  • ***
  • Posts: 9693
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #53 on: April 27, 2020, 01:53:13 am »
A XML file is not a binary file, but it can't also have the order of text changed or removed.

I agree with you. An XML file is not a binary file, it is a text file.
I'm not an EE--what am I doing here?
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 15258
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Why do people call an executable file (.exe) a binary file?
« Reply #54 on: April 27, 2020, 02:02:18 am »
He did say "not necessarily the case"...

XML, batch, script -- none should care about the order of whitespace, AFAIK.  Whitespace is text, therefore they can be reordered to some extent.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Brumby

  • Supporter
  • ****
  • Posts: 10049
  • Country: au
Re: Why do people call an executable file (.exe) a binary file?
« Reply #55 on: April 27, 2020, 02:24:36 am »
Hey, slow down.  I've run out of popcorn.   ;D
 

Offline rsjsouza

  • Super Contributor
  • ***
  • Posts: 3891
  • Country: us
  • Eternally curious
    • Vbe - vídeo blog eletrônico
Re: Why do people call an executable file (.exe) a binary file?
« Reply #56 on: April 27, 2020, 02:50:35 am »
All files are binary and text files are a subset; if the order of the bits of the ASCII characters of a text file is changed, it becomes unreadable.

Thinking a bit more about that, I think a possible "definition" (or just one more element to try and define it) is that text files can be created and interpreted by a human without aids other than a text input device (e.g. keyboard, optical pointer) and a display device (printer, character display, graphical display, etc.).

Or maybe not. It is getting late here... Good evening y'all!
Vbe - vídeo blog eletrônico http://videos.vbeletronico.com

Oh, the "whys" of the datasheets... The information is there not to be an axiomatic truth, but instead each speck of data must be slowly inhaled while carefully performing a deep search inside oneself to find the true metaphysical sense...
 

Offline Back2Volts

  • Supporter
  • ****
  • Posts: 477
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #57 on: April 27, 2020, 03:22:33 am »
As great as the internet is, this is just a stupid mistake that somebody once made and now everybody keeps repeating that.

Leo

 :-DD Not sure how old you are, but we called files binary and non-binary long before the internet (as we know it today) conquered  the world  ^-^
Calling a file "binary" is as common now as it were 40 years ago from where I'm from.

Yes, this question goes right along with "Did phones really have a round disk with holes?"    ;D
 

Offline Nerull

  • Frequent Contributor
  • **
  • Posts: 683
Re: Why do people call an executable file (.exe) a binary file?
« Reply #58 on: April 27, 2020, 05:05:02 am »
I think T3sl4co1l had the best answer, which is that a binary file is one where the exact order and value of the bytes is critical and must not be changed. If you copy a binary file, the copy must have exactly the same bytes in exactly the same order with no additions, removals, or replacements, or the file will be corrupted. With a text file this is not necessarily the case, for example a line end marker of LF on one system may be replaced by CR+LF on another system without changing the meaning of the file.
If only the world was so simple... :)

A XML file is not a binary file, but it can't also have the order of text changed or removed. A batch or shell script falls into the same category and, to top it off, is an executable. These have more lax restrictions than a binary, but not as much as a composed text.

The definition has to be related to the human readability.

Sure it can. Changing the line endings will not break an XML file, generally.

That's why FTP has 'ASCII' and 'BINARY' transmission modes. Binary mode preserves a file byte for byte, precisely. ASCII does translations between different operating system text encoding standards. The sending host is responsible for transforming the text file into a standard NVT-ASCII format from whatever its native format is, and the receiving host is responsible for doing the reverse.
« Last Edit: April 27, 2020, 05:11:07 am by Nerull »
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 12055
  • Country: us
Re: Why do people call an executable file (.exe) a binary file?
« Reply #59 on: April 27, 2020, 05:11:46 am »
The key to all of this is that language is an imprecise art form, certainly English is notorious, I can't comment on the nature of other languages.

I think it's pretty clear that the origin of the term comes from the fact that human readable source code goes into a compiler/linker/assembler and a non-human-readable binary file comes out. The term "binary" differentiates the compiled code from human-readable source.

Beyond that we're back to the fact that language is imprecise and has many nuances. There are binary files that are neither human readable nor are they compiled from source or executable, deciding what to call a given file is not always clear cut and there are multiple correct answers in many cases. It's not sufficient in many cases to simply read the words and interpret them literally, I could go on all day listing examples of common phrases that are nonsensical if interpreted absolutely literally.
 

Offline NivagSwerdna

  • Super Contributor
  • ***
  • Posts: 2052
  • Country: gb
Re: Why do people call an executable file (.exe) a binary file?
« Reply #60 on: April 27, 2020, 08:53:53 am »
The key to all of this is that language is an imprecise art form, certainly English is notorious, I can't comment on the nature of other languages.
Which leads to the great cryptic crosswords.   :)
 

Online tooki

  • Super Contributor
  • ***
  • Posts: 5021
  • Country: ch
Re: Why do people call an executable file (.exe) a binary file?
« Reply #61 on: April 27, 2020, 04:00:31 pm »
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.
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3208
  • Country: lv
Re: Why do people call an executable file (.exe) a binary file?
« Reply #62 on: April 27, 2020, 05:51:10 pm »
We call binary files “binaries” because there’s no human-readable form.
Why do you add to confusion by introducing "human readability"? HEX files are not that much "human readable", many word processor files that are binary, can contain human-readable information.

Wikipedia says "A binary file is a computer file that is not a text file.". That's it. All you want to know. Well, besides knowing what text file is :)

https://en.wikipedia.org/wiki/Binary_file
https://en.wikipedia.org/wiki/Text_file
 

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 2260
  • Country: ca
  • If you can buy it for 4$ on eBay, why design it?*
Re: Why do people call an executable file (.exe) a binary file?
« Reply #63 on: April 27, 2020, 06:51:13 pm »
all text on a computer is ultimately encoded as binary.

Even if stored on a https://en.wikipedia.org/wiki/Multi-level_cell ?? ;D
*Except AC/DC adapters on eBay. Avoid them all!
 

Online tooki

  • Super Contributor
  • ***
  • Posts: 5021
  • Country: ch
Re: Why do people call an executable file (.exe) a binary file?
« Reply #64 on: April 28, 2020, 08:12:36 am »
We call binary files “binaries” because there’s no human-readable form.
Why do you add to confusion by introducing "human readability"? HEX files are not that much "human readable", many word processor files that are binary, can contain human-readable information.
Actually, that phrasing had already been introduced by others in this thread.

But your point is well taken. We meant “human readable” in that you can read the characters, even if they aren’t immediately understandable.

Hex, FWIW, is simply a convenient way to display binary data, instead of displaying long strings of 1s and 0s. They’re definitely not text files.


Wikipedia says "A binary file is a computer file that is not a text file.". That's it. All you want to know. Well, besides knowing what text file is :)
Well, it’s all you need to know unless you’re a cocky teenager who thinks he’s outsmarted the entirety of the computer industry!  ;D
 

Offline ogden

  • Super Contributor
  • ***
  • Posts: 3208
  • Country: lv
Re: Why do people call an executable file (.exe) a binary file?
« Reply #65 on: April 28, 2020, 04:24:13 pm »
We meant “human readable” in that you can read the characters, even if they aren’t immediately understandable.
Yes, I got it that saying so people did mean plain text files. I just wanted to point out problem with term "human readable" because there are machine-readable text files, like (surprise surprise) HEX files.

Quote
Hex, FWIW, is simply a convenient way to display binary data, instead of displaying long strings of 1s and 0s. They’re definitely not text files.
Please do not confuse display with file ;)  HEX files, other name Intel HEX files are definitely text files:

https://en.wikipedia.org/wiki/Intel_HEX

Quote
Well, it’s all you need to know unless you’re a cocky teenager who thinks he’s outsmarted the entirety of the computer industry!  ;D
:) It is fine to be young and "think different". Hopefully OP will take file format lesson for good and proceed further.
 
The following users thanked this post: tooki


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf