When comparing Code::Blocks vs Ultimate++, the Slant community recommends Ultimate++ for most people. In the question“What is the best cross-platform C++ compiler for Linux?” Ultimate++ is ranked 1st while Code::Blocks is ranked 3rd.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Lightweight
Pro Easy to use
Pro Simple Library import
Pro Visual designer
Pro Simple to use
The whole framework is easy to use.
Pro Documentation and help tool
Pro Code analyzer
Pro Easy to learn
The whole framework is easy to learn thanks to multiple tutorials.
Pro Free
Pro Helpful community
Cons
Con Hard to set up
Con Not very feature rich
By default it's not much more than "What if Gedit had a compiler and a terminal built in?" (or: "What if Notepad had colour coding, auto indents, file structure, a compiler and a terminal built in?")
There are far more professional IDEs out there. This one is much too basic for any efficient use.
Con Slow navigation using mouse
In most IDE's, you can "goto declaration"/"implementation" by holding CTRL and left-clicking on an identifier or include directory. This does not work in Code::Blocks no matter what settings you have. Right-clicking will bring-up a menu that includes these "goto" options, but it's not instant and you'll be slowed down immensely depending on how often you have to do it.
Con Can get quite slow and doesn't look all that good
Con Setting up dark theme requires using system's own gui toolkit

Con Lots of functionality is encountered only in plugins
You can't change keyboard shortcuts, neither share themes with vanilla codeblocks, for example.
Con Strictly C++
Con This is an application development framework not simply a GUI toolkit / library API
It is designed for you to develop your whole application using it, not just your GUI. Most people probably are not really looking for that.
