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

Simplicity -- none, if talking about the resulting code.

Stability -- none, regarding possible law suits from Oracle. Yes, it does matter for a company. Yes, Oracle did that in the past.

Performance -- poor, regarding memory consumption.

Indeed, the sweet spot.

> If you need lots of cheap developers [...]

Shoddy, you mean. For Haskell or Clojure you have at least a guarantee that the guys you found are decent. It's the same hard finding decent Java programmers as it is with Haskell, except that Java scares good devs away and Haskell attracts them.



Simplicity -- none, if talking about the resulting code.

Bollocks. Java code can be over-complex and lack elegance, but it's not the worst offender - sweet spot.

Stability -- none, regarding possible law suits from Oracle. Yes, it does matter for a company. Yes, Oracle did that in the past.

Bollocks. I challenge you to provide an example of a Java developer being sued for using the language.

Performance -- poor, regarding memory consumption.

Bollocks. Uses more memory than C, but no manual management. Sweet spot.

Shoddy, you mean. For Haskell or Clojure you have at least a guarantee that the guys you found are decent.

Bollocks. In my experience, they're likely to be somewhat better skilled and educated. They're also far more likely to spend their time arse-ing around trying to implement an elegant, concise solution to problems which only exist because of not-invented-here syndrome, or because their language lacks as extensive a standard library.

As an example, I once worked on a Mac GUI app for a company - bog-standard, nothing fancy. I took over from a developer who had been trying to build this using Racket; this involved building a Qt-Racket interface, which involved magical automated parsing of C++ header files, which meant… basically, not delivering a product. Meanwhile, the Objective C build was done.

The point is, there's far too much focus and snobbery about what tools developers use. There are loads of languages out there; pick one that has a reasonable amount of support and fits the problem domain, and build simple, maintainable code. You can do that in any language.


>> Simplicity -- none, if talking about the resulting code.

> Bollocks. Java code can be over-complex and lack elegance, but it's not the worst offender - sweet spot.

But Java is close. Compare its standard library with virtually anything else on the market. Nobody has dozen ways of reading a file, and in Java they can't be reduced to a one or two (buffered vs. unbuffered), because they're used in many places in the library.

>> Performance -- poor, regarding memory consumption.

> Bollocks. Uses more memory than C, but no manual management. Sweet spot.

Every other runtime has smaller memory requirements. No other runtime requires several hundreds megabytes of RAM to do anything non-trivial. Totally not the sweet spot.

>> Shoddy, you mean. For Haskell or Clojure you have at least a guarantee that the guys you found are decent.

> In my experience, they're likely to be somewhat better skilled and educated. They're also far more likely to spend their time arse-ing around trying to implement an elegant, concise solution [...]

...which is generally a good thing, you just need to remind them they need to ship the product. They need different approach than mediocre programmers. With the latter ones you need to focus on preserving acceptable quality, with the former you need to focus on getting things done.

> [...] solution to problems which only exist because of not-invented-here syndrome, or because their language lacks as extensive a standard library.

Standard library in Java is hardly extensive. It only contains several typical containers, some networking (raw, HTTP, SOAP and Java's dedicated RPC), a little cryptography, XML parser, regexes and GUI toolkit. Oh, and routines for Zip files. It doesn't even have SMTP library built in. It doesn't have HTTP crawler library, like WWW::Mechanize. No XML-RPC or REST library. No built-in support for parsers. No indexed storage, like BerkeleyDB or TokioCabinet.

It's hardly "extensive".


>no manual management

Of memory. Any other resource, you've basically got C with UNWIND-PROTECT and a cheap Schrödingerian knock-off of destructors.


> I challenge you to provide an example of a Java developer being sued for using the language.

Google ? https://en.wikipedia.org/wiki/Oracle_v._Google


Google is not a software developer, rather a corporation that tried to work around paying for J2ME licenses.


> Stability -- none, regarding possible law suits from Oracle. Yes, it does matter for a company. Yes, Oracle did that in the past.

Do you have actual examples of companies using Java for their run-of-the mill software that have been hit with lawsuits from Sun/Oracle? The only two I can remember are Sun vs Microsoft (because of proprietary extentions) and Oracle vs Google (complex licensing issues). Sounds like FUD to me.




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

Search: