[om-list] development tools for our project

Luke Call lacall at onemodel.org
Sun Mar 25 00:30:51 EST 2001


OK, after reading a comparison of MySQL and PostgreSQL I wonder whether 
to use MySQL. The only reasons for MySQL would be performance, more 
convenient management tools ("describe" I like, since like Oracle), and 
better data reliability. Reasons for Postgresql would be features 
(nested select, transactions), runs longer without crashing (??-guy said 
MySQL had to be restarted regularly after 60-90 days of constant use) 
and maybe finer-grained locking (not totally sure on that one). Reasons 
against postgresql (how to you spell/pronounce that?) would be that the 
reviewer had to restore databases 2-3 times in a couple from corruption, 
and a 8k/row limit. I guess it may not be a huge deal to me either way. 
Maybe with ongoing work on postgresql it will turn out to be fine.


Also, I'm bringing up the Java argument again for coding. Here's why:
1) vastly less timetaking to develop/maintain/debug than C/C++ (instant 
stacktrace with line numbers, every time it crashes or whenever you want)
2) performance as good or nearly so, for most purposes as far as I 
understand (esp w/ hotspot's compilation & real-time inlining 
optimizations; bottlenecks are almost always the network anyway, in my 
experience; my java apps usually don't use much CPU but spend most of 
their time waiting for server responses).
3) instantly cross-platform (no platform-specific ifdef headaches), so 
you can use it on NT and I can use it on Linux, etc. This is a big deal. 
At work I code on NT and run on Solaris, no extra effort required except 
classpaths in the startup script on Unix have ':' and NT has ';'--ok so 
30 seconds of platform-specific work.
4) we are not writing device drivers now; in C++ I constantly have to 
think about being careful rather than the problem at hand.
5) their gui libraries are fine now, but I don't care about a gui much 
at this point anyway.
6) looks & feels like C++ in syntax so really not difficult at all to 
migrate over.
7) very elegant api's, libraries, and overall code organization
8) you can run a large variety of other languages in the JVM (python, 
scheme, lisp if desired). This could be a bonus when we start adding 
fancy features and end-user programming to the system, since you're 
really not tied to a specific language if you don't want to be.
9) they are teaching it more in schools and more people and vendors are 
migrating to it.
10) JDBC drivers let you swap databases in/out on the bottom, without 
worrying about platform-specific issues or always recoding.
11) you can distribute to multiple platforms with exact same files

Bottom line is I'm so short on time and I want to get work done, not 
dink around with things that just make you take longer with no 
observable benefit.

But I'm up for a debate if someone really wants!  ;)

Luke





More information about the om-list mailing list