Hacker News new | ask | show | jobs
by puller 4572 days ago
Is it ever not true that when you forget a step, you have to look into what's wrong? In any language, or any project?
1 comments

1. The fewer steps, the less chance of making a mistake. With node/npm there is no need to set up anything, 'virtualenv' is enabled by default, just npm install and you're set.

2. Some tools make it easier to detect the mistakes and guide you to a solution. Some present you with unintelligible messages or a (for end-users rather useless) stacktrace. Others describe the problem nicely (in prose), point you to FAQ/documentation or tell you what the most likely solution is.

> 1. The fewer steps, the less chance of making a mistake. With node/npm there is no need to set up anything, 'virtualenv' is enabled by default, just npm install and you're set.

You're assuming that setting up virtualenv is a heroic, error-prone process rather than a couple seconds the first time you get a new system – just like node/npm.

Once you've installed virtualenv or npm, the process is identical: you need something, you install it and if something breaks you have to debug that particular package. In both cases, you're going to need to be able to read an error message and in neither case does the challenge usually involve packaging rather than, say, an issue with a shared library or incompatible/unavailable dependencies.

> 2. Some tools make it easier to detect the mistakes and guide you to a solution.

Again, there's no meaningful difference between the two unless you choose to make your environment complicated, which is not a problem specific to a language. I use both node and python on a regular basis and there's no general conclusion to be made about either one – npm installs are slower, python requires me to activate a virtualenv when I open a new window[1], and none of that really matters because no developer should be spending all day installing packages or opening terminal sessions.

1. If this is truly soul-crushing, it's a solved problem: https://gist.github.com/codysoyland/2198913