I found truffle to be very useful as a beginner.
Pros : 1. truffle enables easy deployment on testrpc networks using migrations
2. very easy to install (npm install -g truffle) if you have npm setup
3. detailed documentation and a lot of help pages. useful for debugging
4. makes interaction with contracts easy through the truffle-contract
abstraction (which again has a very good documentation
5.Automated contract testing with Mocha and Chai.
7. A configurable build pipeline that supports both web apps and console apps.
1. NO GUI
2. no editor for contracts (but you can use atom and install the solidity