Live data from Hacker News

Why I Like Java (2014)

blog.plover.com

131–140 of 152 posts

Re: Why I Like Java (2014)

#131

Java has a high bar for the amount of prerequisite experience it takes to write good code. In other words, it has too many pitfalls for beginners. It is a phenomenally poor choice of language for teaching beginners to code. On the other hand, a lack of beginner-friendliness could also be seen as a lack of effective static analysis. Of course, this is a very Java programmer point-of-view. Others: "you shouldn't need t…

> lack of beginner-friendliness could also be seen as a lack of effective static analysis

Slightly confusing comment to me ... Java has on the one hand a relatively simplistic static typing system but on the other hand some of the best static analysis support that you can find (I don't think it's a coincidence; the relatively simple type system and lack of ways to hack around it facilitates the strength of the analysis that can be done).

I'm talking about things like, add a parameter to a method in a library and eclipse automatically not only deterministically renames it everywhere that its called in the library but in every dependent project, all in milliseconds. And a dozen other similar types of operations.

Re: Why I Like Java (2014)

#132
post #21

Earlier quoted context omitted.

The point being that at scale all code should be written the same way, in an environment where most teams are composed of rotating consultants.

Well, the counterpoint is that you shouldn't have a team composed of rotating consultants. And if you have one, you can't expect it to deliver anything with any quality or productivity. But yes, if that's your team, then all code should be written the same way, all on the most boring way possible. There's a reason Java and C# are so popular.

This is short sighted. Teams do not build everything from scratch, probably most shipped executables are 90% outside libraries, open source or not.

Code being predictable is a huge win, not only with other people but also with your own code from 10months ago.

It also makes change more calculable.

Re: Why I Like Java (2014)

#133
A little tongue in cheek, but the strength of Java is that you don't have to actually use it to work in the Java ecosystem. Here is the entire program to copy stdin to stdout in Groovy:

    System.out 

Re: Why I Like Java (2014)

#134
post #20
post #13

If the infamous HN Dropbox comment didn't exist, this post would serve well as the canonical "facile dismissal". Reminded me of PG's essay about the "blub" programming language. But, in this case, I'd like to reverse the use of the concept: it's not that Java is a blub programming language, but that the OP has only reached a blub-state of understanding it and its potential, and produced a blub (generic and derivative…

I don't think Mark Dominus has a "blub level understanding". This is the author of the hilarious "monads are like burritos" and many others, and it's quite clear that he is very opinionated but also very knowledgeable about programming languages. Having programmed in Java for... what, 15+ years? I do agree with him about his assessment. Trying to solve an interview challenge in Java is to handicap yourself, unless it…

Yeah, I'm not really talking about the OP per se, to be frank (didn't check who he was, and I don't know his story).

So, my assessement wasn't about the OP in general, but the OP as revealed by this particular post.

The post is based on the cliche early/mid-00s J2EE style of coding, that hasn't been in fashion for 15 years, and has been derided widely for at least 12.

There are amazing apps and libs written in Java, and Java as a language was not a problem for their development and design (even when it was far more restricting and ceremonious). Lucene for one. Vert.x. Jetty. XOM, ...

Re: Why I Like Java (2014)

#136
post #123

Earlier quoted context omitted.

HTTP as well. Added in Java 11 (2018), but that's still an insanely long time to rely on third parties.

com.sun.net.httpserver was added in Java 1.6 (2006) - comparable to the Python httpserver

Hence why I said "http", as in java.net.http, as in, everything around an HTTP client.

Re: Why I Like Java (2014)

#138
post #130
post #72

Anytime I learn a new language (I regularly write code in several) I start asking how is testing done, where are the libraries, where is this, and how do I do that? I already have all of that and more at my fingertips. Also, Groovy is vastly underrated. It’s the most economical and easiest to understand language I know meaning I can do more with less code and faster in general.

Groovy is definitely underrated when it's done properly (pretty much my favorite language when used as a "java substitute"). Unfortunately most people's exposure to it is in Jenkins or Gradle where it's a bit of a train wreck.

That’s too bad. That helps me understand why it isn’t favoured as much as I would think/like.

Re: Why I Like Java (2014)

#139

Java: plentiful well paying jobs, good/great tools, good/great runtime. Personally, I like boring, predictable, "easy" (referring to low cognitive overhead of statically typed languages in general) for work, and save the fun stuff (lisp/scheme in my case) for personal projects.

No post body was provided.

Re: Why I Like Java (2014)

#140
post #62

Earlier quoted context omitted.

Until you end up with dependencies transitively pulling in conflicting versions of Jackson or similar and you need to mess around with dependencyManagement or exclusions.

Transitive dependency trees are a feature, not a bug

No post body was provided.
Post reply on HN