In Grad school and supposedly in the real world, we make a lot of diagrams of stuff. There are a lot of tools to do this.
For Windows, Visio probably works the best but I don’t like the way that Visio 2013 makes it really difficult to add new members if you are making a class or an ER diagram. Visio 2013 is prettier, but a lot more clunky in my opinion.
For Mac, I am a pretty big fan of Omnigraffle. It is simple, easy to use, has good stencils and gets the job done.
For Linux, although there are various choices they all leave something to be desired. I recently tried out Visual Paradigm, even though it has a “free” version for non-commercial use, they put in gross watermarks if you make more than one of the same type of diagram. This is not very professional and I do not think that the software is good enough to pay for. It seems like they just took eclipse and added some drawing functionality.
As much as I want to like Dia, it is just too clunky for every day use. I would not recommend this for anything other than very simple diagrams.
yEd is a really neat tool, it is simple and free to use. This tool really stands out from the pack for me because it “just works”. It also gets extra points for using an open standard drawing format which makes it compatible with other standards based software.
I think the best tool (but also the one with the highest learning curve) is Graphviz. Specifically, I am referring to using dot to make drawings. Despite the steep learning curve, it is 100% free software, standards based, is flexible and will draw exactly what you ask it to without too much trouble. Graphviz products embed perfectly in other programs which can be challenging when writing reports or papers. Also, if you master dot you will feel like a real hacker.
If you make diagrams for work or school (UML, ER, etc) what tool do you use? Let me know in the comments below!