Live data from Hacker News

Java Turns 25 – Whats Next? [pdf]

oracle.com

211–220 of 286 posts

Re: Java Turns 25 – Whats Next? [pdf]

#211

Earlier quoted context omitted.

> Ironically, while Java was the original "write once, run anywhere" language, it never succeeded in that regard (e.g. browser applets were never popular). Ironically, I believe Javascript has. It completely succeeded in that! Java (well JVM) developers today can - Write code on any of Windows/Linux/macOS - Deploy that code on any of Windows/Linux/macOS Not a lot of language/platforms can claim to this amount of succ…

C# (largely inspired by Java) run on even more platforms, because there is compiler/runtimes for mobile platform. It’s also the second biggest "entreprise" language, which fix a lot of Java pain points.

Technically, maybe.

In practice, how many developers write C# on a non Windows platform? I'd say a very, very tiny minority.

On the other hand, Java is being written on all platforms and being deployed on many as well.

Re: Java Turns 25 – Whats Next? [pdf]

#212
post #137

Earlier quoted context omitted.

I would still recommend Guava for immutable collections, and for the caching classes, both of which are much better than trying to piece things together on your own. There are a lot of features that have been subsumed into the JDK, and you should usually prefer the JDK implementation where available. Guava has deprecated the redundant functionality, so if you pay attention to your IDE you will be fine.

I'm not really obsessed with immutability. Does Collections.unmodifiable{List,Set,Map,Collection} not do it for you? I did forget about the cache's though! Good call.

Guava's immutable collections are superior to Collections.unmodifiable which just wraps the collection in a delegating class that will throw an exception if any of the modifying methods are called. Guava's classes are their own implementations, this is particularly notable for Guava's ImmutableSet which has significantly better memory usage than HashSet. Partially owing to how lazily Java's HashSet is defined, which is a wrapper around Java's HashMap. Meaning that for each element in a HashSet you get an unnecessary Map.Entry wrapper, along with its references. The difference is quite noticeable if you have a set with ~400k Integers. At a certain point, you should also move on to something like Trove, but the guava immutable classes are nice in that you still get the collections interfaces.

Re: Java Turns 25 – Whats Next? [pdf]

#213
post #200

Earlier quoted context omitted.

On the contrary, without access to Maven Central ecosystem of Java libraries, it quickly loses interest as development platform.

What does Maven Central have to do with the development of Java by Oracle? That is precisely my point. Android has completely unshackled itself from Java development. Between its reliance on Open JDK and Kotlin, it literally has zero dependencies on Java.

25 years of libraries to choose from slowly not available on Android.

If the Android team plans to rewrite all of them in Kotlin, be my guest.

Maybe they will manage before Fuchsia goes live and Flutter wipes the floor, and then everyone will be doing Dart anyway.

Have you noticed how shitty are all the languages designed at Google?

Thankfully someone that was there since Java 1.0 days bought its rights.

GraalVM would have been killed at birth.

I am also looking forward to the complete Android development environment to be running on top of Kotlin/Native, otherwise it will be so funny having to port Studio and everything else that depends on the JVM to modern versions, while Android itself is frozen into a Kotlin ecosystem + Java 8 subset.

Re: Java Turns 25 – Whats Next? [pdf]

#214

Earlier quoted context omitted.

Turbo Pascal certainly had more users, but it was never "run anywhere".

Not sure what you mean by that. Are you talking about the host OS and the fact that Turbo Pascal was Windows only, as opposed to Pascal UCSD which was a VM?

I meant that the UCSD system ran on many diverse platforms, and TP did not.

Re: Java Turns 25 – Whats Next? [pdf]

#215

Earlier quoted context omitted.

> Java was the original "write once, run anywhere" language That crown properly belongs to the UCSD P-System, which was the Java of the 1980's. It was the same idea as Java - compilation to a bytecode which an interpreter ran. It failed because the interpreter performance penalty was too high. Java also started out as an interpreter, which made it too slow. Steve Russell of Symantec invented a JIT for it, and like th…

I also wonder how much the difficulty of sharing files between different systems due to different disk formats played a role in its failure. You could run p-system on a lot of machines - Apple II, IBM PC, TI-99/4A, PDP11... but how would you (and why would you) distribute your code across machines with such different storage media?

