Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

By luck i landed on this website http://www.vagrantup.com/ It is says, that software is for development environment.

My question is what exactly definition for development environment (in this case is vagrant)?

I wondering what vagrant can give benefit to me as PHP web developer, my current thoughts for development environment is Web Server. Is that right?

share|improve this question

closed as too broad by gnat, GlenH7, MichaelT, Michael Kohne, ChrisF Mar 30 '14 at 18:21

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.

Are you curious of what the purpose of Vagrant is? (In which case, you can review their "Why Vagrant?" page). Or are you really wondering what a "development environment" is? It's not clear from your description. –  Derek Mar 6 '13 at 17:09
@Derek I'm curious what is development environment. In this case is the example vagrant can help us to make development environment. –  GusDeCooL Mar 7 '13 at 4:05

2 Answers 2

up vote 10 down vote accepted

Development environment is one of the three stages of software development process.

All those environments are made for specific purposes, with specific requirements when it comes to their configuration.

  1. Development environment.

    It consists of a sandbox which is used by the developers to test yet unreliable source code, new features and new ideas.

  2. Staging environment.

    It is used for definitive testing when moving the application to production. If the application messes up with staging environment, it will not impact the business and will not be visible by the customers.

    The staging environment has a configuration very close (if not identical) to the one used in production. This reduces, when moving the app to production, the risk of discovering a bug which is strongly linked to the specificity of production environment (so the bug which never appeared in development environment).

  3. Production environment.

    It consists of the final environment used by the customers. A failure on this level is not acceptable for business; that's why two other environments are used.

share|improve this answer

Within the context of vagrant, a development environment is the machine and its installed tooling on which you develop your applications.

The advantage of vagrant is that it ensures each developer works on an identical (virtual) machine, so that it is ensured that, if you use any external tools from your application, the application does not become dependent on the tool (-version) you happen to have installed locally.

share|improve this answer

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