Hacker News new | ask | show | jobs
by vsiva68 6345 days ago
I've heard this sentiment echoed numerous times (esp. by people who love Python).Could you guys clarify more as to the different things to keep in mind while writing "good" Java? Are there examples of Java projects you'd consider good and worth learning from?

As far as Python (and dynamic languages in general) goes, I haven't heard any good responses to Ted Dziuba's blog post: http://teddziuba.com/2008/12/python-makes-me-nervous.html I can see that a startup would prefer Python/Ruby to Java, but what about bigger projects?

2 comments

Apache Lucene, Solr and Wicket are all great, light-weight open source Java projects.

Ted Dziuba's argument doesn't seem to be Java vs. Python for large projects - it's more statically typed vs. dynamically typed languages and checked vs. run-time exceptions - or compile-time error checking vs. run-time error checking.

There are several large companies that use Python for X and Java for Y. I don't think either language has significant advantages for large projects that the other doesn't have, assuming that developers can utilize the strengths of the language. I was working with someone who wanted to implement a prepaid card application (the ultimate enterprisy app) and his biggest objection to using Python was the inability to find Python developers in India. He was going to pay the bills, and I didn't have a counter-argument.

Dziuba says "In Java, static typing makes the method signature into a recipe: it's all the shit you need to make this method work."

What definition of "work" are we using?

He also write "As a programmer in a team, you need rules. You need structure. You need order."

Some of us think that the rules matter, that it's not just having rules, but having the right rules.

His definition of "work" appears to be "compile".