Comment by fnordfnordfnord
13 years ago
What shall we call WINE then? A "pretender"? I'm serious btw. I've never seen a good concise explanation of the way WINE works in comparison to say, an emulator. I have a fairly good idea myself, but I wouldn't want to have to give more than a very brief talk over it.
From the WINE website: "Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop." [1]
[1]http://www.winehq.org/about/
> What shall we call WINE then?
tl;dr: compatibility layer
I should have been more specific. How would you introduce WINE to freshmen, not CS students who might need to study WINE in detail, but well, here's a specific case, college freshmen who are expected to install WINE and then install and use software such as LTSpice, DipTrace, etc.? Or, more generally, how to explain it to neophytes who are expected to become moderately sophisticated computer users who might need to use WINE, but will probably never be software devs.
Something like:
WINE is a translator that allows Windows programs (those that have an .exe extension) to talk to other Operating Systems.
or perhaps:
Many people need wine if you want them to work. A windows program on Linux is no exception.
> WINE is a translator that allows Windows programs (those that have an .exe extension) to talk to other Operating Systems.
I'm sure the aforementioned freshmen would like a no-bullshit explanation for why "emulator" hurts the WINE people's feelings but "translator" does not. It's always been a mystery to me.
1 reply →
A reverse-engineered implementation of the Win32 API?
Now we'll also have to explain what an API is, and then add some details about the Win32 API.
Not pithy enough.
It's a set of libraries, and a loader for EXEs and DLLs. That's the simplest, most literal way I can think of to explain it.