Wednesday, 19 December 2012
Recently I have had my head stuck in Java-land. One thing I noticed about Java is that supposedly stable, mature and well-used Java libraries and systems are letting us all down.
These libraries (Hadoop, Lucene, HBase etc) have very powerful functions, but forget that us lowly developers are users too. Errors have very little useful output (note, a backtrace isn't an error message). Quite often, some systems' processes just die without rhyme or reason.
As an example, one server I boot just exits with no log output or stderr output when you don't have the configuration file it expects present. It doesn't even say "can't find configuration file: exiting". This wouldn't be so bad, except the system's documentation is so poor it might actually be trolling.
In the Java-sphere (and im sure elsewhere), software developers seem to forget that although a system is intended for other developers ... they are users just like anyone else. Code software that helps the user understand.