[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