Live data from Hacker News

JDK 8 Release Notes

oracle.com

221–230 of 314 posts

Re: JDK 8 Release Notes

#221

Earlier quoted context omitted.

I don't think you can become a popular cross platform systems programming language without being pretty decent.

There is a lose correlation between quality and popularity, but being the most popular language is in no way indicative of being the best language (as the person I responded to was saying).

I agree. I've ran across a few obscure languages I thought would be barren, but found they had exciting new developments happening. It made me realized there's a big difference between the number of language contributors and the number of language users. Most are language users, like myself, who glue a few libraries together and write a little business logic and call myself a programmer. Whereas a language contributor (as I call them) create libraries, development tools, etc. I've wondered if the number of language contributors is roughly equal, within an order of magnitude, across most languages, even the obscure ones. Language contributors add quality to the language, language users (again, myself) don't.

Re: JDK 8 Release Notes

#222

Earlier quoted context omitted.

Optional in jdk8 will help with null: http://download.java.net/jdk8/docs/api/java/util/Optional.ht...

But without a pattern matching system, optional is still half of what it is in, say, Scala.

Isn't map/flatMap and orElse enough, if only for Optional?

Re: JDK 8 Release Notes

#224

Earlier quoted context omitted.

Maven is horible. Hth

It's awesome and other tools (bundler) are copying it or build on top of it (gradle, buildr, Ivy repo). XML is horrible, not Maven. Python tools don't even come close. Ditto with .NET NuGet. Find me a tool that can compare feature by feature with Maven and still relevant for a long time.

I've always said: "With Java plus XML, you can have one language for the price of two."

With Java, you write a lot of syntax to get static typing, but it's worth it because static typing! Then you throw static typing away (because now it's to restrictive I suppose?) to use XML files which must be structured a certain unpredictable way or you'll cry at the traceback you receive, and pray your imminent Google search can make sense of it all.

Re: JDK 8 Release Notes

#225
post #4

You know, I've been messing around with Java little lately. Nothing too fancy. It's actually not a bad language -- with a modern IDE it's actually pretty quick and breezy to work with. If the standard library was cleaned up and the warts were all removed and filled in, even if it broke compatibility (call it Java X or the Latte language or something) I'd be okay with that. There's too much old 90's cruft hanging arou…

You might want to check out Groovy. It's built on the JVM, you can use all the standard library and third party Java packages including stuff off Maven, and you can even just run straight Java code through it. However, at any time you can also drop into Groovy land, and write in a much more concise and functional style. Closures are very common (just look at anything in Gradle), it was clearly influenced by Python/Ruby as far as syntax and type optionality, there's a REPL (groovysh), there's a modern web framework (Grails), all in all it's pretty nice.

Re: JDK 8 Release Notes

#226

Earlier quoted context omitted.

Optional in jdk8 will help with null: http://download.java.net/jdk8/docs/api/java/util/Optional.ht...

But without a pattern matching system, optional is still half of what it is in, say, Scala.

Why would you ever pattern match on Option[T] in Scala? In all my code, I do either:

    optionalF.map( _.whatever ).getOrElse(fallback)
or perhaps

    (optionalF  optionalFallback).getOrElse(finalFallback)
For those unfamiliar with , see here: http://www.chrisstucchio.com/blog/2014/handle_failure_with_p...

Re: JDK 8 Release Notes

#227
post #100

I'm very happy with the JVM in general, but I really, really, really wish they fixed the start up time. People compile Clojure down to Javascript for command line tools precisely because of this. lein takes annoyingly long, so I don't do it. I realize this is not a real concern for them for e.g. servers, but I wish they had some developer- or desktop-specific configuration that would start about as fast as a Python V…

Can you please give a use case of a program that a few hundred ms delay during startup would be an issue?

Practically any command line utility? eg. ls, cat, sort, uniq, ps, what have you.

I'm constantly amazed that make(1) can do successive recompiles of a 50k LOC project in less than a second, while gradle / maven / etc takes upwards of a minute.

Re: JDK 8 Release Notes

#229

I have to admit I thought Java was dead in the water after Java 6, but Java 7 while a fairly quiet release was a decent release and Java 8 actually moves the language forward into a better place. As for the future here's what I would like to see: - Separation of language and libraries. Really the JDK should just ship with just a very small core of classes and everything else should be optional installed via a depende…

Multiple return types: Questionable benefit there. Exceptions are nice when used properly. Option classes handle the rest.

Categories: Default methods probably do what you want.

Get rid of primitives: Are you nuts? It turns out computers work on primitives. It's good to support them.

"Proper" generics: maybe you mean specialization, or maybe you mean reification. It's a choice.

Properties: If they irritate you that much, just use something that will generate them for you, using standard annotation processing.

Re: JDK 8 Release Notes

#230
post #53
post #51

Earlier quoted context omitted.

Do you have more info on the cleanup in Java 9? Will they remove some deprecated methods then?

How do deprecated methods affect you? Just curious. Maybe I'm missing something.

In my opinion, they don't. If you use an IDE like Eclipse where deprecated methods are clearly marked by a strikethrough and marked with a compiler warning, I don't see the big deal. And the bonus is that old code still compiles with new versions (and there is something to be said for backwards compatibility, a la "This presentation is not compatible with Keynote" discussion from a few days ago)
Post reply on HN