6

What can you respond to someone who asks you:

...And why can't I install a Windows application on my Linux computer?

0

5 Answers 5

17

You could use the "human language" as an analogy.

Windows programs talk to Windows OS using the Windows API, the API is like a language.

Linux programs talk to the Linux OS using another language, the Linux API. Linux doesn't "speak" Windows API, Windows doesn't "speak" Linux API.

There are ways to make Linux understand Windows API, like installing Wine as a translator.

1
  • you beat me to it. Nice answer.
    – Babu
    Jul 25, 2009 at 17:19
9
+50

To improve the "human language" analogy a little:

Every time a program needs to display something on the screen (a window, text, picture, menu, button...), read a file from disk, connect to a network, make a sound, do something when a user clicks the mouse or when the user types something, every time a program needs to do that, it must ask the operating system to do it. In fact, talking to the operating system is what a program does most of the time.

Both Windows operating system and Linux operating system can do all of that easily, but since they were created by different people, they both do it in a different way and also the program needs to ask for those services in a different way. The languages that Linux and Windows speak are completely different.

1
  • 3
    +1 for not mentioning "API"
    – ChrisF
    Jul 25, 2009 at 17:47
0

Well, first of all, there's Wine.

Second, it's (put simply) because the applications use system functions, and each system is different, so they're not compatible.

0

How about a car comparison/analogy? All car are the same, but some use Unleaded fuel and some use Diesel fuel. You can't run diesel in an unleaded engine.

6
  • 1
    "Why can't you run diesel in an unleaded engine?" Jul 25, 2009 at 18:35
  • 1
    I prefer "Why cant you put a Chevy engine in front of a Toyota transmission?" Jul 25, 2009 at 19:09
  • I don't even know what a Chevy engine is! If you're explaining to a car fan, then a car analogy is good; if you're explaining to a random regular person, you're just adding to the confusion. Jul 25, 2009 at 20:37
  • 3
    -1 It's a car analogy. Jul 25, 2009 at 22:02
  • 2
    What is "gas"? I put petrol in my car. This comment discussion is a good example of why the "human language" analogy is a far more sensible method than trying to use US-centric car terms. Jul 29, 2009 at 13:05
0

Update - 2019

This post from 2009 is no longer strictly true after 10 years have passed.

Windows exe on Linux

Very many Windows apps work correctly on Linux using WINE, which has evolved a lot in the last 10 years. WINE supplies the library that translates Windows system calls to Linux and understands the exe format.

Linux on Windows

With Windows Containers and Windows Subsystem for Linux (WSL), Windows 10 can run Linux-based containers and programs, and rather efficiently, too.

2
  • Read the question carefully. OP was asking a response to "why can't I install a Windows application on my Linux computer?", which means the host machine is Linux and not Windows. From WIkipedia: Windows Subsystem for Linux (WSL) is a compatibility layer for running Linux binary executables (in ELF format) natively on Windows 10 and Windows Server 2019.
    – user109256
    Nov 23, 2019 at 8:46
  • @clearkimura: Windows apps do work correctly on Linux using WINE. Answer extended.
    – harrymc
    Nov 23, 2019 at 9:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.