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

0 Members and 1 Guest are viewing this topic.

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • 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."
 

Offline magic

  • Super Contributor
  • ***
  • Posts: 6733
  • 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: 3330
  • Country: ca
  • Place text here.
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
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 
The following users thanked this post: tooki

Offline Alex Eisenhut

  • Super Contributor
  • ***
  • Posts: 3330
  • Country: ca
  • Place text here.
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
Hoarder of 8-bit Commodore relics and 1960s Tektronix 500-series stuff. Unconventional interior decorator.
 
The following users thanked this post: tooki, AndersJ

Offline bluey

  • Regular Contributor
  • *
  • Posts: 142
  • 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

  • Super Contributor
  • ***
  • Posts: 3396
  • 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: 613
  • 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: 5980
  • 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...
 

Online Brumby

  • Supporter
  • ****
  • Posts: 12288
  • 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: 2416
  • 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".
 

Offline magic

  • Super Contributor
  • ***
  • Posts: 6733
  • 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

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19345
  • 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
 

Offline Fred27

  • Supporter
  • ****
  • Posts: 726
  • 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

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19345
  • 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: 834
  • 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).
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 19345
  • 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

  • Supporter
  • ****
  • Posts: 510
  • 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: 613
  • 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

Online Brumby

  • Supporter
  • ****
  • Posts: 12288
  • 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: 21611
  • 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.
 

Offline magic

  • Super Contributor
  • ***
  • Posts: 6733
  • 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:
 

Online DimitriP

  • Super Contributor
  • ***
  • Posts: 1288
  • 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: 2495
  • 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...



 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf