Live data from Hacker News

Java for Everything

teamten.com

181–190 of 344 posts

Re: Java for Everything

#181
post #24

Earlier quoted context omitted.

Speaking of - how is Groovy doing these days? I looked at the Groovy webpage and I saw ads splattered here and there - never a good sign, I also see that the mailing lists are pretty quiet. Is Groovy dying?

I'd say not too good. Of course there are those two projects everyone mentions, Grails and Gradle, but I would say it's more correct to describe them as the only two niches where Groovy is actually used a bit, it's not like Gradle and Grails are just "flagship products" of a greater ecosystem. For both, there are already better replacemens available, so I don't think they will grow much in the future.

What do you replace Gradle with?

Re: Java for Everything

#182
post #93

This whole "expressive vs. performance" is a false dichotomy. Languages like Scala and Haskell are performant like Java and expressive like Python. Not to mention the work being done on JIT compilers by V8/HHVM/PyPy that are helping to close the performance gap for dynamic languages.

I am maintaining at the moment some Scala code I did not write. Sometimes you wish for less expresiveness.

A couple years ago there were several people complaining that is was a write-only language.

(Of course, others said that it was a matter of educating your devs about when not to use some features...)

When I first tried it, the slow compilation killed it for me (not a problem for Clojure because a connected Emacs makes for a killer setup...)

Re: Java for Everything

#183
The article could be appropriately titled to reflect this wisdom: solve every problem in whichever language is your strong suit. It's not always Java, and arguing that Java is the one-size-fits-all would earn you few friends. For web services the importance of the language is diminishing with solutions such as cache, messaging queue, etc. I'd go on a limb to say getting your cache right is the most important web service optimization.

All statements of the form "it's relatively faster to write programs in language Y than language Z" are incorrect because it disregards important parameters such as programmer experience with languages Y and Z, and whether or not it's a comparison between 2 different programmers.

Also there are some performance gains that only pay off at Twitter or Facebook scale [1]. Sometimes shaving milliseconds costs time but rakes in little to no benefits.

[1]: http://carlos.bueno.org/optimization/

Re: Java for Everything

#184

"With few exceptions (such as parsers), unit tests are a waste of time." I was in full agreement aside from this. Unit tests are more than just a substitute for static typing.

That surprised me as well; though perhaps it's just that "such as parsers" applies to more code than the author realized.

A parser is a discrete chunk of code that's general-purpose (likely to be called from lots of places with different content), but with a fairly straightforward list of cases that you can/should test to see how correct and robust it is.

There's a lot of code that fits into this category; not just parsers.

Re: Java for Everything

#185
You know, one of the things I notice about Java adherents: they think programming is hard. There's this weird conservativeness to their culture. The only times I've worked on Java teams, I felt like the biggest hurdle was convincing people that things could actually be done. Its like they're convinced that every programmer sucks.

I don't even hate java the language. It's far too mediocre to even bother to hate. I just dislike java the community. It's so depressing.

Re: Java for Everything

#186
LOL, I spend all day next to java programmers trying to get GUIs to work in a performant manner.

Just pickup any Android device and you can see the lag, ever wonder why all the java phones have 4 GB of memory and a quad core processor just to draw a 1920x1080 screen?

Re: Java for Everything

#188
post #71

Having literally deciding to learn java last week for no particular purpose other than having enough understanding to be able to comprehend our software (which is written primarily in java) and prevent brain deterioration, I'm encouraged by the fact that the comments in this thread (so far) don't appear to be very negative (like when reading about php). While I did buy a book, I wonder if anyone has any suggestions o…

Welcome to the Java world! Like some of the comments so far I think the Java world is actually a pretty cool place to be right now, the language and approaches are becoming a lot less verbose. I blogged about some of the best Java books, hope it'll help you out! http://scalabilitysolved.com/dont-hold-back-your-java/

Warning: These are not beginner books.

"Learning Java" http://chimera.labs.oreilly.com/books/1234000001805/index.ht... seems to be a decent review of the language and ecosystem, although it doesn't cover many of the new technologies in common usage (many of which are mentioned in this thread).

Re: Java for Everything

#189
post #24

Earlier quoted context omitted.

Speaking of - how is Groovy doing these days? I looked at the Groovy webpage and I saw ads splattered here and there - never a good sign, I also see that the mailing lists are pretty quiet. Is Groovy dying?

I'd say not too good. Of course there are those two projects everyone mentions, Grails and Gradle, but I would say it's more correct to describe them as the only two niches where Groovy is actually used a bit, it's not like Gradle and Grails are just "flagship products" of a greater ecosystem. For both, there are already better replacemens available, so I don't think they will grow much in the future.

It's a stretch to say that Gradle actually uses Groovy. Groovy 1.7 added a "DSL" into its parser whereby we could omit parentheses in function calls. Gradle uses this facility for its CSS-style syntax.

In theory, we can drop out of the DSL to add Groovy code (as you can with Leinengen to add Clojure code, etc etc) but in practise virtually no-one does that. I've checked the Gradle build scripts for some large open source projects, even Groovy's own build scripts, and nowhere have I seen anything other than the DSL syntax used.

Gradle 2 brought the facility where you could configure a build using any JVM language via an API, and now Java 8 has lambdas I suspect this facility will get used more, and Gradle might even replace Groovy with a custom lightweight DSL for builds not requiring extra programming.

Re: Java for Everything

#190
post #24

Earlier quoted context omitted.

Speaking of - how is Groovy doing these days? I looked at the Groovy webpage and I saw ads splattered here and there - never a good sign, I also see that the mailing lists are pretty quiet. Is Groovy dying?

They're moving to a new site: http://beta.groovy-lang.org/

The site at groovy.codehaus.org doesn't mention anything about the new site (actually www.groovy-lang.org). Until it does the new site is unofficial and just one of the 5 despots at Codehaus trying to grab control of the product away from the other 4 despots there. That despot has tried other tricks like soliciting for subscribers to his weekly "news mailout" which is mainly links to tweets mentioning Groovy.
Post reply on HN