9
iAmNaN
5y

His long do you think it will take for Google to come up with a true replacement for Java. A replacement, not an alternative like Kotlin, but a complete "go f**k yourself, Larry" replacement that anyone can port their Java app over to. On January 1, if you are a for profit, Larry had said if you want to update to the next version and use Java SE to code with, you need a support license. It's a brill move, because Java is everywhere, and at least for a little while, it will generate a respectable profit for Oracle. But I'm sure Google is working on something to stick it to Larry. Wonder if EU competition chief Vestager will threaten am investigation. This should be fun to watch.

Comments
  • 2
    Googles upcomming operating system for all platforms is called fuchsia. And it's written in DART which is also used for flutter.

    https://www.dartlang.org/
  • 0
    @heyheni but can it replace Java?
  • 1
    @iAmNaN that depends on your question. Can it replace java generally? Probably not. It will be around for another 50 years. But for mobile app development maybe? It depends on how open and widely fuchsia will be adoped outside of google products.
  • 0
    So once again, what's wrong with the real java? Why is everyone talking about oracle java even though it's only a secondary, a commercial product?
  • 0
    @irene depends on the perspective.
    If you are looking at it from the performance point of view - maybe(not 100% because Java code written with speed in mind can be quite fast with the trade off of looking horrible).
    However, from Google's point of view it was brilliant. Java is easy to write. Having managed memory and a huge number of libraries available lowered the skill level needed to write an app targeting Android. And a big issue for Google and Android was getting as many apps as possible to make the platform attractive to the users.
    If they imposed C/C++ or a new language as the tool for writing apps, I don't think that Android would have gotten this big.
  • 0
    @irene Java is actually fine because a little GC doesn't really matter even on mobile. Where it does matter and where performance is prime, you already can do native C/C++ via the Android NDK.

    Then you either attach that to the Java application part via the JNI, or your Java app spawns a new process and uses e.g. stdin/out piping for process communication.
  • 0
    @irene The large majority of app developers never bothered with optimizing - not back then, not now. The ones that really cared about their app used the NDK, but I would guess that is the case for less than 2% of the total number of apps (no hard numbers, just a guess on my part).
    Most of the apps on the marketplace are just spaghetti code thrown in the wild to get some quick cash.
    The issue here, more than the language or focus on performance is the business model that Google uses. They are not selling the OS or the hardware (mostly) to the end user, they are selling ads and offering a storefront. As such, they care more about number of apps than the quality.
  • 1
    @irene well the issue with GC is not that different from C/C++ if you do frequent malloc/free or new/delete. The stutters with GC is when it rummages through the free list and re-combines adjacent blocks, which is exactly what malloc/free does, too.

    Java in itself used to be slow back then when the JVM didn't have JIT yet, so that used to be an argument against Java.

    Today, the only reason why Java apps are slow is because way too many Java devs are clueless idiots who don't know shit about memory management. They think Java does it by itself, which is correct, so that they don't have to know, which is wrong.
  • 1
    @hash-table Google does not need better QA. They do not sell the apps. They just provide a platform where they can be found and get money from every transaction that goes through that platform. Also, they get money for each ad displayed via any app. As such, they do not need to care about the quality of these apps. They have no stake in any individual app. The only thing needed is a growing userbase and ecosystem, which they have. So, why should they spend money to fix a non-issue for their profit?
  • 0
    @irene Android never used JVM, it used DVM, while still a VM it's more optimized for phones. Since android 5 or so it uses ART, Java code is compiled to native code.
  • 0
    @iAmNaN you're so cool to talk to Java creator using his first name, but can't dedicate 2 minutes of research before writing a rant full of bullshit?
  • 3
    @sSam Larry isn't the Java creator, that would be James. Two minutes of research, eh? ;-)
  • 0
    @hash-table comparing Google and Apple is like apples and oranges. Apple sells phones, development tools, platform, etc. Google doesn't. Different business models require different levels of involvement.

    As for developer engagement - as far as I can see, the only incentive for developers in the mobile market is the potential of earning money. There is no interest in quality. If they can get away with crappy code while maintaining a steady income, they will do so.
  • 1
    @sSam "Larry" didn't develop Java, James Gosling did. As for Larry, he's brilliant, because he's making a lot of money for Oracle. I'm surprised it took him this long to pull the trigger. Finally, research what? That the majority of web-based apps use Java SE, and that if one is using Java SE in a for profit business, they going to have to get a service contract if they want to keep getting the updates? What else would you like to know?
  • 0
    @irene I wouldn't call DVM a subset of JVM. Anyways, since Android 5 apps are compiled to native code and in my opinion choosing C++ over Java would have been a huge mistake.
  • 0
    @iAmNaN research that java is open source and that you have to pay Oracle ONLY if you want Oracle's support. There are shitton of vendors backporting fixes to LTS java versions, for example amazon corretto has java 8 support until 2023 I think?
  • 1
    @irene for choosing as development language for android apps? Yes, I think Java is way better.
  • 0
    @sSam the vast majority of companies use Oracle Java, and it's not a matter of uninstalling Oracle Java and popping in OpenJDK and everything is good to go. Oracle made a calculated move, because they know their position in the market, and know they have a winner. They will profit immensely from this move precisely because one can't just uninstall theirs and install the other and keep on moving, and most companies will put to pay for a support contact rather than mess with trying to port over to OpenJDK.
  • 0
    @iAmNaN for older Java versions if you are using only standard API it's just push and pop. For newer versions it's push and pop in all cases since OpenJDK and OracleJDK are binary compatible.
Add Comment