Oh, people found ways to transfer files. BBSs were one way, the Kermit program another, NNTP newsgroups, etc.

I transferred files from my PDP-11 (8" floppies) to my PC (5.25" floppies) using Kermit.

Re: Java Turns 25 – Whats Next? [pdf]

#216
post #117

Earlier quoted context omitted.

I use typescript a lot. It's way better than JS but the type erasure problem is far worse than Java. Essentially all types are erased, so bugs where typings don't match what you expect and everything blows up are common. This isn't possible in Java because it's statically typed at runtime. JS also uses several times more memory, is slower, and has a terrible (non existing) threading model. Yes you can run multiple in…

> bugs where typings don't match what you expect and everything blows up are common > the only overhead is making sure objects were passing around match on both ends Seem like is it a big deal based on the first sentence. I've never been convinced of the single language argument. Sharing code between frontend and backend sounds good but as in practice there's little overlap... models have subtle differences, there's…

Sharing same stack is more important when team / project is small.

Re: Java Turns 25 – Whats Next? [pdf]

#217

Java might be the most successful programming language. It is a solid choice among many different fields. It is used on huge infrastructure projects (Apache Foundation), governments, big tech companies such as amazon, ibm, google, apple for many large scale services. It can do web, ml, GUIs, it's still strong among academics. On top of that it offers a great programming experience with excellent IDE support and it's…

HN downplays it because Java isn't hipster enough.

Re: Java Turns 25 – Whats Next? [pdf]

#218
post #213

Earlier quoted context omitted.

What does Maven Central have to do with the development of Java by Oracle? That is precisely my point. Android has completely unshackled itself from Java development. Between its reliance on Open JDK and Kotlin, it literally has zero dependencies on Java.

25 years of libraries to choose from slowly not available on Android. If the Android team plans to rewrite all of them in Kotlin, be my guest. Maybe they will manage before Fuchsia goes live and Flutter wipes the floor, and then everyone will be doing Dart anyway. Have you noticed how shitty are all the languages designed at Google? Thankfully someone that was there since Java 1.0 days bought its rights. GraalVM woul…

> 25 years of libraries to choose from slowly not available on Android. > If the Android team plans to rewrite all of them in Kotlin, be my guest.

What are you talking about?

Android developers can use Maven Central like any other Java developers without care about what JDK these dependencies were compiled with nor even whether they were written in Kotlin (most did not, obviously).

> I am also looking forward to the complete Android development environment to be running on top of Kotlin/Native, otherwise it will be so funny having to port Studio and everything else that depends on the JVM to modern versions, while Android itself is frozen into a Kotlin ecosystem + Java 8 subset.

Again, what are you talking about? Android development happily upgrades to the latest version of Kotlin without any trouble. Porting Studio? What? Do you even understand anything about any of these matters?

My point is simply that Android development today has zero dependencies on Java but you seem to have a thick chip on your shoulder and determined to spew toxic bile at Java and its ecosystem, while feeling some vague hate at Google in general.

I have zero interest in this debate, have fun tilting at these windmills.

Re: Java Turns 25 – Whats Next? [pdf]

#219

Earlier quoted context omitted.

C# (largely inspired by Java) run on even more platforms, because there is compiler/runtimes for mobile platform. It’s also the second biggest "entreprise" language, which fix a lot of Java pain points.

Technically, maybe. In practice, how many developers write C# on a non Windows platform? I'd say a very, very tiny minority. On the other hand, Java is being written on all platforms and being deployed on many as well.

> In practice, how many developers write C# on a non Windows platform? I'd say a very, very tiny minority.

Plenty do - think of deploying c# web services on Linux servers / containers.

Re: Java Turns 25 – Whats Next? [pdf]

#220

Earlier quoted context omitted.

Yeah it's a losing battle to suggest Java is mostly fine on HN. In this bubble we only use FP and/or Go/Rust and/or C++.

Those are the languages we love at least. I’m willing to bet that most of us are java developers to pay the bills.

It’s really hard to make intuitive guesses like that because we’re all so siloed by the kinds of programming work we do. I did technical screening for about a year (interviewed ~400 people in that time). I thought javascript would be the most popular language (because most of the programmers I interact with write JS more than anything else).

But I was wrong - the most popular language by far for the programming test was Python.

Post reply on HN