Jim Janney <jjanney@shell.xmission.com> writes:
On the other hand, and this is probably more important, the Java
community sets great store on always doing things the usual way, and
this has turned into a strength for the language: you can pull a
third-party library library into a project and expect that it will work
with and follow the same conventions as the rest of the code.
Recently I've been looking at an interesting exception to this, JSch:
http://www.jcraft.com/jsch/
If you do a little searching on the web you can find lots of complaints
that the code isn't very Java-ish, and on my own reading of the source I
tend to agree. It nevertheless continues to be a successful project
with widespread use, and I think there's a reason for that. SSH has a
well-defined standard and the code is a faithful implementation of
that. Once you study the standards document, the JSch code starts to
make sense. It's also a stable protocol that seems unlikely to change,
so there's not a lot of reason to want to extend it yourself. But most
projects aren't like that.
I am sure there are other exceptions as well.
idioms and paradigms than standard Java.
But it is exceptions to the rule.