I've been buried in DBMS software this past week, and just finished brand new installs of DB2, MySQL, Oracle, PostgreSQL, SQL Server, Sybase on Windows and Linux boxes. (No, I am not a masochist, this was to test SQL scripts on lots of platforms).
Of the six DBMSs listed, all but MySQL and PostgreSQL come with some form of interactive administrative tools (the lack of these tools in MySQL and PostgreSQL is best left for another post). The SQL Server tools are native Windows apps (I am assuming they are written in C/C++), whereas others (Oracle, Sybase) are Java applications. And the latter are appalling; they are slow and sluggish and unintuitive and non-responsive and ... Actually, I got so frustrated with the Oracle Enterprise Manager that I gave up and used command-line SQL to set up user accounts, and to create tables and establish constraints (not a pleasant task), and Oracle is the best and most all encompassing of them! Part of this is a usability issue, and regardless of how you feel about Microsoft, they have mastered the art of creating intuitive usable interfaces (when they want to). But the other part of the problem is Java.
I understand why vendors would choose to create interactive administration tools in Java (portability is a compelling premise, although for some I suspect it is more of a "we won't write Windows code" thing). But honestly, they are doing a disservice to themselves and their customers. In a very short time Java has proven itself as a solid, powerful, and very capable server platform (and there are lots of examples of good Java based server software). But Java on the client? Remember those nasty things called applets? We've made baby steps since those days, apps have gotten better, and not much better.
For now, Java belongs on the server, not on the client.
one thing you didnt mention is embeded clients. no one seems to mind the java on these things.
http://www.mysql.com/products/mysqlcc/index.html
Given it's open source background, I guess I can understand why it's not "packaged" with the DB. I'm just glad they finally built a decent UI for it.
I agree that Microsoft has the best GUI admin tools. I am the SQL DBA at my company. We use Microsoft SQL server 2000 and Oracle 8. We are not using Oracle for any new development for a couple of reasons. The admin tools for MS SQL make it much easier for us to administer our database servers. MS prices are competitive with Oracle and IBM, not MySQL though. Transact SQL is SQL-92 compliant and easy to use for DB scripting.
Having said that, I think that MySQL really needs a simplified one-step install-it-all process, something that will make sense to those who don't want to compile the source code, and just want it to work out of the box. MySQL is incredibly popular, and is doing very well (and justifiably so), but it needs that next step for it to become a mass usable solution.
Bye.
ps: There are a lot of administrative tools for PostgreSQL free and commercial:
PGAdmin III: http://www.pgadmin.org/pgadmin3/index.php (C++ + WxWindow)
PostgreSQL Manager: http://www.ems-hitech.com/pgmanager/ (maybe the best - Multiplatform - Delphi)
http://java.sun.com/products/jfc/tsc/sightings/S19...
Aside from the fact that this is the 19th edition, this latest posting lists DBVisualizer - a very nice looking, incredibly functional, database administration tool that includes support for over seventeen different databases (including DB2, MySQL, PostgreSQL, SQL Server and two editions of Sybase). Where's you're DB tool Ben? It's right there, staring you in the face, with Java on the desktop. A one-stop shop for all the databases you're running and all the platforms.
Sorry, but I'm with Matt on this one - don't call out Java on the client as the enemy when vendors provide crappy implementations. I would add that since most Java developers are building server applications, that there's a select few that can do a client justice; and we know the problem with that - just give a CF developer Flash and ask for an elegant and complex application.
And to Mike with regards to .NET - Swing's elastic design and MVC component architecture makes using WinForms like trying to build an aircraft carrier out of Lego's (no offense to Lego's - wink).
The fact that you were all able to point out specific good examples does seem to indicate that they are the exception not the norm, for now. You used words like "decent" to describe current Java client, there's a rather low bar.
Good point Kevin, the fact that server side developers tend not to think UI could be a big part of it, I accept that.
But I think a bigger reason is the tools, the libraries, the APIs, the nuts and bolts. Even a lousy Windows app can look good, same goes for apps on the Mac. Writing good looking Java client apps is still too darned hard, and the tools used don't do enough to make it as easy as it should be. That's what has to change, and quickly.
T. Ron Zaken
http://www.zakencorp.com
One really basic issue with Java user interfaces, is that by default the text size on dialog boxes is larger than that in native Windows apps. This makes them jar terribly with people used to consistently smaller fonts.
T. Ron Zaken
Zaken Corp.
http://www.time4profits.net