Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Like others here have said, my main issue with Java is not the Java language itself, but rather with the culture of overcomplexity. As an example, every web framework has the issue of abstracting pieces of templates in a consistent manner. Django solved this by writing their own (simple) template language that supports template inheritance.

The java ecosystem seems to have solved this with Sitemesh, a library that implicitly decorates xhtml for you, based on another XML configuration.

I see a few things wrong with this approach. For one, it presupposes all of this nice template work is only ever going to be needed for xml/html. Need to send a text email? Need to make a latex document? Second, it's entirely implicit. This is a common theme with java libraries-- if the usual task is too verbose, usually implicit is the solution. I don't think there's a good reason Java can't be concise and explicit. It just isn't the thing to do.



Your point is absolutely correct, but I think your example is a little unfair. There are a ton of template libraries that handle inheritance or code sharing in both Python and Java, some restricted to XML, others freeform. Saying that any one on either side has "solved" it ignores the others that have approached the problem from another direction.

For my money, a better example is the comparison between http://www.oracle.com/technetwork/java/index-jsp-135475.html and http://www.python.org/dev/peps/pep-0333/. Or http://rack.rubyforge.org/doc/SPEC.html, for that matter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: