[Wine] Re: Difference Between WINE and an Emulator

Alan McKinnon alan at linuxholdings.co.za
Thu Dec 7 03:08:54 CST 2006


On Thursday 07 December 2006 04:46, Matthew Reed wrote:
> >>An emulator is a specific type of program that mimics hardware.
> >> Windows is not a piece of hardware, ergo Wine Is Not an Emulator.
> >> It's merely a clone of the Windows API.
> >
> > This is probably the best answer you will get that is clear and
> > simple. Out of interest the term I use to explain to others the
> > concept is that WINE is a compatibility layer between Linux and
> > Windows.  Does that seem an accurate use of the word? It tends to
> > set the right impression in the minds of the people I've explained
> > it too.
>
> There are software emulators, and there are hardware emulators.
> According to Wikipedia:
>
> "A software emulator allows computer programs to run on a platform
> (computer architecture and/or operating system) other than the one
> for which they were originally written."
> (http://en.wikipedia.org/wiki/Emulator).
>
> That is *exactly* what Wine does.

Take the name "wine" with a grain of salt. It's a word play and a 
traditional Unix joke where the dev thinks up a clever pun as the name 
for the app.

Eg: We had more, and a better more is of course less. A better less is 
naturally most. And what else would you call an improved cat other than 
do?

The wikipedia quote you gave defines what an emulator *does*, not what 
it *is*, so it's not really a definition of an emulator. If it were, a 
definition of my car would be "that thing that gets me to work" which 
explains nothing.

An emulator is software or hardware that pretends to be a platform that 
it is not. Wine doesn't do that, it is an implementation of a spec. The 
fact that it is implemented on a different platform to what the spec 
designer had in mind is irrelevant. To further illustrate the point, I 
have compat-libs installed on this machine so that a third party binary 
(a database) can run. It was designed for a glibc 2.3 platform and this 
machine is glibc 2.5. These compat-libs fit your wikiedia definition 
exactly, but you would never ever call them emulators, right?

alan




More information about the wine-users mailing list