Just one zero-configuration command will launch an internal
geth with reasonable settings for the genesis block and other parameters.
The testnet is a one-node proof-of-authority chain with a one second block time, so you never have to waste any CPU cycles on proof-of-work, and you get a snappy experience when deploying contracts and testing frontends.
Starting couldn’t be simpler — just run
dapp testnet. It doesn’t matter from which directory you run it. …
Here’s how Eelco Dolstra motivates Nix in his 2006 Ph.D. thesis, The Purely Functional Deployment Model:
The development of principles and tools to support the deployment process has largely been relegated to industry, system administrators, and Unix hackers. This has resulted in a large number of often ad hoc tools that typically automate manual practices but do not address fundamental issues in a systematic and disciplined way.
Nowadays the popular tools for reliable distribution and deployment are things like npm, apt, Docker, and Ansible. But these don’t really solve the problem of defining how to build and combine software artifacts.