I'm not sure what that exactly means. Why do people use the term vacuum like this? Please advise.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
Anything done "in a vacuum" means it was done with no interference, no influence, no disturbances. It is referring to the vacuum in space, where there is no air, no nothing.
For "programming in a vacuum", it would imply that a programmer is just programming by themselves. Probably need more context to know whether or not this is suppose to be a positive attribute or a negative. It could mean the programmer is doing things wrong because they aren't getting any outside help or instructions, or a good thing, because the programmer is not being disturbed and can concentrate on the job at hand.
A vacuum is empty space; a void. A vacuum is often held up as a place where conditions are perfect and ideal, unlike the real world:
The idea of doing an activity, such as programming, in a vacuum, can refer to the idea of doing it without a surrounding environment or without context and purpose. An author might use such a phrase to emphasize that this is unrealistic, as in this essay by Philip Guo:
Or, an author can make the point that working without a surrounding environment, without peers, would be like being in a vacuum, as in this IBM article about peer code review:
Programming "in a vacuum", similar to doing anything in said state, is a reference to attempting to perform that task without any outside information of any kind. It is indeed, as others have said, a reference to the vacuum of space, where there is very little if anything to influence the path of an object moving through it.
In programming, it is generally not a good thing. It means that the programmer is not receiving any feedback regarding what he is currently doing, and so, while his code may be well-designed and bug-free, It can still be wrong if it doesn't meet the client's needs. While it may be good for programmers to work in isolation, where communication between clients and programmers is controlled through intermediaries or liasons (thus removing a source of direct pressure on the programmers from clients who need it done yesterday for free), it is virtually impossible to produce a good product if there is no source of feedback into the development process whatsoever.