A GUI Mess, or a Productivity Booster?
While writing up a review on a database tool I discovered today, I was inspired to spark a discussion about database GUIs in general. The value of GUI tools for administering database systems like MySQL has been a topic of much debate.
The purist/traditional camp argues that a GUI imposes limitations on the user when working with the database. They will claim that it presents the user with a subset of the available features for a given database. They also suggest that the addition of another layer (a “presentation layer” perhaps?) increases security risks and can degrade performance.
In the other camp we have supporters that argue a GUI can increase productivity tremendously. Repetitive tasks can be automated, complex commands can be assembled in seconds rather than minutes, and for new users the learning curve can become quite a bit more forgiving.
I tend to lean towards the pro-GUI group, as it is hard to deny the productivity gains when using an admin tool that is well designed. However, I must acknowledge the importance of having command line experience. There are a number of reasons for this. For one, there will always be those complex queries and processes that a GUI designer will not have anticipated that you will have to crunch out manually. Perhaps more importantly, you will have a greater understanding of the inner-workings of whatever database you are working with. This knowledge can be essential when it comes to debugging and performing complex admin tasks (even from within a GUI).
The nutshell version: I think GUIs are great, but use them and don’t abuse them. Make sure you know how to perform a task without an admin GUI before you use one. It may not be fun or easy, but it will definitely pay off in the end.
So now I pose the question to you - on which side of the line do you stand? Are thare any pluses/minuses to each side that haven’t been mentioned yet?