Which preposition should be used in the following sentence?

All of my programs are running in/on a 16-core machine.

Google shows both options.

3 Answers 3


Programs run on, and not in, a computer or machine.

  • I can run Windows on my mac using Boot Camp.
  • Memory-intensive applications run on my multicore monster of a machine like a dream.

Consider these sentences, though:

  • I run all my programs in Windows on my mac.
  • Office 2004 won't run in Snow Leopard, will it?

Generally, software to hardware takes on, while software to software takes in.

  • 2
    +1 Better defined than my answer.
    – Daniel
    Aug 27, 2011 at 19:55
  • 8
    I think this comes from the metaphor whereby hardware forms a "platform" for software, whereas an OS creates an "environment". Aug 27, 2011 at 20:22
  • @Knechtel: Excellent! Environment came into my head for software, but I couldn't think of the equivalent metaphor for hardware, so I simply decided to leave that out. Great point!
    – Jimi Oke
    Aug 27, 2011 at 20:29
  • 2
    I'm not so sure about the on/in thing; Most games don't work on Linux sounds fine to me.
    – Javier
    Aug 28, 2011 at 0:11
  • @Javier: I agree that both on and in sound fine when talking about OSes. Aug 28, 2011 at 0:31

On. Programs running on a computer is more common (though both are used), and sounds more natural to my ear. The ratio seems to be about 4:1 in favor of on, according to Google, and even greater in favor of on, according to Ngrams.


Actually my first reaction is that of on as opposed to in. However taking this into a more general purpose arena.

Machines (both software and hardware) are models of abstract processes or functions. A simple machine encodes a simple function (look at a broom for example). Where are computer enocdes many complex functions.

So looking at it from this perspective, would the execution of these processes (programs) not be embodied within the model as opposed to on the model?

Therefore I must say that both are equally valid unless deeper specificity is required.

  • 2
    This does not make sense to me at all. What do you mean by “models of abstract processes”? Machines and processes are different things. Moreover, usually a machine is a machine and not a model of anything, unless you are talking about computational models in theoretical computer science such as Turing machines. Aug 28, 2011 at 0:37
  • 1
    I am. A machine imo is just a substrate or surface upon which the a computational model may be executed. I can see how you say machines and processes are different. However the purpose of any machine is execute a mathematical function and as such really is the approximation to a process. Dec 1, 2011 at 10:31
  • @PreetSangha Your comment gets a +1 for the elucidation, without which the answer cannot be convincing.
    – Kris
    Dec 1, 2011 at 11:00
  • -1 This is largely irrelevant (for language and usage) and mostly overgeneralized. Also, "machines are models" is such narrow view, that from linguistic aspect you can call it outright false. Then, machines do not "encode" a function, nor does using a metaphor such as "surface or substrate" help with clarifying the choice of propositions.
    – Unreason
    Dec 1, 2011 at 14:47
  • How can ' is such narrow view, that from linguistic aspect you can call it outright false' be considered anything but a gross oversimplification? Ho hum Dec 1, 2011 at 19:09

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.