If you use Linux you will know how much easier and how much more convenient it is to handle software on it. If you ever wished that there was some way to make Windows behave the same way, Chocolatey might just make your wish come true.
If you haven't used Linux, here's a comparison. In Windows, each application comes with an installer that copies the application's files to the right places, and sets up the application's settings. Every installer looks different, asks for different things and so does the uninstaller. Each application you install needs to be searched for online, downloaded and then installed. Each application has its own update mechanism, one that usually runs in the background taking up precious resources.
On Linux this is all centralized and managed by the OS. Most Linux distributions come configured with the locations of software repositories, which are servers that hosts a large number of applications neatly categorized. You can search in these repositories for the software you need using command line or GUI tools provided with the OS. Software can be installed directly from these repositories in just a few steps; a click or two in a graphical tool, or a command in the CLI. Updating is as simple, and managed centrally for all apps on the system. On openSUSE for example, you can search for applications as
zypper search firefox, you can install software as
zypper install firefox and update as
zypper update firefox or use the graphical tools to the same effect. Chocolatey brings this experience to Windows.
Chocolatey uses Windows PowerShell to install applications directly from the net. You want to install Node JS? Simple, just open your command line and type
chocolatey install nodejs or the short form
cinst nodejs and it will automatically be downloaded, and installed on your computer.
Chocolatey also keeps track of dependencies. For example, a DTP software might need a few fonts installed. So if one software package needs another to be installed, Chocolatey will install them both in the right order.
It is also possible to list the software available. Looking for a pdf tool, just search for it using
clist pdf, this will list a number of tools and libraries that deal with pdf files. Or you can browse the list of packages online, and then install them via the command line specified.
Keeping software updated can be even easier. The command
cup is used to update software packages installed via Chocolatey. You can either provide a single package to update, as
cup nodejs or you can even have all your packages update at once by running
cup all. Chocolatey can even update itself this way.
Right now the number of packages available is quite limited, however over time the collection will improve and increase. It already offers a number of useful tools for developers, such as msysgit, Ruby, Python, Node JS, PuTTY, Vim in addition to popular packages such as VLC, Paint.NET, and Skype.