Software Development Environment
A Software Development Environment is a computing environment that helps a software developer to solve a software programming task.
- AKA: Development Environment, Programming Environment.
- Context:
- Task Input: Source Code, Development Tools, Project Resources
- Task Output: Software Artifacts, Development Results
- Task Performance Measure: Development Productivity, Code Quality, Build Success
- ...
- It can (typically) provide Development Tools through integrated interfaces.
- It can (typically) manage Project Resources via environment setups.
- It can (typically) support Code Development through programming aids.
- It can (typically) enable Software Testing via test frameworks.
- It can (typically) facilitate Code Management through version controls.
- It can (typically) include Source Code Editors for code writing.
- It can (typically) include Code Debuggers for error fixing.
- It can (typically) integrate Compilers for code translation.
- ...
- It can (often) automate Build Processes through build scripts.
- It can (often) assist Code Navigation via code browsers.
- It can (often) enhance Code Quality through analysis tools.
- It can (often) support Continuous Integration via automation systems.
- It can (often) match Target Environments through configuration tools.
- ...
- It can range from being a On-Premise Development Environment to being a Cloud-Based Development Environment, depending on its hosting model.
- It can range from being an Integrated Development Environment to being a Non-Integrated Development Environment, depending on its tool integration.
- It can range from being a High-Code Development Environment to being a No-Code Development Environment, depending on its coding requirement.
- It can range from being a Basic Development Environment to being an Advanced Development Environment, depending on its feature set.
- It can range from being a Single-Language Environment to being a Multi-Language Environment, depending on its language support.
- ...
- Example(s):
- Desktop Development Environments (local systems for individual developments), such as personal IDE systems.
- Server Development Environments (remote systems for team developments), such as collaborative platform systems.
- Cloud Development Environments (hosted systems for distributed developments), such as cloud-based IDE systems.
- Mobile Development Environments (specialized systems for mobile developments), such as mobile IDE systems.
- Web Development Environments (browser systems for web developments), such as web-based IDE systems.
- Enterprise Development Environments (custom systems for organization developments), such as:
- VigLink Development Environments for business-specific developments.
- OpenGov Development Environments for government-specific developments.
- PlayStation Development Environments for game-specific developments.
- Medable Development Environments for healthcare-specific developments.
- LegalOn Development Environments for legal-specific developments.
- ...
- Counter-Example(s):
- Text Editor, which lacks development tools.
- Command Line Interface, which provides only basic operations.
- File Manager, which handles only file operations.
- Runtime Environment, which executes rather than develops software.
- Software Integration Environment, which combines rather than develops code.
- Testing Environment, which validates rather than develops software.
- Staging Environment, which simulates rather than develops production.
- Production Environment, which runs rather than develops software.
- See: Development Tool, Programming Environment, Software Engineering, Development Platform, Code Editor, Compiler, Interpreter (Computing), Continuous Integration, Revision Control, Sandbox (Software Development).
References
2020
- (Wikipedia, 2020) ⇒ https://en.wikipedia.org/wiki/Deployment_environment#Development Retrieved:2020-5-1.
- The development environment (dev) is the environment in which changes to software are developed, most simply an individual developer's workstation. This differs from the ultimate target environment in various ways – the target may not be a desktop computer (it may be a smartphone, embedded system, headless machine in a data center, etc.), and even if otherwise similar, the developer's environment will include development tools like a compiler, integrated development environment, different or additional versions of libraries and support software, etc., which are not present in a user's environment.
In the context of revision control, particularly with multiple developers, finer distinctions are drawn: a developer has a working copy of source code on their machine, and changes are submitted to the repository, being committed either to the trunk or a branch, depending on development methodology. The environment on an individual workstation, in which changes are worked on and tried out, may be referred to as the local environment or a sandbox. Building the repository's copy of the source code in a clean environment is a separate step, part of integration (integrating disparate changes), and this environment may be called the integration environment or the development environment; in continuous integration this is done frequently, as often as for every revision. The source code level concept of "committing a change to the repository", followed by building the trunk or branch, corresponds to pushing to release from local (individual developer's environment) to integration (clean build); a bad release at this step means a change broke the build, and rolling back the release corresponds to either rolling back all changes from that point onward, or undoing just the breaking change, if possible.
- The development environment (dev) is the environment in which changes to software are developed, most simply an individual developer's workstation. This differs from the ultimate target environment in various ways – the target may not be a desktop computer (it may be a smartphone, embedded system, headless machine in a data center, etc.), and even if otherwise similar, the developer's environment will include development tools like a compiler, integrated development environment, different or additional versions of libraries and support software, etc., which are not present in a user's environment.
2021
- https://zurigroup.com/blog-best-practices-development-environments/
- QUOTE: ... 4 Best Practices for Development Environments (shared by a developer)
- Establish a local development environment.
- Operate a single machine to both run the application and develop on
- Adopt source control
- Create a safe space for testing within the dev environment
- QUOTE: ... 4 Best Practices for Development Environments (shared by a developer)