When comparing GIMP vs NPM, the Slant community recommends GIMP for most people. In the question“What are the best web design tools?” GIMP is ranked 6th while NPM is ranked 15th. The most important reason people chose GIMP is:
GIMP is completely free and open source, meaning you can use GIMP and all of its features without spending a penny. This makes it an excellent case for artists or designers who may not have the budget to spend over 700 USD on Photoshop. It is also available for free on Windows, Mac OS and Linux. It's licensed under GPL with source code available [here](http://www.gimp.org/source/).
Ranked in these QuestionsQuestion Ranking
Pro Free, open source and cross-platform
GIMP is completely free and open source, meaning you can use GIMP and all of its features without spending a penny. This makes it an excellent case for artists or designers who may not have the budget to spend over 700 USD on Photoshop. It is also available for free on Windows, Mac OS and Linux. It's licensed under GPL with source code available here.
GIMP is the most feature rich free image editing tool. It has most image manipulation and workflow tools that you would expect from an image editing software and what it lacks it makes up with plugins.
Pro Content-aware tools with a plugin
There's a content-aware fill plugin available for GIMP.
Pro Modular & single-window interface options
By default GIMP splits out each window, but you can check to use the one screen mode in options if you prefer.
Compared to to other photo editing software, GIMP is very light weight. In addition it isn't very resource-intensive, meaning you can put it on a flash drive and have it with you to load up on just about any computer.
Gimp has less features than programs like Photoshop, but for a beginner, or someone not needing complicated options, Gimp is the perfect choice. It allows you to quickly do basic photo manipulation so you can easily get the product you need without having to worry about complicated features getting in the way.
Pro Full channel support
Pro Compatible with any CLI
NPM is compatible with any CLI the developer wants to use.
Pro Plenty of helpful NPM modules/plugins
NPM has a strong community that has developed plenty of libraries and plugins that are useful to developers.
Pro Very concise configuration
NPM scripts require fewer lines of code to run a given task. This is true even when it's for running build processes. Using Unix pipes lots of tasks can be reduced to one-liners.
Pro Does not need any wrapper modules
With other task runners, you need to install wrapper modules for tools you may already have installed. When using NPM that's not necessary, to use the tools you need, just install them directly through NPM.
Pro Part of node.js distribution
Pro You're most likely using NPM already
Pro Uncomplicated package management system
When it works...
Con Unintuitive interface
GIMP doesn't embrace OS X application design, thus Mac users might have a hard time wrapping their heads around GIMP's interface.
Con Poor performance
Con Less features than other programs
Being a free program, it shouldn't be surprising that it has limited features. For those needing more advanced features for something more professional, GIMP just isn't for you.
Con Lacks adjustment layers
Adjustment layers offer a non-destructive way of combining different photo manipulations. Without adjustment layers the only way to see changes is by irreversibly editing the image.
They are promised in future updates.
Con Custom tasks require additional keyword 'run'
Only a few standard tasks support being executed without the
run keyword (e.g.,
npm start vs
npm run customtask)
Con Not a build system, only a task runner
It is supposed to be used for running gulp, webpack or whatever. But it is not supposed to be used as a build system.
Con Passing parameters is awkward
In order to pass additional parameters to npm you must add them after
npm run build -- --custom='foo').
Con Badly documented
Less than bare minimum official documentation leaves users in the dark without taking often expensive external courses. Even the --help text has unpluggable gaps. One official source notes the documentation isn't adequate yet nothing has been done to fix this.
Con Lot of issues with authentication and random node problems
Unable to recover from common depencies conflicts consistantly. Error messages are not always helpful to debugging. Doesn't account well for users with different versions of node.
Con Does not run well with Windows
Since a lot of projects that use NPM as a build tool most of the time make use of Bash scripts as well. This means that open source projects that run the command
npm run may run into issues when used in a Windows environment.
Con Doesn't allow you to create build process with complicated logic on its own
In complex heterogeneous app you will quickly migrate to gulp, webpack or whatever leaving to NPM only simple task running responsibility.