Slashdot Mirror


Ask Slashdot: How Dead Is Java? (jaxenter.com)

This week HackerRank reported Java is now only the second most popular programming language, finally dropping behind JavaScript in the year 2018.

Now long-time Slashdot reader shanen asks about the rumors that Java is dead -- or is it?

Can you convince me that Java isn't as dead as it seems? It's just playing dead and will spring to life?
This week one Java news site argued that Java-based Minecraft has in fact "spawned a new generation of Java developers," citing an interview with Red Hat's JBoss Middleware CTO. (And he adds that "It's still the dominant programming language in the enterprise, so whether you're building enterprise clients, services or something in between, Java likely features in there somewhere.") Yet the original submission drew some interesting comments:
  • "The licensing scheme for Java kills it..."
  • "Java programs still are 'the alien on your desktop'. They suck in many ways. Users have learned to avoid them and install 'real programs' instead..."

But what do Slashdot's readers think? Leave your own answers in the comments.

How dead is Java?


291 of 519 comments (clear)

  1. Not as dead as ... by Hognoxious · · Score: 4, Funny

    Not as dead as this laaaaarge portion of popcorn I'm making.

    [sits back]

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    1. Re: Not as dead as ... by jlowery · · Score: 1

      Anything other than machine instructions is not a programming language.

      Wuss.

      --
      If you post it, they will read.
    2. Re: Not as dead as ... by omnichad · · Score: 1

      That makes it no less of a language. You might as well say C isn't a language, because you can certainly write an interpreter for it instead of compiling it. For that matter, most browsers uses a JIT compiler for JavaScript making it a compiled language at execution anyway.

    3. Re: Not as dead as ... by murdocj · · Score: 1

      Javascript is a brain dead programming language.

    4. Re: Not as dead as ... by Anonymous Coward · · Score: 1

      Which makes zero difference.

      LISP and BASIC were originally interpreted.

    5. Re: Not as dead as ... by JustAnotherOldGuy · · Score: 1

      Repeat after me. JAVASCRIPT IS NOT A PROGRAMMING LANGUAGE.

      Stop being such a peckerwood. Javascript is a programming language.

      --
      Just cruising through this digital world at 33 1/3 rpm...
    6. Re: Not as dead as ... by Anonymous Coward · · Score: 1

      Can it do selections, iterations and sequences? Then it's a programming language.

    7. Re: Not as dead as ... by Z00L00K · · Score: 1, Interesting

      Javascript, Python, vbscript and a number of other scripting languages are to programming like a tricycle for kids is to a long haul truck. You can get to the goal, but you will hit a number of snags and it takes time to find coding errors that a full-blown fully type-safe compiler would have found.

      With many scripting languages you find the typing faults at runtime and not when compiling.

      But if you want some small isolated functionality maintained by a single programmer and it's only something around 100 lines of code then a scripting language is sufficient.

      Scripting languages suffers from the same limitations as Basic did in the 80's - a great instep, but prone to 'bit rot'.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    8. Re: Not as dead as ... by Z00L00K · · Score: 1

      Even compiled Basic suffers from uncertainty when it comes to compiling. Type safety issues is one of the main problems in large systems unless you have very strict coding rules.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    9. Re: Not as dead as ... by Millennium · · Score: 1

      Interpretation is irrelevant. Even if it weren't, the point would be moot, because Java is not interpreted. Even if interpretation wrre relevant, it would be a moot point, because although Java's execution model has changed somewhat in practice over the years, it has never been an interpreted language.

    10. Re: Not as dead as ... by next_ghost · · Score: 1

      Javascript, Python, vbscript and a number of other scripting languages are to programming like a tricycle for kids is to a long haul truck. You can get to the goal, but you will hit a number of snags and it takes time to find coding errors that a full-blown fully type-safe compiler would have found.

      With many scripting languages you find the typing faults at runtime and not when compiling.

      Ever heard of unit tests? Still, Python >>>> PHP

    11. Re: Not as dead as ... by orlanz · · Score: 2

      I completely disagree. These are all tools best for given scenarios with various parameters and trade offs. And those parameters not only include but are mostly dominated by developer time in terms of conceptualization, implementation, and turnaround. The usecase scenarios where hardware limitations, MHz sensor monitoring, and micro+ second response times, make up a very small part of the landscape both in terms of man hours and capital expended.

      So in that view, Python, PHP, JavaScript, Perl, and yes even Visual Basic are all valid tools at the same level as C, C++, erlang, Ada, BASIC, etc. Everything we use may have some components been made via C, but the cumulative man power invested in that is probably matched if not beaten by the hours invested in Excel & VBA. Us techies may feel this is stupid, but it is the reality of the world.

    12. Re: Not as dead as ... by Z00L00K · · Score: 1

      Unit tests - that's just testing the unit and not how well it integrates with the rest of the system.

      Anyway - when you come into the loop of testing then you are already in the larger loop of workload than the short loop of compile-time detection.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    13. Re: Not as dead as ... by angel'o'sphere · · Score: 1

      That is why it is called unit test and not integration test.

      In static typed language most of the time unit tests are a waste and integration tests are much more important, however in a dynamic typed language unit tests have their place.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    14. Re: Not as dead as ... by thsths · · Score: 1

      Tcl is great - and it is a good example of a (mostly) functional programming language based on closures. Smalltalk is even better, but just as obscure.

      Luckily, you can achieve the same programming style in Python. You just need to be careful with arrays - they are mutable, and sometimes respond in unpredictable ways.

    15. Re: Not as dead as ... by just+another+AC · · Score: 1

      Javascript, Python, vbscript and a number of other scripting languages are to programming like a tricycle for kids is to a long haul truck. You can get to the goal, but you will hit a number of snags and it takes time to find coding errors that a full-blown fully type-safe compiler would have found.

      With many scripting languages you find the typing faults at runtime and not when compiling.

      But if you want some small isolated functionality maintained by a single programmer and it's only something around 100 lines of code then a scripting language is sufficient.

      Scripting languages suffers from the same limitations as Basic did in the 80's - a great instep, but prone to 'bit rot'.

      You remind me of a tradesman that can only put in nails using a nailgun, because the hammer is prone to error.

      If you can't build a serious program in Python (note: can != want to) as well as any other language then please hand back your programmer's license.

    16. Re: Not as dead as ... by illiac_1962 · · Score: 1

      If it ain't type safe and compiled it's craaaap!!

    17. Re: Not as dead as ... by tigersha · · Score: 1

      If it is Turing Complete it is a programming language. In that list HTML and CSS need not apply.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    18. Re: Not as dead as ... by tigersha · · Score: 1

      > Tcl is great

      No it is not. Have you ever programmed in it??

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    19. Re: Not as dead as ... by BlackOverflow · · Score: 1

      The browser code inspectors/debuggers will easily and instantly catch the vast majority of syntax errors. Debugging in javascript is one of the easiest things you can do.

    20. Re: Not as dead as ... by omnichad · · Score: 1

      So what else was meant by "It's interpreted, dullard" as a response to it being a programming language?

  2. C# Killed Java by Anonymous Coward · · Score: 1

    It's just taking a while for Java to bleed out.

    1. Re: C# Killed Java by Anonymous Coward · · Score: 5, Informative

      No. Oracle killed Java.

    2. Re: C# Killed Java by Anonymous Coward · · Score: 2, Informative

      Nah, C# is a no-go. It's only useful as long as you don't care about any platforms beyond Microsoft Windows. That means C# may have killed Borland C++ Builder, but it did pretty much nothing to Java.

      Oracle killed Java. Suing Google over their use of Java in Android was an absurdly stupid move. Android was THE one mainstream platform where Java was finally a first class app. Way to go alienating your user base Oracle.

    3. Re: C# Killed Java by Anonymous Coward · · Score: 1
    4. Re: C# Killed Java by ClickOnThis · · Score: 1

      Nah, C# is a no-go. It's only useful as long as you don't care about any platforms beyond Microsoft Windows.

      Oh really?

      --
      If it weren't for deadlines, nothing would be late.
    5. Re: C# Killed Java by Richard_at_work · · Score: 4, Interesting

      I'm sorry, are you unaware of .Net Core?

      Available on Windows, Linux and Mac.

      Available on x86 and ARM.

      Free to use.

      Free to change.

      Get and fork it top to bottom on GitHub with a open source standard permissive license.

      Or are you still stuck in the days of "hate MS at any cost"?

      I work for a company that uses .Net Core for all its software development. We dev on Macs, deploy on Linux in Docker containers, and pay Microsoft *nothing*. We are the largest travel company in the Southern Hemisphere, and we have partnerships with the largest RV manufacturers in the world.

      But don't mind us, we are just proof that your beliefs are out of date.

    6. Re: C# Killed Java by Anonymous Coward · · Score: 2, Insightful

      Well la-tee-da for you. You're constricted to staying within .NET v2.0 Core-only for as long as you wish to maintain cross-platform compatibility. Somehow you're happy about that? Someday, you'll own the fact that you are in a dead end platform that is going nowhere, by design. Your only way up will be to drop cross-platform compatibility so that you can use .NET proper. And Microsoft will be smiling evilly all the way to bank when that day arrives. Good luck, have fun with that.

    7. Re: C# Killed Java by ArhcAngel · · Score: 1

      C# may have killed Borland C++ Builder

      The reports of C++ Builder's demise have been greatly exaggerated.

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    8. Re: C# Killed Java by murdocj · · Score: 4, Insightful

      Every platform is eventually a dead end platform.

    9. Re: C# Killed Java by spongman · · Score: 2

      wait, what year is this? .NET & C# _are_ cross-platform _and_ open source.

      https://github.com/dotnet

    10. Re: C# Killed Java by spongman · · Score: 1

      no. it's not.

    11. Re: C# Killed Java by QuadEddie · · Score: 1

      Ok, Iâ(TM)ll bite because I just finished a large travel project and am looking to change things up. You guys hiring?

    12. Re: C# Killed Java by Richard_at_work · · Score: 1

      Constricted? Sure.

      Is it a problem?

      Not really. Haven't yet found anything important to us that hasn't been ported.

      Why? Because Microsoft defined .Net Standard, which means software conforming to specific versions will run on .Net Core and legacy .Net Framework. And then they made sure .Net Standard covers most of the stuff already in legacy .Net Framework, so most things just need retargetting to .Net Standard and recompiling to conform.

      Dropping .Net Core because the only way up is .Net Framework? Sorry, nope, .Net Framework is considered legacy at this point - Microsoft is putting its focus on .Net Standard and .Net Core. .Net Core is ahead of Framework with the 2.2 release, and will move further ahead with the .Net Standard 3 conforming release.

      At this point, .Net Framework is lagging.

      So in reality, people will have to drop .Net Framework and move to .Net Standard and .Net Core to move forward.

      People like you need to realise that the problem you have with Microsoft is yours, not everyone else's.

    13. Re: C# Killed Java by Richard_at_work · · Score: 1

      It really isn't.

      It really really isn't.

    14. Re: C# Killed Java by Z00L00K · · Score: 1

      C# is from a language perspective very similar to Java, but it suffers from the "need" to also run on the same platform as Visual Basic, which has forced introduction of the 'var' declaration where you don't really know what object you have when you use the variable.

      It's a shortcut that is easy to make to use the 'var' declaration, but it's a time bomb as well.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    15. Re: C# Killed Java by Z00L00K · · Score: 1

      Maybe Google should look at Ada instead of Java then?

      There's at least enough type safety and ability to detect things at compile time.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    16. Re: C# Killed Java by Z00L00K · · Score: 1

      Just be aware that embarcadero is more or less just a holding company for old tech like Delphi, a lot of the competence has left the building so some bugs that exists aren't going to be fixed.

      My source can't unfortunately be revealed, but I wouldn't be surprised if their products dies in a few years.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    17. Re: C# Killed Java by cyber-vandal · · Score: 1

      Why would he be stuck on .NET Core 2.0? 2.2 is the current version and is available for the three platforms, as is the 3.0 preview. As for .NET Framework 4 it looks like that won't be getting the same attention as .NET Core anymore https://blogs.msdn.microsoft.c...

    18. Re: C# Killed Java by rl117 · · Score: 3, Interesting

      At a job interview a few weeks back (embedded), they showed me another team's product--cross platform app development for ios/android/pc/mac and it was all C# with Xamarin. If it's sufficiently cross-platform for companies to use for their products, it's probably not that limited.

    19. Re: C# Killed Java by sosume · · Score: 2

      You really have no clue what you are talking about. The var keyword has nothing to do with the underlying CLI. It is a language feature that the compiler can pick up on to determine the correct type at compile time. The generated bytecode is still statically typed. The var keyword helps greatly in refactoring.

    20. Re: C# Killed Java by TheRaven64 · · Score: 1

      Are you assuming that the .NET Core version numbers correspond to some other project's version numbers (e.g. .NET Framework of C#)? Because if so, that would explain why your posts seem to be incomprehensible nonsense. .NET Core supports the most recent versions of C# and F#. They support a lot of third-party code that was designed for Windows and on Windows can be used instead of .NET Framework (and Visual Studio pushes you in that direction now).

      --
      I am TheRaven on Soylent News
    21. Re: C# Killed Java by TheRaven64 · · Score: 4, Informative

      Literally everything that you said in that post is wrong. In terms of being very similar to Java, here are a few differences:

      • C# has signed and unsigned primitive types (Java has only signed)
      • C# has pass-by-value struct types.
      • C# has asynchronous dispatch / rendezvous in the language.
      • C# has type-preserving generics (Java's are type erasing).
      • C# has type-safe callback functions ('delegates'), Java requires you to use anonymous classes for the same functionality (both now use lambdas where possible).
      • Java methods are always virtual, C# methods are non-virtual unless otherwise specified.

      As to the var thing, this is simple type inference. It is roughly analogous to C++11's auto. It's nothing to do with Visual Basic, it's more important for things like LINQ, where you end up with complex types that depend on the value of an expression and you don't want to force the programmer to write them explicitly. In these cases, var lets you bind variables to values of anonymous types. The code is still strongly statically typed.

      --
      I am TheRaven on Soylent News
    22. Re: C# Killed Java by ichimunki · · Score: 2

      You don't know what you're talking about. The var keyword simply saves you having to specify the type on the left side of the initial assignment statement. You always know exactly what the type of any variable is as it is explicitly stated on the right hand side of the assignment. This is a massive readability win when the type name is more than a few characters. Additionally, VB.NET is strongly typed.

      --
      I do not have a signature
    23. Re: C# Killed Java by illiac_1962 · · Score: 1

      C# The only serious cross platform open source language in exsistance.

    24. Re: C# Killed Java by Memnos · · Score: 1

      The biggest feature that Java has that I wish C# would adopt is default methods on interfaces. Other than that, C# is linguistically superior to Java in almost every way.

      --
      I don't trust atoms -- they make up stuff.
    25. Re: C# Killed Java by ndykman · · Score: 1

      Did you know the latest version of Java introduced the var keyword, so, no, it's not about Visual Basic. If you are talking about late binding, which is useful for COM and the like, that's dynamic, but dynamic is also really useful for functional or scripting languages.

      It's a required feature for using anonymous types, which are super useful in many cases. And it doesn't change anything about type checking.

    26. Re: C# Killed Java by billybob2001 · · Score: 2

      Literally everything that you said in that post is wrong. In terms of being very similar to Java, here are a few differences:

      C# has signed and unsigned primitive types (Java has only signed)

      char is an unsigned integer primitive in Java, range 0 to 65535

    27. Re: C# Killed Java by strikethree · · Score: 1

      I'm sorry, are you unaware of .Net Core?

      Available on Windows, Linux and Mac.

      Available on x86 and ARM.

      Free to use.

      Free to change.

      Microsoft had (still has?) some of the best programmers on the planet. That is not a problem. What is a problem is that management won't let anything high quality and well engineered leave the walls of that place. It is where technology goes to die.

      It is awesome that you get good work out of a Microsoft "thing". Asking others to take that risk is just downright antisocial, possibly bordering on malevolent.

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    28. Re: C# Killed Java by murdocj · · Score: 1

      For me, Perl is dead. I won't be touching that dumpster fire again.

  3. Part of me hopes it is dead by DaMattster · · Score: 4, Insightful

    So that Oracle can get butt fucked by their decision to be so consumer unfriendly when it comes to their policies on Java.

    1. Re:Part of me hopes it is dead by Anonymous Coward · · Score: 1, Insightful

      Oracle's touch-of-death to any previously successful product they touch/acquire. :( sigh
      Not that Java was a real success. It is a horrid language with and even horrider (it's a word now) runtime 'environment.' I don't know if Open/Libre Office are still depending on Java, but judging from the startup times, yes.
      Many years ago I was a bit of a Perl whizkid and worked at a company where the vision went to Java and another poorer choice {cough: something from the .NYET stable}. I recall my boss asking me to "throw together some Perl" to "check if their Java code was creating JSON objects correctly." Another coding ace from the Java-only degree mills education system of the 2000's spent many weeks trying to get simple things like calculations to behave in a financially reliable way. Java is IMHO a big mess. It is the PL/1 of the web era. Ok, I just dated myself :)

    2. Re:Part of me hopes it is dead by Bert64 · · Score: 4, Insightful

      Oracle are consumer-unfriendly across the board, not just with java... They are very good at killing off any goodwill and community support they bought from sun.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    3. Re: Part of me hopes it is dead by Anonymous Coward · · Score: 1

      The language itself. Its slowness.

    4. Re:Part of me hopes it is dead by Z00L00K · · Score: 1

      Don't mix up the language and the underlying compiler/runtime system.

      The language itself has some shortcomings, but the underlying system is the real problem.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    5. Re:Part of me hopes it is dead by Miamicanes · · Score: 2

      My favorite quote (made up by me, about 15 years ago) -- "Oracle isn't a database, it's a multi-level marketing scheme driven by an army of indentured vassals that somehow managed to make a really good database whose biggest disadvantage is Oracle itself."

    6. Re: Part of me hopes it is dead by Anonymous Coward · · Score: 1

      I've written trading systems in core Java with latencies comparable to C++ (sub 100 micros) in a quarter of development time.
      It's the developer not the language...

    7. Re:Part of me hopes it is dead by TheRaven64 · · Score: 4, Interesting

      It is the PL/1 of the web era.

      I disagree, it's the COBOL of the web era. It's hugely popular, very verbose, not particularly fast (it can be, but easiest ways to write code in Java don't tend to perform well) and the go-to choice for business logic. And, no matter how much you may dislike Java, be thankful for every organisation it got to move off COBOL...

      --
      I am TheRaven on Soylent News
    8. Re: Part of me hopes it is dead by Anonymous Coward · · Score: 1

      I wish you would criticize Java for the things that really are wrong with it.

      Running "java HelloWorld" is pretty much instantaneous on any machine made in the last 20 years.

    9. Re:Part of me hopes it is dead by clay_buster · · Score: 1

      Not really sure why the JVM is a problem. I it is fast and has been used to host a variety of other languages. The C# CLR is very similoar. Oracle is the problem with Java and the JVM.

    10. Re:Part of me hopes it is dead by ememisya · · Score: 1

      I think a better question would be "how many devices are capable of running the Java runtime environment?" I am assuming this is more of a philosophical question like, "Is God dead?" or "is kindness dead in this world?" As the department suggests, it may also be resting. Be sure to feed and water your Java regularly, and check it for ticks.

    11. Re:Part of me hopes it is dead by ConceptJunkie · · Score: 1

      Oracle has all the evil of Microsoft, but none of the smarts.

      --
      You are in a maze of twisty little passages, all alike.
    12. Re:Part of me hopes it is dead by DaChesserCat · · Score: 1

      It is the PL/1 of the web era.

      I disagree, it's the COBOL of the web era. It's hugely popular, very verbose, not particularly fast (it can be, but easiest ways to write code in Java don't tend to perform well) and the go-to choice for business logic. And, no matter how much you may dislike Java, be thankful for every organisation it got to move off COBOL...

      And like COBOL, it's also largely ubiquitous.

      My gig for the past decade has been writing Java / Spring web apps. That doesn't appear to be changing. Many enterprises, even those which AREN'T running all the infrastructure on Linux, use a lot of Java. We make heavy use of Power Systems (originally known as AS/400s) and they run Java on their proprietary hardware / OS.

      Just how many languages can you use for creating Android apps? And what fraction of them are written using Java?

      Also like COBOL, no one ever learned Java because it was a fun or exciting platform. They learned it because you can earn a paycheck from it. So long as that remains the case ... sorry, but it's not dead. Headed that way, yes; every platform is, eventually. But not dead yet. No matter how much you may wish it otherwise.

      --
      ... by the Dew of Mountains the thoughts acquire speed, the hands acquire shakes, the shakes become a warning
    13. Re:Part of me hopes it is dead by Toshito · · Score: 1

      What? COBOL is not very fast? You've never worked with it I see.

      The recent COBOL compilers applies every optimising tricks known to date and today's executables are way faster than 20 years ago.

      CPU time on mainframes is very expensive, believe me when I say that every companies tries to have the shortest execution time possible.

      Don't compare it to some shitty interpreted or JIT compiled trash like Java.

      --
      Try it! Library of Babel
  4. Has Netcraft Confirmed It? by alvinrod · · Score: 4, Funny

    Has Netcraft confirmed it?

  5. Not dead by Rosco+P.+Coltrane · · Score: 5, Insightful

    It's alive and well server-side. It's dead on the desktop because it's dreadful, slow, memory-hungry and extremely annoying each time Oracle forcibly imposes things that break legacy applications.

    --
    "A door is what a dog is perpetually on the wrong side of" - Ogden Nash
    1. Re:Not dead by Anonymous Coward · · Score: 1, Insightful

      It's alive and well server-side. It's dead on the desktop because it's dreadful, slow, memory-hungry and extremely annoying each time Oracle forcibly imposes things that break legacy applications.

      Sounds like great reasons to avoid using it on the server side also.

    2. Re:Not dead by Spamalope · · Score: 3, Informative

      You forgot the security problems. What a steaming pile. My experience is you can half the frequency of business desktop virus problems by uninstalling JVM or at least blocking the ability of anything web or email based touching it. It's a disaster anywhere a regular user can click on something that runs it. Sad since the design model could have been secure.

    3. Re:Not dead by jlowery · · Score: 1

      npm modules?

      --
      If you post it, they will read.
    4. Re:Not dead by phantomfive · · Score: 3, Insightful

      It's dead on the desktop

      In fairness, almost everything is dead on the desktop at this point.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:Not dead by supremebob · · Score: 1

      Oracle is doing it's best to kill it on the server side as well by requiring a license for it for commercial use.

      I feel bad for any company dumb enough to pay it, though, considering that there are free alternatives out there like OpenJDK.

    6. Re:Not dead by ctilsie242 · · Score: 3, Insightful

      The ironic thing is that the Java runtime was one of the few major Mac attack vectors until Apple killed it.

      Java is definitely useful, but the problem is that it has been ignored, and its structure not fundamentally updated for decades to handle modern day attacks.

      Had Java kept up with the times, there would have been no need for Flash or HTML5. However, because of the neglect, it just got surpassed by newer technologies.

    7. Re:Not dead by omnichad · · Score: 1

      What does Drupal have to do with Java? That's a PHP-based system.

    8. Re:Not dead by Required+Snark · · Score: 1

      Wow, where do you live? How did you move to a universe without JavaScript?

      --
      Why is Snark Required?
    9. Re:Not dead by i.r.id10t · · Score: 1

      Unless that company/institution is using other (expensive in either time, money, people, or all) software that runs on it, that specifies in its support contract that "thou shalt only use these specific versions of java from oracle". Similar example is running linux on IBM mainframes via z/VM - only supported distros were/are redhat and suse. Not running the exact specific version of one of those two? No support.

      --
      Don't blame me, I voted for Kodos
    10. Re: Not dead by ctilsie242 · · Score: 2, Insightful

      It had one awesome point: Write once, run anywhere. In theory, an application could run the same on AIX as it does on a Java "decoder ring", without issue.

      In reality, because of the differences in JVMs, an application that worked well on Mac will just throw an exception and die... or even worse, run and end without any error messages and no real way to trace it unless you go through line by line. Trying to have the same code work well on Macs, Windows, and Linux was an exercise in futility.

      I do think there is still a need for one language that runs across platforms... but it looks like that language is turning into Python.

    11. Re:Not dead by geekymachoman · · Score: 1

      > It's alive and well server-side. It's dead on the desktop because it's dreadful, slow, memory-hungry and extremely annoying each time Oracle forcibly imposes things that break legacy applications.

      So, it's not dreadful, slow and memory hungry / annoying on servers ?

      Somewhat offtopic, but as a systems guy, I really have when people put absolute shite on servers just because the boss is rich and can afford to stick 32 gb of RAM in it.

      Developers are even worse nowdays. For example, software like this (its' a restapi documentation generator):
      https://github.com/tmcw/docbox

      Takes approx 120 mb of disk space to be installed (3rd party packages). This 'software' can be coded in 100 kb of code, why the fuck does it download 120 mb of 3rd party packages ?
      That's developers. Oh, there's a package for that functionality we need, but the packages has ton of other stuff too... never mind, just use it... hard drives are cheap. Not to mention security implications of using 30 different packges full of crap coded by 30 different people. In Javascript and PHP world, you'll see this as normal.

    12. Re:Not dead by Z00L00K · · Score: 1

      I agree - PHP is in the Javascript league of issues, please don't give me more issues than I already have.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    13. Re:Not dead by a_n_d_e_r_s · · Score: 1

      Flash and Java was created at the same time and none of them was actually meant for the web to start. But around 95-96 they both got added to the new hyped www.

      HTML5 is meant to kill off Flash. Java on the web never really took off.

      --
      Just saying it like it are.
    14. Re: Not dead by cyber-vandal · · Score: 1

      Apart from all the things that aren't, obviously.

    15. Re:Not dead by serviscope_minor · · Score: 1

      It's dead on the desktop because it's dreadful, slow, memory-hungry

      Not any more. I mean ostensibly yes, but compared to what we have now, it's svelte and fast. The JVM is way thinner than electron.

      --
      SJW n. One who posts facts.
    16. Re:Not dead by Anonymous Coward · · Score: 2, Interesting

      I know lots of companies for which Java is a major part of their infrastructure. I have never heard of anyone ever paying for Java. "OpenJDK is the official reference implementation of Java SE since version 7." See https://en.wikipedia.org/wiki/...

    17. Re:Not dead by jma05 · · Score: 1

      Earth-1218. Which universe is this where Javascript is pervasive on the Desktop? I have a couple of Electron based editors and a couple more communication apps. That's about it. That is no more penetration than Java RCP apps of the last decade.

    18. Re:Not dead by slimshady76 · · Score: 1

      Please modificar this comment up!!! If you are a "modern" developer, it seems the only way out of a performance problem is adding more RAM/CPU/storage. They NEVER check their code for issues, just copy/paste some stuff from internet and call the day off. For instance, I have had to fulfill request to increase a LPAR's RAM by 16 GB because the heap size of a given JVM was chewing 3GB for each instance after a "code upgrade". I have seen memory leaks worth the lapidation of the entire development team spring like dandelions, and the first approach by said "development team" was always to take them as a feature of the JVM. Only after we gather every single piece of evidence they would bother to look at their code for issues. If the JVM isn't performing correctly, it's always the OS/hardware, not the lousy Java code. I'll be more than happy to dance on Java's grave once we as an evolved society decide to put it down for good.

    19. Re:Not dead by TheRaven64 · · Score: 1

      Java is alive and well on the mac, has been for decades. I don't know where you get your information from, but it's obviously not current or correct.

      Apple stopped shipping it two or three major OS releases ago. If you try to run any Java things, you're prompted to go to the Oracle site and download it. If you do, it doesn't get updates through the OS update mechanism.

      Java has gone from being installed on all Macs to being installed on the ones where people actively chose to. Last stats I saw had it at about 20% and dropping.

      --
      I am TheRaven on Soylent News
    20. Re:Not dead by Luthair · · Score: 1

      This is far from the truth, though you should never have any browser plugin from anything.

    21. Re: Not dead by Luthair · · Score: 1

      He's right actually, there haven't been new large scale applications written for desktops in a long time.

    22. Re: Not dead by cyber-vandal · · Score: 1

      Ones you've heard of maybe but the Windows ecosystem is vast and not all applications make sense as a web app. There are also thousands of existing applications being regularly updated, MS Office plugins, document templates ActiveX etc. Don't forget games as well. Microsoft wouldn't have bothered porting WinForms and WPF to .NET Core if Windows was now just a web app launcher.

    23. Re:Not dead by Anonymous Coward · · Score: 1

      I feel bad for any company dumb enough to pay it, though, considering that there are free alternatives out there like OpenJDK.

      Maybe they need support?

      We've been using Java for our business for 15 years. Not even a cent out of our profits were never for Sun/Oracle. I also feel bad for using somebody else's software for so long and never contributing back, not even as opensource.

    24. Re:Not dead by wonkavader · · Score: 1

      You're describing development by composition -- which means in plainspeak "add a bunch of stuff you didn't write and don't understand until it works, then ship."

      IDEs and Java worked hand and hand to create this mindset, which means it's easy to train-up inadequate developers. They don't optimize because they don't know how it works. They don't know ways of actually doing things. They write very little code.

      This means code is huge and slow, and there's no fix for anything other than 'find another library'.

    25. Re:Not dead by MightyMartian · · Score: 1

      It's the new COBOL. Long after the .NET ecosystem had been buried, Java will still be there.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    26. Re:Not dead by MightyMartian · · Score: 1

      The huge library. Like it or not Java has a two decade head start on any would be contender.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    27. Re:Not dead by angel'o'sphere · · Score: 1

      There are plenty of Java Applications on the desktop, for starters: basically all Java IDEs are written in ... uh, Java.

      You most likely would realize which programs are in Java and which not ... Java is only memory hungry if you do memory hungry work ... a no brainer.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re: Not dead by angel'o'sphere · · Score: 1

      Trying to have the same code work well on Macs, Windows, and Linux was an exercise in futility.
      Only if you use Mac specific extensions without checking if the extensions are available, e.g. the menubar. Otherwise every application I ever was involved with runs without any change on Linux, Mac and Windows.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    29. Re: Not dead by illiac_1962 · · Score: 1

      Python!? LMAO, I just snorted. It's still tripping over its own version 2 or version 3 dick.

    30. Re: Not dead by illiac_1962 · · Score: 1

      Eclipse can die in a fire. I would smile and fold my arms to the sound of its screams.

    31. Re: Not dead by tigersha · · Score: 1

      Um no. The runtime is good but the language is trash. You have it the wrong way around

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    32. Re: Not dead by tigersha · · Score: 1

      Today my boss mentioned the word Python and I pulled out my CV

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    33. Re:Not dead by petermgreen · · Score: 1

      As I understand it, Openjdk is the reference implementation, but it is only distributed in source code form.

      Oracle has just changed the license on their binary JDK distributions to be far more restrictive of what can be done without paying.

      So that basically leaves many windows users with the choice of building it themselves (which I understand is not exactly a pleasent process), paying oracle, or using binaries from some unknown third-party.

      Linux users aren't really affected, they just get their openjdk builds from their distro.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    34. Re:Not dead by sjames · · Score: 1

      It's not pining, it's passed on!

      More seriously, I don't think it's going away any time soon, but it is becoming the new COBOL.

  6. Not even slightly by Optic · · Score: 2
  7. What? by CaptainJeff · · Score: 5, Insightful

    It's dead .. in that it's now the NUMBER TWO MOST POPULAR LANGUAGE IN THE WORLD? Wow. Perhaps my understanding of the meaning of "dead" is misinformed. The commentary here seems to center around Java as a language for desktop applications or similar. It's not. It hasn't been for decades. Java is used mostly to make enterprise-class server-side software. It's used extensively in the financial services sector. Most of the code for any FI's web applications you interact with is Java. And so is all of the backend code. And it's not going anywhere in that space.

    1. Re:What? by magzteel · · Score: 2

      Java is used mostly to make enterprise-class server-side software. It's used extensively in the financial services sector.
      Most of the code for any FI's web applications you interact with is Java. And so is all of the backend code.
      And it's not going anywhere in that space.

      It is so not dead. The ecosystem around Java is huge and growing. If we are talking web apps, sure, they are using Javascript, Typescript, etc. But the server side for pretty much every major project I've seen in the last 10 years is Java, with C/C++ in some areas.

    2. Re:What? by WindowsStar · · Score: 1

      What are you talking about? I work with servers (over 3000 servers) as a contractor for large companies and governments. No server has Java on it, nor does any software running on the server use Java. Windows or *IX boxes. Are you using odd ball software?

    3. Re:What? by F.Ultra · · Score: 1

      And? I bet you that you can find people who administrate 30k+ servers where not a single one runs Windows, or where not a single one runs Linux, or where not a single one runs any http server what so ever and so on. Your anecdote is just an anecdote and nothing more.

    4. Re: What? by astrofurter · · Score: 5, Interesting

      Python isn't dead, but it was gravely wounded by the Python 2/3 debacle. (Python 3 is backward incompatible with Python 2, without actually fixing any of the big problems with Python 2.).

      A lot of people still use Python because of the huge library ecosystem. However not many new projects are being started in Python today. The quality of the community has also dropped precipitously as good developers jumped ship and the code monkeys piled in.

      Golang, otoh, is alive and doing very well. Docker, Kubernetes, Terraform, Etcd, and Prometheus are a few of the high profile FOSS projects written in Go. Many talented folks who jumped ship from Python are now Gophers.

    5. Re: What? by magzteel · · Score: 2

      Python isn't dead, but it was gravely wounded by the Python 2/3 debacle. (Python 3 is backward incompatible with Python 2, without actually fixing any of the big problems with Python 2.).

      A lot of people still use Python because of the huge library ecosystem. However not many new projects are being started in Python today. The quality of the community has also dropped precipitously as good developers jumped ship and the code monkeys piled in.

      Golang, otoh, is alive and doing very well. Docker, Kubernetes, Terraform, Etcd, and Prometheus are a few of the high profile FOSS projects written in Go. Many talented folks who jumped ship from Python are now Gophers.

      Open source and enterprise aren't the same thing. An open source project can choose to use whatever flavor of the month they like. An enterprise will have a strong bias towards using tech they have established depth in. Adopting a new language becomes a long term support commitment that has to make business sense.

    6. Re: What? by weilawei · · Score: 4, Insightful

      Definitely not dead or gravely wounded. Python may not be the new hotness, but it's absolutely a go-to language for new code for me. I have been, in point of fact, writing new Python code for my employer recently. It's still the tool I reach for when I need something working Now. I don't spend time writing code for small reasons either--if it isn't making us significantly more money than it costs to build, I don't build it.

      Python makes us money, and that's the bottom line.

      Now, I'm no picky eater. I've been coding 26 years, and I'll use the correct tool for the job any time I can, rather than "work like an asshole" [favorite saying of an old boss]. For me, that's often Python, but I won't hesistate to drop down to C/C++ or assembler if that's the appropriate tool--or work with Java or C# or Objective-C or Clojure or Ruby or Javascript or Erlang or Haskell or HTML or CSS (and once upon a time, BASIC, Pascal, et al...).

      Why are people so stuck on one language or one way of thinking? I was listening to a software engineering podcast recently, and this guy with 8 years of experience is saying he thinks he knows it all now. Well, sorry to break it to you, 8 Year Master, but after 26+ years of this, I've realized that I will never learn it all (even though I keep trying).

      Pay your bills first, keep your deadlines and promises, go home to your loved ones, and do things that expand your horizons.

      Java, Python, C, Go, Rust: these things aren't important in the same way.

    7. Re: What? by jma05 · · Score: 4, Insightful

      > Python isn't dead, but it was gravely wounded by the Python 2/3 debacle.

      That is absurd. Python is more popular than ever. Take a look at historical ranks.
      Python transition was planned for a long time (Python 3K) and was extensively discussed. The transition was expected to take a long time when introduced and was managed as such. Its community managed breaking changes better than most languages.

      You might have had that case with Perl 5/6. It lost all its clout in the transition.

      Both Java and Python have grown tremendously. It was just that no one saw Javascript to have the resurgence it did in the meantime.

    8. Re:What? by Z00L00K · · Score: 1

      I C what you did there.

      For anyone else - if you can find a modern device not relying on C in some layer of the platform, please tell.

      If you run Android, then you have Linux Kernel written in C. Any modern car and even some TV remotes have software written in C. And it's not going away.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    9. Re: What? by jma05 · · Score: 3, Informative

      > Many talented folks who jumped ship from Python are now Gophers.

      You might get that impression if you read some enthusiastic bloggers. But the stats don't seem to reflect that at all.

      http://www.modulecounts.com/

      Go is adding an average of 5 modules per day. That is quite low. Compare that to 118 for Python and 128 for Java. Even Rust is growing faster.

      Much of Python's recent resurgence has been in "data science". Go community barely even attempts to solve anything here.
      It's appeal to Python programmers is in a rather narrow class of problems.
      Static binary? Against Java 11 with the upcoming GraalVM, I don't see much in favor of Go.

    10. Re: What? by Anonymous Coward · · Score: 1

      Enterprise will always fail, foss will sometimes deliver.

      These are the main differences between the two business models. Enterprise IT is actually living off the failures. More failures means asking for more resources. So of course Enterprise is all java running on ms windows and ad.

    11. Re:What? by squiggleslash · · Score: 1

      Came here to say the same thing.

      Java is unpopular with programmers, we don't like it, it forces us to do things correctly but its methods for doing so are tedious and make programming in it a chore. But it seems like this dislike leads many to *want* it to be dead, and to jump on every opportunity to proclaim its death.

      Java dominates the enterprise back-end. It will do so for decades to come, just as COBOL did before. It's not going anywhere. Anyone who doubts this for a second should look for programming jobs at their local utilities and any nearby offices for large, non-tech, corporations.

      --
      You are not alone. This is not normal. None of this is normal.
    12. Re: What? by magzteel · · Score: 1

      Definitely not dead or gravely wounded. Python may not be the new hotness, but it's absolutely a go-to language for new code for me. I have been, in point of fact, writing new Python code for my employer recently. It's still the tool I reach for when I need something working Now. I don't spend time writing code for small reasons either--if it isn't making us significantly more money than it costs to build, I don't build it.

      Python makes us money, and that's the bottom line.

      Now, I'm no picky eater. I've been coding 26 years, and I'll use the correct tool for the job any time I can, rather than "work like an asshole" [favorite saying of an old boss]. For me, that's often Python, but I won't hesistate to drop down to C/C++ or assembler if that's the appropriate tool--or work with Java or C# or Objective-C or Clojure or Ruby or Javascript or Erlang or Haskell or HTML or CSS (and once upon a time, BASIC, Pascal, et al...).

      Why are people so stuck on one language or one way of thinking? I was listening to a software engineering podcast recently, and this guy with 8 years of experience is saying he thinks he knows it all now. Well, sorry to break it to you, 8 Year Master, but after 26+ years of this, I've realized that I will never learn it all (even though I keep trying).

      Pay your bills first, keep your deadlines and promises, go home to your loved ones, and do things that expand your horizons.

      Java, Python, C, Go, Rust: these things aren't important in the same way.

      I agree with your basic points.
      If I'm writing tools I prefer a scripting language, and in that domain I express myself better in Perl than Python.
      But in a large system with lots of interfaces and implementations right now I would prefer to use Java.

    13. Re: What? by phantomfive · · Score: 1

      not many new projects are being started in Python today......Golang, otoh, is alive and doing very well. Docker, Kubernetes, Terraform, Etcd, and Prometheus are a few of the high profile FOSS projects written in Go.

      Oh, you are looking at devops use cases. For things like AI research, Python is still popular.

      --
      "First they came for the slanderers and i said nothing."
  8. There are quite a few Java games on Steam by Anonymous Coward · · Score: 1

    Mainly indie games but you'd never know unless you go through the game's files. They come prepackaged with dependencies like a JRE and just run ... unlike .Net or other MS technologies that always seem to require some special version of a library installed system-wide. Go take a long walk off a short pier, VCredist!

    Fun fact: I have 21 versions of VCredist installed on my computer at the moment.

    1. Re:There are quite a few Java games on Steam by The+MAZZTer · · Score: 3

      .NET Core allows you to bundle the runtime with your application so that limitation no longer exists. With .NET Core 3, .NET Core will be ready to replace .NET Framework so anyone should be able to take advantage of that capability if they want to.

      Oh, and .NET Framework is built into the OS... so you usually do not need to install a runtime anyway except for 2.x/3.x which are disabled by default in modern Windows.

  9. Seeing Red (or Pink) by krisdickie · · Score: 1

    I guess if Fuchsia eventually replaces Android, then yes, hopefully down for the count.

    1. Re: Seeing Red (or Pink) by astrofurter · · Score: 1

      New Google Fuchsia - pronounced "Goo Ghoul Fucks Ya"

  10. Seems fine to me by duke_cheetah2003 · · Score: 1

    I install java on most my machines. I don't use it too terribly often, but when I do, the apps written in and running on Java seem as good as any other Apps. I don't see the problem.

    Not sure why there's comments of licensing issues... it's a free download from Oracle's website, has been forever. Am I missing something? Do you need special permission to write java code and distribute it? I'm sure you might need permission to distribute the VM with your app, but that's not even necessary, for the reason I already stated.

    I don't know it as a programming language, never had any interest in it. so can't really comment on that aspect of it.

    1. Re:Seems fine to me by slack_justyb · · Score: 5, Informative

      Not sure why there's comments of licensing issues... it's a free download from Oracle's website

      Well the issue is complex if you stick to Oracle provided binaries, the TL;DR simple answer is to move on to OpenJDK and be done with it.

      Java SE 8 which was the last version you could "freely" use in a commercial product, if you go to Oracle's website at the moment, you'll get this message.

      Oracle will not post further updates of Java SE 8 to its public download sites for commercial use after January 2019. Customers who need continued access to critical bug fixes and security fixes as well as general maintenance for Java SE 8 or previous versions can get long term support through Oracle Java SE Subscription or Oracle Java SE Desktop Subscription. For more information, and details on how to receive longer term support for Oracle JDK 8, please see the Oracle Java SE Support Roadmap.

      Going forward you now have two options. Oracle OpenJDK which is an open source JDK that you may use as you see fit, the end. Oracle JDK, which starting at version 11 is Oracle OpenJDK plus some Oracle enhancements. You may freely download Oracle JDK and use it for development and testing, however, Oracle JDK cannot be used for production or commercial use without being anally raped by Oracle, so yeah you cannot download Oracle JDK and just use it without being in some degree of violation of Larry Ellison's 37th yacht fund somewhere in the fine print of that download. Additionally, Oracle has gotten a little blood thirsty lately so use Oracle JDK without a license at your own damn risk.

      So you might ask, so if we have OpenJDK, who would want Oracle JDK? The important thing to remember that OpenJDK provided by Oracle is Oracle's build of OpenJDK, which may or may not have all the most recent patches. Basically, Oracle's OpenJDK is on par patch wise the day a new version hits with Oracle JDK. So when Java 11 hit, that day Oracle JDK and Oracle OpenJDK were functionally the same. However any patches that Oracle JDK has received since that day, Oracle OpenJDK hasn't or might have, it's basically "meh we patch it when we patch it." However, Oracle isn't the only game in the OpenJDK build world.

      Here's a post about all the different folks building OpenJDK. I suggest OpenJDK from AdpotOpenJDK or if you are using Linux, BSD, Unix, etc Just use the OpenJDK that your vendor provides, they usually keep it reasonably up to date. What the change does do, is make everyone change their old habit of just going to Oracle's site, download their JDK, and go from there. Instead, just go grab a non-Oracle build, beside we shouldn't be frequenting Oracle anyway.

      Outside of that, Java is still Java and unsurprisingly Oracle is still shooting themselves in the foot. The most recent move with Java 9, 10, and 11 only further cements folks' decisions to leave Oracle as their provider of a Java implementation.

    2. Re: Seems fine to me by nasch · · Score: 1

      The statutory copyright infringement penalty is per work infringed, not per instance of infringement.

    3. Re:Seems fine to me by denis-The-menace · · Score: 1

      At my work we've been told that we must pay for licenses for our desktops to use JAVA runtime.

      We are not exactly scrambling to rewrite apps but this has killed all new development in Java in the organization.

      At home, I have not installed Java in 5 years.

      --
      Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
    4. Re:Seems fine to me by Sesostris+III · · Score: 3

      My understanding is that version 11 Oracle OpenJDK will have exactly the same patches applied as Oracle JDK (LTS), until version 12 comes out. Then the patches Oracle applies to Oracle JDK version 11 will not be applied to Oracle OpenJDK version 11. Oracle OpenJDK users will be expected to move to version 12. (This in turn will receive official Oracle patches until version 13 comes out, and so on. New versions are expected to come out every six months from now on.)

      However, I believe some other JDK suppliers, like AdoptOpenJDK, will provide provide a patched version of version 11 even after version 12 is out.

      --
      You never know what is enough unless you know what is more than enough. - Blake
    5. Re:Seems fine to me by slack_justyb · · Score: 1

      Yeah that's the game plan. Fingers crossed on that one. But yeah, if you go Oracle's OpenJDK build, you basically have to update on new version. LTS or not as the LTS only applies to their commercial offering. However, considering its Oracle we are talking about here, I'll continue to be firmly in the "I'll believe that's the plan when I see it."

  11. Oracle's Whims by Dwedit · · Score: 2

    The thing I've recently heard about Java is that you are subject to Oracle's random whims. Right now, you can get and use the runtime environment and development environment for free, but you don't know if they will randomly decide to charge you a ton of money to use it and send an army of lawyers after you.

    That seems to be the only "dead" part of Java, the idea that you can actually use it without Oracle screwing you over.

    1. Re:Oracle's Whims by Arkham · · Score: 4, Interesting

      That seems to be the only "dead" part of Java, the idea that you can actually use it without Oracle screwing you over.

      We've moved to OpenJDK for all production systems, and that sidesteps Oracle entirely.

      --
      - Vincit qui patitur.
    2. Re:Oracle's Whims by phantomfive · · Score: 4, Insightful

      The thing I've recently heard about Java is that you are subject to Oracle's random whims. Right now, you can get and use the runtime environment and development environment for free, but you don't know if they will randomly decide to charge you a ton of money to use it and send an army of lawyers after you.

      Use OpenJDK. Problem solved.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Oracle's Whims by phantomfive · · Score: 1

      If Oracle can claim copyright on simply the function names of Java,

      Because they've licensed it to the world, just like every other programming language worth using. Python APIs are just as copyright as Java's, but again, there is a license.

      In the post-Oracle vs Google world, make sure you have a license for any APIs you are using.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Oracle's Whims by Tough+Love · · Score: 1

      In the post-Oracle vs Google world, make sure you have a license for any APIs you are using.

      Even better, steer well clear of any proprietary language platform.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    5. Re:Oracle's Whims by Sesostris+III · · Score: 1

      AdoptOpenJDK may be a better bet unless you want to update your JDK version every six months, or continue with an unpatched version. Oracle OpenJDK version 11 will only receive updates until version 12 is out. The commercial Oracle JDK version, being LTS, will receive them for a lot longer than that.

      --
      You never know what is enough unless you know what is more than enough. - Blake
    6. Re:Oracle's Whims by Arkham · · Score: 1

      AdoptOpenJDK may be a better bet unless you want to update your JDK version every six months, or continue with an unpatched version. Oracle OpenJDK version 11 will only receive updates until version 12 is out. The commercial Oracle JDK version, being LTS, will receive them for a lot longer than that.

      With all the security vulnerabilities we update a lot more often than twice a year as it is, but that's a valid point for people who aren't as plugged into that.

      --
      - Vincit qui patitur.
  12. Microsoft could help by BladeMelbourne · · Score: 2

    I say this as someone who's written .NET code for 17 years now - and last wrote Java back in University (1999).

    The .NET Framework is kept constantly up to date by Windows Update. It might be nice if Java was a Windows "Feature" - and every month the latest version was downloaded with Windows updates. Microsoft has been embracing open source, and supporting other platforms for years. I like the new Microsoft.

    Java apps shouldn't be an alien, and choice benefits developers and eventually consumers.

    1. Re:Microsoft could help by Anonymous Coward · · Score: 1

      Microsoft tried to include a compatible Java language in Windows runtimes, and Sun sued and won to have it removed.

      https://www.cnet.com/news/sun-microsoft-settle-java-suit/

    2. Re:Microsoft could help by Wookie+Monster · · Score: 2
      Yes, constant Java updates would be nice, but backwards incompatible updates do creep in. This tends to affect popular frameworks, in part due to using deprecated and backdoor features. Eventually the frameworks get fixed, but forcing a new version of Java all the time would cause more harm than good.

      As for your work with .NET, are you writing GUI apps? For that, I can see how forcing new updates really helps users in the long run. Java is a complete failure for developing GUIs, mostly because Sun/Oracle decided to implement that capability themselves, even though they really had no clue how.

    3. Re:Microsoft could help by drinkypoo · · Score: 4, Informative

      The .NET Framework is kept constantly up to date by Windows Update. It might be nice if Java was a Windows "Feature"

      Perhaps you have forgotten history. Microsoft had a JVM. Then they did weird stuff to it which was not quite compatible with other JVMs, and they still wanted to call it "Java". They got sued and lost, and they could no longer play their Embrace-Extend-Extinguish game with Java, so they invented .NET to compete with Java instead. Sun went down the toilet bowl, and Oracle hasn't really even tried to keep Java current, so now .NET beats Java like a piece of meat.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:Microsoft could help by Anonymous Coward · · Score: 1

      I like the new Microsoft.

      Windows 10 has demonstrated quite nicely that there is no "new" Microsoft. Microsoft is not just the same as before the DoJ, they're worse, and intend to make up for lost time.

      Google also demonstrates why you can be a terrible company even if you dump a lot of your code as OSS.

    5. Re:Microsoft could help by Luthair · · Score: 1

      Java has an update checker, but I would imagine the majority of desktop applications built on Java bundle the JRE. Servers don't it changing and lock it down.

    6. Re:Microsoft could help by angel'o'sphere · · Score: 1

      Desktop applications basically always come in two versions: without JRE, relying on one installed on the system, but obviously portable, and then bundled with a JRE for the majour OS's

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:Microsoft could help by drinkypoo · · Score: 1

      Every single commercial Java application I have installed came with its own JRE, and wasn't offered without. The most complex Java app I've installed that didn't was probably eclipse.

      Write once, debug everywhere.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:Microsoft could help by angel'o'sphere · · Score: 1

      Funny, as Eclipse uses a special GUI framework, that is written in C++ and is platform specific.

      All Java Applications I have use the installed SDKs ... I have not a single one with an included JRE.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:Microsoft could help by Baki · · Score: 1

      On my system, I get automatic openjdk updates as part of std. OS updates. It is not running windows however. Microsoft however came up with .NET in an attempt to kill off java, which back then was a means to push its operating system. They did not succeed with the latter.

  13. That's a little bit like asking "is Linux dead?" by andy16666 · · Score: 5, Insightful

    That's a little bit like asking "is Linux dead?", simply because it's not a popular desktop OS. Just because the majority of users don't realize they're interacting with something, doesn't mean it's not widely used. In the case of Java, the Android platform is a major client-facing deployment. However, the majority of enterprise and webservices are still Java/Java EE and that application is growing, driven by the move to the cloud and the popularity of microservice architecture in new enterprise installations.

    JavaScript obviously is a bit deal too, given the increasing importance of heavy client-side web-apps. But most of those webapps have Java on the back end.

  14. Not dead at all by Arkham · · Score: 1

    Java's been dead on the desktop forever. Oracle isn't doing it any favors either. But OpenJDK is alive and well, and Spring and spring cloud are very popular, performant, scalable tools that we use every day. Yes, we're dabbling in Node for purpose-built microservices more and more, but Java has always been and will continue to be a good choice for many server-side projects.

    --
    - Vincit qui patitur.
  15. Re:Security is a lot of why it's dying by phantomfive · · Score: 5, Interesting

    Between it's different versions, the security problems this brings, etc., it's dying fast in the professional environment

    What security problems come with Java?

    I don't see a lot of JSP servers, either

    JSP is legacy now, but a lot of companies are using Java on the backend in a web services model. The frontend can be in Angular, or React, or whatever. It's a good choice when you want stable, cheap developers.

    As my own professional opinion, I would say that Java is better for writing backend APIs than Node/Express.

    --
    "First they came for the slanderers and i said nothing."
  16. Not until that next big eruption by macraig · · Score: 4, Funny

    How dead is Java?

    It's still populated by 141 million people and it's been a while since the last gigantic eruption, so it ain't dead at all.

    1. Re:Not until that next big eruption by 110010001000 · · Score: 1

      Ha, got one.

    2. Re:Not until that next big eruption by macraig · · Score: 1

      I read TFS. I was just having fun with the title.

    3. Re: Not until that next big eruption by cormandy · · Score: 4, Funny

      Why the greatest fear of the inhabitants of Java is the next eruption of Mount Ellison, a volcano once thought to be extinct but known to occasionally to roar back to life. The Javanese being a superstious folk believe that the only way to placate this unpredictable volcano is to give the god Oracle - known to possess Mount Ellison, or is it the other way around? - cash offerings through the purchase of annual software maintenance contracts. These excessive and unreasonably priced contracts are believed keep the god Oracle and its volcano Ellison at bay sparing the Javanese from being burned and destroyed by another spillage of hot lava from what was once a nice mountain with a solid database product somewhere back in in the 1980s or early 1990s.

    4. Re: Not until that next big eruption by macraig · · Score: 1

      Nice "history" lesson! Glad I could inspire it.

    5. Re: Not until that next big eruption by shanen · · Score: 1

      Sometimes I wish I got a mod point to bestow. In the absence of mod points, let me express my approval of your well written and funny comment. I'm even feeling a bit gratified at my out-of-context but provocative question that apparently helped trigger the story. Several actually funny comments emerged.

      However the corporate cancers are still winning and we're still losing. I even feel that the REAL issue is the internal crisis, almost a civil war, in the FAKE Republican Party. Today's mainstream GOP (McConnell's side) just wants government of the corporations, by the lawyers, for the richest 0.1%, while #PresidentTweety just wants government of, by, and for the Donald. One of the best ways to figure out who is worse is to look at who Ellison is bribing. The RoI on bribed politicians is hard to beat, and I can assure you that Ellison will NEVER have enough moolah to "solve" his "problem".

      --
      Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
  17. Re:Betteridge by ClickOnThis · · Score: 1

    No.

    Q: "How Dead Is Java?"
    A: "No."

    Works for me. :-/

    --
    If it weren't for deadlines, nothing would be late.
  18. It's as dead as COBOL by jlowery · · Score: 2

    But not as dead as SNOBOL

    --
    If you post it, they will read.
    1. Re:It's as dead as COBOL by jlowery · · Score: 1

      To be fair, Java is not as bad as COBOL. But I would rather be writing apps than designing elaborate type systems.

      --
      If you post it, they will read.
    2. Re:It's as dead as COBOL by angel'o'sphere · · Score: 1

      I doubt many people know what Snobol (or for that matter, Icon) is/was.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  19. Growing pains by Anonymous Coward · · Score: 1

    It's definitely not dead. It's still a primary goto for server-side programming, there's still android, and recent releases have been inching toward the script language community. What is dying:
    * Reliance on Oracle. My company & lots of others are cutting everything Oracle out of the equation & just using OpenJDK.
    * Desktop java -- it's unlikely to ever make major inroads at this point. JavaFX was a nice try but it's not likely to make it.
    * J2EE -- it's technically still alive but isnt well liked, I don't expect much new to be built on top of it

  20. Re:how dead? by jlowery · · Score: 1

    If I poke it, does it not bleed?

    --
    If you post it, they will read.
  21. Quote is always the same... by GhostBond · · Score: 5, Funny

    [quote]“There are only two kinds of languages: the ones people complain about and the ones nobody uses.” - Bjarne Stroustrup[/quote]

  22. Re:It's not a binary answer. by Shikaku · · Score: 2

    Outside of enterprise, there's only 3 big sources of Java these days: Android development (which is trying to move away from Java), Minecraft (ditto) and Steam games (very few games use a JRE, but the most recent and bigger example is Slay the Spire).

  23. Re:How many times do we need to have this conversa by p4nther2004 · · Score: 4, Insightful

    I have to second this option. Java isn't "dying"...it's 2020's Cobol.

    It'll be around for at least the next 10-20 years. (There's that much code based of Java out there)

    But Java has been dying for years. Applets died a long time ago. JSP and Servlets are pretty much dead in favor of using a JavaScript front-end and a proper application back-end. JDBC will continue to hold java for a number of years...but watch as other languages start taking it's place. Hell, Docker killed Java's last remaining strength - write once, run anywhere. With Docker, everywhere became X86-64bit.

    I don't expect C# to do well either.

  24. FUD FUD FUD by Hallow · · Score: 2

    Java Applets (browser plugin)? Dead.
    Java desktop apps? Dead. Nobody's going to argue that.

    The Java language is far from dead in the enterprise. Those who use it there will gladly pay Oracle for their production systems, and use OpenJDK everywhere else. There is a crap ton of existing code out there being maintained, and new code all the time.

    Java is far from dead outside of the enterprise too, on mobile. Not the way Oracle would have liked it with everybody using JavaME, but on Android, which is what has really breathed some new life into Java (not so much Minecraft). The lawsuit there has soured many on Oracle and Java, and it looks like Android may be moving away from it at some point down the road - which makes me sad because we've only just gotten Kotlin support. And Kotlin is a better Java.

    I'm keeping my eye on Kotlin native and the javascript compiler. but the open source Java ecosystem has some pretty great libraries (moshi/jackson/gson, retrofit, okhttp, poi, bouncy castle,etc.)

    1. Re:FUD FUD FUD by StormReaver · · Score: 2

      Java desktop apps? Dead. Nobody's going to argue that.

      I write new Java desktop apps (and maintain existing ones) as my primary job. I absolutely LOVE Swing, as it is very flexible, well designed, and snappy (JTable, for example, can contain and scroll through hundreds of thousands of rows just as easily and quickly as a couple dozen, performing custom processes on rows and columns). And the entirety of Swing is written with the same type of performance.

      Java2EE absolutely sucks shit, and I feel sorry for anyone having to use that monstrosity, but Java SE is fantastic for desktop business applications.

    2. Re:FUD FUD FUD by Sesostris+III · · Score: 2

      What about JavaFX? That at one time was the Next Best Thing, but (unlike Swing) has been dropped from the JDK. Where there are still Java desktop apps, has it managed to get any traction?

      --
      You never know what is enough unless you know what is more than enough. - Blake
    3. Re:FUD FUD FUD by angel'o'sphere · · Score: 1

      Java desktop apps? Dead. Nobody's going to argue that.
      I am ... I have minimum 10 Java Applications on my desktop. And all Desktop Apps I write are in Java ... would like to make a Qt one though.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:FUD FUD FUD by StormReaver · · Score: 1

      I don't know if JavaFX has gained any traction, as I don't use it. To me, it was always a solution in search of a problem. I think it would have been better had the good parts of JavaFX (GPU acceleration) just been transparently activated within Swing where they made sense (such as displaying and scaling images), rather than having been made a separate API (even though you can mix JavaFX and Swing). Making it a separate API was just a bad idea, which is primarily why I decided to not use it.

  25. Re:AdoptOpenJDK by Anonymous Coward · · Score: 1

    What 0 days

  26. On the desktop maybe, but everywhere else... by cloud.pt · · Score: 4, Insightful

    Java has an image problem, not due to the fact its desktop frameworks look ugly but also that it looks ancient as object-oriented programming, licensing and performance trends go. It has a public relations problem, but for those that are in the industry, its pretty obvious its life-support system is alive and well.

    If you look outside the desktop, Java is fine. As previously stated, Java is core to business players - it serves a central purpose in many middleware, server and database-related solutions. Then there's the fact that Oracle is its owner and major sponsor, and RedHat closely behind it both maintain its momentum, while its essential role in the world's largest mobile platform accelerates it. Some will say even in Android Java is faltering, but Kotlin avid programmers know full well that, like Kobol and other tech in critical applications, Java will take decades to be detached from Android. The same can be side about the businesses solutions where it is central.

    So while Java's core language development might stall in favor of supporting cooler, "du jour" paradigms that act as stepping stones for new players to have something fresh to stand upon, the JVM and its many clone runtimes are here to stay. And while languages that code for them keep basing themselves off of Java for bytecode endgame, so is Java.

  27. Re:Security is a lot of why it's dying by Anonymous Coward · · Score: 1

    The JVM has been shown is be coded to standards that make Microsoft Windows look secure.

    We have to patch Java more often than Windows in my office, and patching it constantly breaks legacy software.
    The only thing worse than Java I've ever had to deal with was Silverlight - and that's (thankfully) very dead.

  28. C# has unsigned bytes by Miamicanes · · Score: 5, Interesting

    Emotionally, Java died for me the day I discovered that C# has real, honest to god unsigned bytes. You have to be masochistic beyond words and the world's ULTIMATE glutton for punishment to attempt programming OpenGL ES using Java, because GLES does EVERYTHING by juggling around byte arrays, and dealing with raw unsigned bytes in Java is pure misery.

    It's no secret that 'unsigned bytes' are one of (if not THE) most-requested features in the history of Java. And the one that evokes the angriest ideological debates, often getting it called 'syntactic sugar' (as if providing a language construct to avoid having to do things known to create STAGGERING numbers of insidious code errors due to typos is a morally-decadent thing).

    Personally, I love how some people get all righteous about calling unsigned bytes 'syntactic sugar', then proceed to defend dumping six pounds of 'syntactic salt' into Java in the form of the way Java now handles lambda expressions.

    Lambda expressions per se aren't necessarily a bad thing. Pretty much every major language now has them. But the specific WAY they were implemented in Java is an abomination. Put bluntly, they're basically "human-compiled" object code PRETENDING TO BE actual source code.

    For anyone who doesn't understand what I just said, here's an alternate explanation. Basically, when the Java compiler sees a Lambda expression, it recursively searches through the list of interfaces known to it until it finds an interface that defines a single method whose arguments match the types of those used by the lambda. It takes the compiler (or IDE) a fraction of a second to do a brute-force search through the API to find a match. Humans, unfortunately, aren't quite so agile at things like that, which is why we invented source code in the first place 50 years ago.

    Behind the scenes, the compiler is just automatically assembling an anonymous class that implements the interface. And if you had the sourcecode TO that anonymous class in front of you, making sense of it would be easy. The problem is, Java's lambda syntax strips away most of the contextual information that the anonymous class would provide you with, so you're left trying to make sense of a cryptic glob of punctuation characters that makes obfuscated Perl look like Ada or Visual Basic by comparison.

    The end result is that if I write a nontrivial program using Java lambda expressions, print out a method, and hand it to you, there's a VERY high likelihood that you'll scratch your head and be completely unable to make sense out of it without at least looking back at the includes near the top, and probably a few minutes with Google. In contrast, if those lambdas had been printed in the source AS anonymous classes implementing the same interface, you'd probably be able to effortlessly make sense of them without a second thought. And that's what's fundamentally wrong with Java Lambda Expressions, in a nutshell. They optimize the wrong problem, and result in sourcecode that's human-unreadable.

    1. Re:C# has unsigned bytes by shanen · · Score: 1

      Didn't know there were any such deep people still on Slashdot. Reminded me of IBM's research work on Java implementations. If IBM had picked up the ball when Oracle started fumbling with Java then maybe the language would have survived better...

      By the way, I feel like my original question wasn't well formed. However it does seem to be accurate as regards browsers, which was most of my personal usage of Java in recent years. I'm not sure any computer language can really die. I'm sure there are some people still working with Lisp and FORTH and *gasp* dBase II out there... (That was a trick comment, since I'm the person who is still running one dBase II application (because I'm too lazy to port it to Python).)

      --
      Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
    2. Re:C# has unsigned bytes by lannocc · · Score: 1

      Speaking of research on Java, in my spare time I still have fun exploring new ways to use Java... my IOVAR Web Platform project. I've only just recently begun to "put it out there" on the net, so to speak, and am still completing the documentation. So if you have a peek, please be kind :)... there's still lots of work to do.

    3. Re:C# has unsigned bytes by gshegosh · · Score: 1

      I can read Java lambdas all right. And most of the time, using them and stream API makes my code much more concise, expressive and, yes, readable.

    4. Re:C# has unsigned bytes by bug_hunter · · Score: 1

      Yeah, Java's byte code was an amazing concept to assist with the compile once run anywhere (and a lot faster than interpreted languages would).
      BUT it came with the cost of limiting themselves to 256 possible different operations, which means no room to deal with unsigned bytes. This probably didn't seem like a big problem in the era when Java was made - I doubt they ever had heavy graphics processing in mind.
      I def agree that Java's Lambda Expression almost looks like another obscure language bolted on.

      I like Java, in its place in history. I really wouldn't like to use it now.

      --
      It's turtles all the way down.
    5. Re: C# has unsigned bytes by spongman · · Score: 1

      Thatâ(TM)s because they encoded the Operand types into the Opcodes, thus limiting them to a fixed set of native types.

      CIL, on the other hand was designed with a validating JIT in mind so the type of every stack location can be statically determined at JIT time making it unnecessary to encode those types in the opcodes.

    6. Re:C# has unsigned bytes by Miamicanes · · Score: 1

      Back in 2009, Java's curators had the opportunity to partially mitigate its lack of proper unsigned byte values and eliminate one of its major pain points... the need to explicitly cast hex literals to (byte) for values between 0x80 and 0xff. It was a sensible proposal... instead of silliness like:

      byte[] foo = {0x20, 0x40, (byte)0x80}; ... we'd have been allowed to use a different prefix, and specify it like this:

      byte[] foo = {0h20, 0h40, 0h80};

      (using a different prefix to avoid ambiguity and make it clear that we intended to assign hex literals as literal bit patterns)

      Unfortunately, the committee rejected the proposal, out of concern that it would make it too easy to pretend that byte can be casually treated as an unsigned value & have programmers scratching their heads when the following code failed to work as naively expected:

      byte foo = 0h80;
      int bar = 0h80;
      if (foo == bar) { } // evaluates to false, because Java upcasts foo with sign-extension to int as 0xFFFFFF80, and 0xFFFFFF80 != 0x80)

      Their point wasn't entirely without merit, but IMHO, it was still a stupid decision. The fact is, someone who initializes a byte array with hex literals is probably going to get stung by that once or twice in his life ANYWAY, regardless of whether or not he's forced to explicitly cast values between 0x80 and 0xff to byte.

      Having refused to fix Java's handling of hex-defined literals, they proceeded to fuck up Java even worse by adding support for binary literals... and making them behave EXACTLY THE SAME FUCKED UP WAY as hex literals.

      The net result is that you are NOT allowed to do this:

      byte foo = 0b11111111;

      Because... 0b11111111 is treated like 255, and 255 > 127. Never mind the fact that someone going so far as to explicitly specify a literal AS a binary value almost certainly, without doubt, ambiguity, or exception, expects for that literal binary value to get assigned to the target variable.

      The committee THEN proceeded to go completely off the rails, and require insanity like THIS:

      byte foo = -0b00000001; // foo is now equal to -1

      I seriously want to know... in what goddamn universe was that even REMOTELY sane or reasonable? I mean, I've bitched about Java's negative hexadecimal values (like "-0x7f") for years, but NEGATIVE BINARY LITERALS?!? WHAT THE GODDAMN FUCK were they thinking? Nobody, EVER, is going to say, "ooooh, that was such a bold, wise decision".

      Note that I'm not complaining about the addition of binary literals... I'm complaining about pretending that a programmer attempting to assign 0b11111111 to a byte means ANYTHING besides literally, "set every goddamn bit in the byte to 1".

      The way Java fucked up hex literals from day one can almost be excused as a bad decision made years ago... but perpetuating that bad decision with binary literals just for the sake of fucking it up in a consistent way was STUPID.

      The worst thing is, by fucking up binary literals the same way as hex literals, they've slammed the door forever on fixing the problem with hex literals by changing the prefix, because now we have TWO prefixes with fucked up behavior... 0x AND 0b. Had binary literals been added to the language with sane behavior, they could have added the 0h prefix for implicitly-cast hex literals, and called it a day. There might have been some newbies wondering why Java had two different prefixes for hex literals, but eventually, 0x would have simply faded into obscurity, and everyone would have simply used 0h and 0b going forward.

      That's the #1 thing I really like about C#... it tries to be consistent, but doesn't do stupid things just for the sake of blind one-size-fits-all consistency. C# made MOST integral types signed by default, but made bytes unsigned by default because 99.999% of the time, if you're dealing with byte values, signed math just gets in the way and causes headaches.

  29. HackerRank? by Luthair · · Score: 2

    Has anyone ever heard of it before the post on Slashdot? Its not like this was Tiobe whom we've seen around forever.

    1. Re:HackerRank? by phantomfive · · Score: 1

      Yeah, if you hire anyone (or look for a job in the Bay Area), you'll likely run into Hackerrank.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:HackerRank? by Luthair · · Score: 1

      So what you're saying is - if the site existed 10-years ago they'd think Ruby was the king of the world.

    3. Re:HackerRank? by phantomfive · · Score: 1

      I literally have no idea why you think that.

      --
      "First they came for the slanderers and i said nothing."
  30. No by smartr · · Score: 1

    It's called JHipster. You probably haven't heard of it.

  31. Miopic by MSG · · Score: 1

    There's a segment of the community that looks at their desktop computer and assumes that anything that they don't personally use is dead.

    In fact, Linux and Java are the most used software in the world. Linux runs nearly everything that isn't your desktop computer, and a fairly substantial number of the applications you interact with over networks are Java.

    Just because it isn't executing on your terminal doesn't mean you aren't using it.

  32. OpenJDK is still around and free to use by technomom · · Score: 1

    According to Slashdot and others, Java has been dying for the past 15 years. The short answer is, no, it's not going anywhere. There's tons of Enterprise code written in Java that will need to be maintained for years to come.

  33. Sadly, Lucene will prevent the death of Java ... by joe_n_bloe · · Score: 4, Interesting

    Somehow, Java became screaming fast and/or Lucene manages to avoid all the parts of Java that are screaming slow. Therefore Elasticsearch. Therefore that's one very good reason that Java won't go anywhere right away.

    Also, despite the existence of obviously saner alternatives like REST, many enterprises use Java as a standard for service bindings. Long ago lost to the sands of time is the original intent that XML was intended to be human-readable (in the sense of not needing binary decoding) but not human-written.

    I wrote a lot of semi-interesting Java in the past, and I suppose there was a time when I liked it, but I can't see that time coming again. Java is annoying. It's that grumpy, square, didactic, great uncle whose clothes haven't been updated since the 70s and whose house smells musty and who tells you about how he took no shortcuts in his life and you can't either.

    Python is annoyingly gimpy (what sort of interpreted language deliberately doesn't have closures and first class functions?) but at least you can write a command-line tool in it, and maybe some day it'll be fast too. I guess dumbed down is better than a smelly old uncle.

    Maybe I'll get to write some Rust soon.

  34. Re:how dead? by Required+Snark · · Score: 4, Funny

    If you poke something, it must be BASIC.

    --
    Why is Snark Required?
  35. Interesting... by beheaderaswp · · Score: 1

    I'm just here for the PASCAL

    --
    Another consultant who stuck it out.

    "We are the Priests, of the Temples of Syrinx..."
  36. job offers by cowdung · · Score: 1

    Check out the job offers in indeed.com so that you know just how popular Java is compared to anything else.

  37. Re:That's a little bit like asking "is Linux dead? by Anonymous Coward · · Score: 1

    That's a little bit like asking "is Linux dead?", simply because it's not a popular desktop OS.

    The desktop is dead anyway. Linux is dominating on smartphones/tablets. Java is right there alongside dominating too, although not for long given Oracle's insanely boneheaded move to sue Google over their use of Java in Android.

  38. Re:Security is a lot of why it's dying by Sigma+7 · · Score: 1

    What security problems come with Java?

    When it was first released, the same type of security problems that related to browsers automatically executing whatever code gets shoved down it's mouth.

    Not that it's specific to Java, because it was a very wild west with how browsers handled security.

  39. I'd say it's fast zombie, as opposed to slow by Dasher42 · · Score: 2

    I'd say it's fast zombie, as opposed to slow. Possibly infected with rage after a bite from Larry Ellison of Oracle.

  40. Dying Language? HA! I call Click-Bait. by Patrick_Champion · · Score: 1

    Calling the NUMBER TWO LANGUAGE IN THE WORLD, dead? That's just Click-Bait. By that logic, there is only one living language, JavaScript, and All other languages are on their way to extinction. Now, if Java were to drop to #5, one might be a little concerned and if it dropped below #10, then you could say it is a dying language. But seriously, the biggest problem it has it its license and Oracles past behavior concerning it. Those definitely have muddied the water for a long time. I expect to see Java as one of the 10 primary languages for business for between the next 10 and 20 years. Maybe longer since most internal business programs last for at least 10 years, and the bigger the user base for the program, the longer. Maybe in 30 years Java will become like Cobol, still supported, but actively being migrated away from. Perhaps Julia or something similar might be the reigning language then.

  41. Beyond Dead and Soooo Happy! by WindowsStar · · Score: 1

    For years we have had to deal with crappy apps that did not work or worked only on one version of Java. If you upgraded you were screwed. If you didn't then you were open to Java attacks. Vendors are beyond slow to update and to work out bugs to get their software to work on the next version of Java. The biggest issues are how SLOW Java is on Windows. Oracle still has not fixed that to this day. The worst was I had to support a software on Java 1.4 that is 10 or 15 years old and the vendor was locked into the version!! What a nightmare!!. Thank God no credible vendor uses Java for applications anymore.

    1. Re:Beyond Dead and Soooo Happy! by jma05 · · Score: 1

      I don't recall ever worrying about breaking an old Java app on a new JVM.

      It is easy to have multiple JVMs on a single machine and have any app use any of them. Sure, you will have to manage updates for them of course, which isn't much of a difference when you have a legacy JVM, out of support period, for a specific app anyway.

  42. Re:How many times do we need to have this conversa by Patrick_Champion · · Score: 1

    MAYBE 2025's COBOL, not 2020. More likely 2030's or 2035's COBOL (relative to the position COBOL enjoyed in 2000). COBOL now is aggressively dying, So many COBOL software systems have been ported to Java as a replacement. I fully agree though that on the desktop or browser, it has dwindled drastically. And, from what I have heard about CERNER, Java EJB is a challenge when trying to scale up from 4 hospitals to, say, 150 integrated hospitals.

  43. Best Chocolate Chip Cookies by SuperKendall · · Score: 1

    So the article is obviously a stupid flame bait question which I really don't have much direct response to, since I've not been doing any with with Java for some time - either client or server.

    Instead of reading responses or the article, I ended up finding this amazing chocolate chip cookie recipe, making said cookies, and then eating them to verify the claims the recipe was as good as it claims - it is.

    Instead of me arguing the case for or against Java with others here, I thought all of *you* could use a great recipe for chocolate chip cookies, especially with Valentines day coming up - even if you are single it's a great emotional boon to make cookies for yourself!

    So - Here's the recipe for favorite chocolate chip cookies.

    Pay special attention to the text just above the actual recipe that mentions roasting the nuts that go in the cookies first, I agree that made it extra awesome.

    Mods: I totally understand an off topic mod here, but please only one so that others may see this amazing recipe.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  44. Sure, just go buy a KVM by n3r0.m4dski11z · · Score: 1

    Almost all ip kvms run java. there are two companies that don't as far as i can tell.

    java in embedded things is a nightmare.

    --
    -
  45. Re:Security is a lot of why it's dying by Anonymous Coward · · Score: 3

    Node may be okay for small services, but if you are working on anything more than "small" then you want something like Java or C#.

    Java is great these days for that kind of thing. Lots of documentation, tons of useful libraries, the old saying of "write once debug everywhere" doesn't seem to hold anymore. It just works, it works well, and it's fast. Not like the old days.

    Node fanboys baffle me. We spent decades explaining the value of strict types, for example, and now they want to throw it all out the window... Yes, you CAN write complex software with JavaScript but dear god why the hell would you want to?

  46. Maybe, if Oracle wins its lawsuit against Google by Tony+Isaac · · Score: 1

    I'd guess that Android software is the number 1 use of Java these days. But Oracle says Google's version of "Java" doesn't count, and they have to stop using it. If they do that, Android developers will go where Google tells them to go, they won't stay behind to use the "pure" Java language from Oracle.

  47. COBOL is well designed by aberglas · · Score: 3

    In 1962 it was revolutionary. It could process a bank's load of transactions on a machine with less than 64K of memory. And fast. No garbage collections. No unnecessary data transforms, just suck the data in, map it to a record, process it, and spit it out.

    Data section that properly described structures. And separate from the procedure section so that a compiler could run in two separate overlays, important on small machines.

    The code was pretty easy to read. No nasty pointer arithmetic.

    Then came Object Cobol...

  48. The most useles feature! by aberglas · · Score: 1

    Of all the things that annoy me about Java unsigned bytes has never hit to top of the list. Normally they are just bytes, and we simply do not care about the sign because we do not do arithmetic on them. And if we do it is trivial to fix.

    C# has many advantages. The inbuilt query language is very cool. But unsinged bytes?!!

    And there is no search for interfaces for lambdas at all. It is in the declaration of the place you are adding it. Java is all explicit typing, Perhaps you are confusing it with Go?

    1. Re:The most useles feature! by Miamicanes · · Score: 1, Interesting

      Try doing anything that involves robotics. Or OpenGL ES. Or pretty much anything that involves I2C, reading sensors, or parsing binary data files (like NEXRAD radar sweeps).

      After a few hours of having every. goddamn. math. operation. turn into shit like someValue = (byte)((someValue * 2)&0xff);, your brain just turns to jello & you start to forget things... do I have to do the 'and' THEN cast? Cast then 'and'? Do multiple 'ands' throughout the operation THEN cast? Eventually, it starts blurring, and you end up with stupid errors that the compiler won't catch, because the whole reason those stupid errors happened is because the compiler made you play stupid fucking games to try and outsmart it so it would ALLOW you to deal with 8-bit unsigned values.

      Clarifying my lambda comment... When you're reading an anonymous class declaration, you know:

      1. The name of the Interface the class is implementing

      2. The name of the method being implemented.

      3. The names of the arguments, in addition to their types.

      With Java lambdas, #1 and #2 both end up getting stripped away.

      Here's an example taken straight out of Ken Kousen's book, "Modern Java Recipes: Simple Solutions to Difficult Problems in Java 8 and 9"... chapter 1, pages 4-5:

      The traditional, human-readable approach:

      File directory = new File("./foo");
      String[] names = directory.list(new FilenameFilter() {
      @override
      public boolean accept(File dir, String name) {
      return name.endsWith(".java");
      }
      });

      Reading it, we can immediately see that we're calling directory.list with something called a FilenameFilter(), which has a single method named "accept" and takes a File object called 'dir' and a String called 'name', then returns a boolean. It doesn't take a genius to figure out what it does, EVEN IF you've never used a FilenameFilter in your life and have no idea what it does. Between the interface name, the method name, the argument names, and the code inside itself, it's BLATANTLY obvious what it does.

      Now, consider its Lambda equivalent:

      File directory = new File("./foo");
      String[] names = directory.list((dir,name) -> name.endsWith(".java"));

      OK, we're calling directory.list and... er... um... WTF?!?

      Yeah, this is a somewhat trivial example that most people could figure out, but now imagine that you're using Lambdas with a more obscure interface that the person reading the source ISN'T already intimately familiar with. Or, god forbid, calling a lambda with lambdas as arguments, then chaining it to another lambda (yes, I've seen those). God fucking HELP you if you have to try and untangle a mess like that by hand with nothing but printed sourcecode and Google to help you. It entails something like this:

      1. Figure out what kind of object 'directory' is. Remember, in a real program, it won't necessarily be declared one line away. If you're lucky, it's either declared within a screen or two of where it's used... or near the first few screens of source near the top. Unless, of course, it's a static class that's defined within another class definition, in which case it might be somewhere around line 2400.

      2. Figure out what kind of objects 'dir' and 'name' are. Once again, remember... real life won't always be as trivial as this example. Happy hunting!

      3. Humor me, and pretend that File is a class in some thirdparty library you've never heard of, and you now have to find its javadocs & figure out what kind of arguments File.list expects. Remember, parametric polymorphism. And inheritance, since there might be additional variants declared in the superclass.

      4. OK, so, eventually, you figure out that File.list has a variant that takes a FilenameFilter object. Go look up FilenameFilter, and pray to every deity you can think of that you'll find an interface that has a single method that takes a F

    2. Re:The most useles feature! by Moochman · · Score: 1

      I love lambda expressions and personally find them 1000x more readable than anonymous classes. I suppose coming from "classic" Java they seem WTF but coming from any other functional language they are a huge breath of fresh air. Take the example you gave. It's clear to me at a glance that I am going to list all files in the directory whose names end with ".java". It it's not clear at a glance, then I can just click through to the definition of the .list method to see what it's expecting. That hardly needs "10 minutes" to figure out. On the other hand, then "old-school" version requires a humungous block of boilerplate just to express the exact same thing. The actually important part, name.endsWith(".java"), is obfuscated in the middle of a bunch of useless gobbledygook. My 2c.

    3. Re:The most useles feature! by Miamicanes · · Score: 1

      You're right IF you're viewing the code in the context of an IDE.

      If you're viewing it as a fragment of printed source code limited to only the code in a single method, reading it offline, and you don't ALREADY intimately understand what the code is supposed to do and how it's doing it (or have a whiteboard full of UML diagrams to refer to simultaneously), Lambdas can be a BITCH to make sense of.

      IMHO, a better & more readable syntax for Lambdas that preserved all the meta-information present in an anonymous class (but more concisely) would have been something like:

      String[] names = directory.list(FilenameFilter->accept:boolean(File dir, String name) { name.endsWith("java") };

      which would have concisely preserved the names of the interface and its method, as well as making its return type clear.

    4. Re:The most useles feature! by christophla · · Score: 1

      I can't remember the last time I printed out source code... and I've been doing this for 25 years.

    5. Re:The most useles feature! by angel'o'sphere · · Score: 1

      2. Figure out what kind of objects 'dir' and 'name' are. Once again, remember... real life won't always be as trivial as this example. Happy hunting!

      Your problem is that your thinking process does not work. Why the funk do you want or need to know that the lambda is implementing a FilenameFilter?

      What is so difficult in simply reading code as it is meant to read?

      String[] names = directory.list((dir,name) -> name.endsWith(".java"));

      "list the 'entries' from a directory where the 'names' endWith '.java'" that is in plain english what is written there a line above. Why do you insist that you care about what types are involved? They are completely irrelevant. If you for funk sake need to know any type in that expression then learn how to us an IDE and "mouse over it".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:The most useles feature! by angel'o'sphere · · Score: 1

      No, your idea is not more clear and more precise.
      And if you have no clue about design patterns than you obviously don't know that a method named accept is most likely a visitor/functor that either returns a boolean or performs the action supposed to happen during "accepting".

      which would have concisely preserved the names of the interface and its method, as well as making its return type clear. Yes, and why would anyone need that?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    7. Re:The most useles feature! by ndykman · · Score: 1
      A bit late to the party, but this is more complex then some of the responses of "the lambda makes sense" Firstly, the above does show the pains of mixing older APIs with newer features. The method list that takes a FilenameFilter has been there a lot time. And yes, in this case, the compiler is going through a lot of steps to make sure the lambda matches that type. But you still have to know that there is a overload of list that takes that object. That's not really good functional style, because it's specific. What's better functional style is:

      directory.list().filter(s -> s.endsWith(".foo"));

      Because in functional programming. filter is "generic". It means: I expect a collection of items, and my return value is a collection of all items for which the lambda expression is true. Therefore, the lambda takes one argument that is the type of an item in the collection (in this case, a String from a String[]) and returns a bool. But, in Java, this doesn't work either, because String[] doesn't have a filter method on it. We have to turn it into a Stream like so.

      Array.stream(directory.list()).filter(s -> s.endsWith(".foo");

      But, what's the signature of filter? More specifically, what is the type of the argument it takes? Well, that's:

      Predicate<? super T> predicate

      Ah, type erasure. Which means, we have to have things like IntStream, DoubleStream to filter on collectons of integers. Compared to C#, this is clunky. Firstly, C# is more consistent about what can be viewed as a collection (more precisely, what is enumerable) This comes from having syntax to iterate over a collection of objects from the start. Secondly, C# doesn't has type erasure, and handles value and reference types consistently in generics. So, we can say something like

      Directory.GetFiles("./foo").Where(f => f.EndsWith("foo"));

      I won't get into the signature of Where, because it uses another C# feature, expression trees. Basically, expression trees allow things like EntityFramework to turn certain C# queries into SQL. It's not magic (certain errors can't be caught until runtime), but it's damn powerful. Java has a lot of legacy, and it can make things very complicated. C# choosing to break backwards compatibility with it's older non generic classes worked out really well. That and how they handle enumeration (yield return) really meshes very well with functional programming. Yes, it's Microsoft, but Anders Hejlsberg did a great job of designing C# and it has held up.

  49. Dead on the browser? by shanen · · Score: 2

    This is actually the aspect of the question that triggered my submission, but not even sure how the AC came to my attention. In an attempt to update Java on one of my machines, I realized it was uninstalling itself completely, which got me to check and realize that it was already gone elsewhere. Apparently the browser plug-ins are no longer supported, so bye-bye. Thanks, Oracle. For nothing. Literally.

    I definitely noticed that almost none of my students last semester were doing much with Java, which surprised me. Lots of Python and C++ and various other languages were mentioned, but almost one of them were primary in Java. These are seniors and graduate students at a top university, with a heavy delegation from China, too.

    So time to probe the discussion a bit more to see if I can find any actual insights into what's going on. Or at least a few jokes?

    --
    Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
  50. I don't use Java (the language) these days by Philotomy · · Score: 1

    At one time, Java was my most-used language, dominating the server-side and also being used for Android. These days, my most used languages are ECMAScript/JavaScript on the server (and browser), Swift for iOS, and Kotlin for Android.

    I don't think my anecdotal experience is evidence that Java is dead or dying, but it wouldn't surprise me if Java's use is declining, generally. But that's no big deal. Originally, my most used language was C. Then it was C++. Then it was Java. Et cetera. But C isn't dead. C++ isn't dead. Java's usage may decline, but I doubt it will "die" for a long, long, time.

    Also, there's the JVM aspect to consider. Languages other than Java target the JVM: Kotlin, Groovy, Scala, Clojure, et cetera. I wouldn't be excited about coding in Java, these days, but I'm happy to code in Kotlin or Clojure.

  51. Re:how dead? by AHuxley · · Score: 1

    Ada?
    Assembly?
    C
    Anything with a new CoC that tracks and comments on what the resulting projects was used for?
    Anything that gets used for the Learn to Code projects?

    --
    Domestic spying is now "Benign Information Gathering"
  52. No, I wasn't interested in flames by shanen · · Score: 2

    I was seriously curious about the status of Java when I discovered that it was apparently uninstalling itself and vanishing from my browsers. My sincerely curious question was combined in an odd way with another story someone else submitted about the relative popularity of Java, which obviously is a call for popcorn.

    I really haven't learned what I was hoping to, but my current theory (slightly modified by this discussion) is that Oracle basically murdered browser-based Java. Sun's original charitable model obviously failed as part of the collapse of Sun that allowed Oracle to acquire Sun and maul its assets. I'm not sure Sun really had much beyond Java and OpenOffice... I think the hardware and Solaris are mostly gone or irrelevant, but it scarcely matters since Oracle's real interest was in how many of Sun's customers could be converted to Oracle.

    --
    Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
    1. Re:No, I wasn't interested in flames by cowdung · · Score: 1

      Browser based Java has long been dead.. like in 2000.

      What Java is used for is for server-side enterprise apps. Mainly the backend. As well as for Android apps.

      Applets and other schemes were dead on arrival pretty much, but Sun kept trying to push it.
      Desktop Java has mostly been successful for IDEs but beyond that didn't take. Of course, desktop apps are a lot less common these days. People just develop web apps.... often in Java using Spring or something.

    2. Re:No, I wasn't interested in flames by phantomfive · · Score: 1

      I really haven't learned what I was hoping to, but my current theory (slightly modified by this discussion) is that Oracle basically murdered browser-based Java.

      Browser based Java died for the same reason as Browser based Flash: it didn't work well in mobile.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:No, I wasn't interested in flames by shanen · · Score: 1

      Back in the 'ol days...

      Well, at least I think there was an era on Slashdot when your sort of comment might have appeared early enough to earn some insightful mods, but I'm not able to assess whether it actually deserves such. Based on the work the research lab was doing, I would be inclined to think that Java could have run well on smartphones if someone had made the efforts. That would suggest the underlying problem (and locus of possible insight) might be the rapid evolution (AKA instability) of Android.

      --
      Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
    4. Re:No, I wasn't interested in flames by phantomfive · · Score: 1

      I would be inclined to think that Java could have run well on smartphones if someone had made the efforts.

      Yes I agree, and Flash would have, too.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:No, I wasn't interested in flames by shanen · · Score: 1

      Now I think you're being sarcastic or trying to bait me. Java had some good ideas under it. I am unaware of any positive aspects of Flash.

      The incurable problem with Flash is that the underlying idea was gawdawful and there was fundamentally no way to accomplish the goals of infinite attention grabbing, so even a standard platform could not help. I sort of feel the early HTML versions were kind of asking for the abuse. Then again, I am also unable to assess whether or not HTML has matured well or has routed itself into a dead end... I can say that I am biased in favor of content over presentation, but the advertisers bed to differ, and most of the time they are paying the piper.

      --
      Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
    6. Re:No, I wasn't interested in flames by petermgreen · · Score: 1

      Oracle basically murdered browser-based Java

      Afaict browser based java had become more of a liability than an asset. Relatively few people were still using it for legitimate applications but (like most browser plugins) it was a massive source of security drama, driving the perception that Java is insecure. I'm not surprised they decided to kill it.

      The browser vendors have also been pushing to kill plugins for much the same reason. Afaict firefox and chrome still allow flash as a special case, but have blocked all other native-code plugins. I'm not sure what is going on over on the MS side.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:No, I wasn't interested in flames by shanen · · Score: 1

      I still feel like I'm failing to express myself clearly... *sigh*

      The design of Java was different from what it became, but what I'm trying to figure out is whether the fatal problems were inevitable or were basically a result of the Oracle acquisition. I'm inclined to blame Oracle for a lot of evil, but I can't think of any purely good corporate cancers.

      However I admit that some parts of the discussion did help me somewhat in understanding what happened to Java. Most of my prior knowledge was based on editing research papers about Java, mostly JIT enhancements and related benchmarks, and I was never actually using Java for much. I do think it would help in this case if the MEPR existed and helped me to assess which contributors to the conversation actually had some technical chops...

      --
      Freedom = (Meaningful - Coerced) Choice != (Speech | Beer^2), and sad sock puppets' bad mods avail them naught.
  53. What's your definition of 'dead' ? by lolococo · · Score: 1

    Let's start with that, and maybe we can have a rational debate, with facts and arguments rather than opinions and emotional tantrums.

  54. What seems to be dead is C/C++ by moronikos · · Score: 3, Interesting

    If I look at job openings in my market, Tulsa, there are as many Java jobs as C# and Python put together. Only a handful of C/C++ jobs--I say this as a 25+ year C++ developer. I would say that if demand means anything, Java is far from dead.

  55. Don't talk to me about unsigned bytes in Java by Anonymous Coward · · Score: 1

    I wrote a software renderer for a 3D engine in pure Java (no JNI) back in the day. It was interesting getting it to perform acceptably but in the end it performed comparably to my C version which was a shock at the time. Java has a very undeserved reputation for not performing well. I'm guessing most people who feel this way were stuck using one of the horrendously over-engineered Java web frameworks that pile layer upon layer of cludge on what should be a fairly simple problem.
    When your debugging a simple CRUD application and your stack traces are 200 calls deep (and it's not a recursive call) it's time to abandon ship.

  56. As dead as flash by Anonymous Coward · · Score: 1

    I do avoid flash and java like the plague. Just too many security holes and too slow.

  57. My Contribution to the Java Ecosystem by lannocc · · Score: 1

    It is so not dead. The ecosystem around Java is huge and growing.

    Shameless plug of a dev platform I have been working on in my spare time that is built on a Java foundation: IOVAR . It's kind of meant to be the swiss army knife for the world of XML and JSON with a Unix philosophy and shell that should make any grey-beard feel at home.

    I know it's not close to ready for mainstream yet and there is still lots more to do on the documentation side but it IS usable and has been quite a fun adventure to work on! I've been working on it solo so far but now I feel it's time to start getting the word out and find out if anyone else also finds it useful.

  58. Oracle's greed is doing it in by Tablizer · · Score: 1

    Oracle's API lawsuits and other shenanigans means that no big co will want to bet the farm on it.

  59. Java is far from dead by jonwil · · Score: 2

    If you own a Blu-Ray Player or Blu-Ray disks you are using Java (Blu-Ray disks use a variant of Java ME for all their menus and interactive stuff and whatever else)
    Cable set top boxes that use OCAP for interactivity and stuff (common in America) also use a variant of Java ME.

    And I am sure there are still other embedded Java systems out there in use.

  60. Re:How many times do we need to have this conversa by lannocc · · Score: 1

    Your point about Docker rings a bell. It's all about providing a consistent platform. The Unix-type systems make a great platform because there are fairly standardized locations for each of the small, single-purpose components and yet no single language is dictated. One command may be a shell script, another a C program, and yet a third is a Python script and they are all able to work with each other thanks to that standardized platform.

    The rest of this comment I also posted up above in reply to another user...

    Shameless plug of a dev platform I have been working on in my spare time that is built on a Java foundation: IOVAR . It's kind of meant to be the swiss army knife for the world of XML and JSON with a Unix philosophy and shell that should make any grey-beard feel at home.

    I know it's not close to ready for mainstream yet and there is still lots more to do on the documentation side but it IS usable and has been quite a fun adventure to work on! I've been working on it solo so far but now I feel it's time to start getting the word out and find out if anyone else also finds it useful.

  61. Go by Gabest · · Score: 1

    I just recently discovered that a program, Syncthing, was written in the Go language. It somehow managed to end up on my machines and I have no problems with it. Unlike Java, it just looks a runs like a native app. The language itself is too alien for me, I leave it to the new kids to conquer it.

    1. Re:Go by jma05 · · Score: 1

      > I leave it to the new kids to conquer it.

      Conquer? Go takes no more than a day or two to learn, obviously longer to be fluent. It is the least challenging language today.
      It lacks several features that we take for granted elsewhere and pretends, just like Java did, 20 years ago, that you don't really need them. Give it another 10-15 years, maybe.

  62. Re:Sadly, Lucene will prevent the death of Java .. by lannocc · · Score: 1

    Some of us are still exploring ways to forge the dream of XML. In fact over the years I've been cobbling together this Java+XML+Shell bastard child of sorts that (in my biased opinion) is actually turning into a functional web development platform! I've only just recently put up the website and am still working on documentation but alas... I now present IOVAR.

  63. Re:Security is a lot of why it's dying by Z00L00K · · Score: 1

    No type safety - Maintainability Hell.

    And you have to chase bugs 'forever'.

    JSP is a bit of a beast to maintain since it mixes three languages; HTML, Java and JavaScript. And that requires strictness. But if done right it's not bad.

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  64. It'll be a long lived Zombie... by ndykman · · Score: 2

    Oracle is sucking the life out of it.

    Licensing complications. Sure, the OpenJDK exists, but you have to test your long standing and legacy applications against it. Of course, you should do that, because old versions of the Java runtime really have security issues. Oh and if you aren't careful and get caught in an audit, that can hurt.

    Adding language Features. C# and .Net was dogging them a bit in this area. But type erasure and some other aspects of the type system still makes functional style code just clunky (special streams and functions for int, doubles, longs). The way they did lambdas was pretty hacky.

    Modules and the new versioning. Java 9 added modules, but it's a bit clunky, to put it kindly. We have Java 10 and 11, with 12 to come, and nobody really wants to deal with new versions of the JVM on that rapid of a time scale.
    But, he rate of adoption of Java 8 and newer features is slow. I still see tons of Java programmers that have never used streams. But, that hybrid functional/OO style can be very useful.

    With Erlang/Elixir, .Net Core, Go, Python, NodeJS and even modern C++, Java is just being squeezed out in terms of being used for newer projects. But, with so much code out there, it will live for quite some time.

    1. Re:It'll be a long lived Zombie... by DdJ · · Score: 1

      Sure, the OpenJDK exists, but you have to test your long standing and legacy applications against it.

      Our vendors have started doing this for us.

      One of the big Java-based tools we build on top of suddenly announced that they now support OpenJDK 8 and 11. It's pretty awesome.

  65. Unfortunately, it's as alive as every before by LancashireArrow · · Score: 1

    I agree that it is not an ideal language, especially regarding licensing, but there is no way Java is "dead". In the enterprise, SAP HANA, Oracle Cloud and Hadoop all use Java. Android development and the huge range of other devices that run Android depend on Java. It's also being deployed on lots of IoT devices. Also, universities still teach it to students (although Python is getting more popular in this space, especially in data science).

  66. Re:Security is a lot of why it's dying by serviscope_minor · · Score: 1

    Lots of documentation, tons of useful libraries, the old saying of "write once debug everywhere" doesn't seem to hold anymore.

    Well, everywhere kind of shrank to Linux servers. Back when that phrase was coined, there were still strong showings from AIX, Solaris, HP-UX, Windows NT and probably some others I've forgotten. I hear some people still use Windows for serving web services, but I've not seen it much in the wild recently.

    It just works, it works well, and it's fast. Not like the old days.

    Also in fairness it has improved a lot.

    Node fanboys baffle me. We spent decades explaining the value of strict types, for example, and now they want to throw it all out the window... Yes, you CAN write complex software with JavaScript but dear god why the hell would you want to?

    Quite. And then there's leftpad. Leftpad FFS, leftpad.

    --
    SJW n. One who posts facts.
  67. Is Java dead? by HiEnergy · · Score: 1

    Eclipse... *cough* JDownloader... *cough*

  68. Java is a mature technology ... by Qbertino · · Score: 1

    ... with all the ups and downs that comes with.
    Massive legacy systems that no one dares to take down and are a mess and super expensive to maintain, with well paid job guarantees attached.
    OTOH you have the new kids closing in left, right and center, new technologies for the VM (Kotlin, Scala, Closure, whatnot) and other VMs such as Node and Go, node with it's own massive set of PLs.

    Java won't go anywhere anytime soon, that includes it sticking around for another few decades in the places it already dominates.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
  69. Developer Resume versus Company Goals by Anonymous Coward · · Score: 1

    I really wonder where this fuzz about "Java is dead" always comes from. If you run a company -like I do- where you have to develop/maintain multiple SaaS products towards 150+ customers, you'll really learn to value Java. Of course, Java is dead for all the millennials that want to put whatever latest bullshit on their resume. But from a company-point-of-view, you want stability and maintainability so you can sleep at night, something that most developers out there don't give a shit about: the bigger mess they leave behind, the longer they can invoice their customer... the irony is that most CTOs, project managers blindly follow all those hypes, and thereby triggering tremendous maintenance costs on their company for the coming 5-10 years.

    I look at all the Javascript frameworking and REST/OAuth jokes from a safe distance and praise myself everyday that I don't have to maintain projects infected with all this nonsense. Java EE 6/7, JSF, easy peace of mind.

  70. Re: Security is a lot of why it's dying by zaphirplane · · Score: 1

    Your tone is trolling. You are confusing patch schedules with number of vulnerabilities

  71. Itâ(TM)s the switch to paid for license. by bebilith · · Score: 1

    Itâ(TM)s Oracles switch to charging for a license to develop in Java is what is going to kill it.

    Weâ(TM)ve already got vendors switching to other technologies for their web based apps.

  72. Re:Yeah right... by jma05 · · Score: 1

    It is a click bait article alright.

    Java, in its early days, did deserve the scorn. It was a hog, pretended that the features it lacked were a good thing, only to get them later. The language also used to be painfully verbose and the frameworks were usually over-engineered.

    Today, most of those things stand fixed.

  73. Knock Knock by Anonymous Coward · · Score: 1

    Who's there?

    (long pause)

    Java!

  74. Re:Security is a lot of why it's dying by Waccoon · · Score: 1

    In my case, it was security policy problems. Every time I updated the runtime, stuff would break, because Sun was constantly changing what constituted a security violation. It wasn't always possible to resolve the issue by configuring the JVM. Then, of course, there was mandatory code signing, which broke practically every applet in existence with no way to override since Oracle removed that security option in the control panel.

    Remember when just playing audio was deemed a security violation, and every Java program suddenly went silent? Apparently, they never figured out the awesome power of a mute button or... asking users for permission to enable audio. Nope, enabling audio required the application to be updated.

    Overall, the constantly changing security policies were way more of a nuisance than the potential exploits.

  75. Re:Java is the Best For Security and Speed by jma05 · · Score: 1

    It would be funny... if any of that is anywhere close to being true.

    My first Java dev machine was a 400MHz single core with 64 MB of RAM.
    My first Eclipse machine was a P4 with 256 MB of RAM.

    Java and Java IDEs are a lot more efficient than these JS runtimes and JS IDEs today. Good luck doing Android Studio over Atom.

  76. Re:Security is a lot of why it's dying by TheRaven64 · · Score: 1

    What security problems come with Java?

    Secure systems use defence in depth. Java uses defence in breadth. They have a complex security model where every single part of it is in the TCB: a failure in any part violates all of the security guarantees that Java is supposed to provide. Added to that, almost all of the things that it depends on are complex to implement.

    This isn't so bad for Android, because they just turn off the entire Java security model and rely on OS-level sandboxing, treating the entire application as a single security domain. If you try to install a security manager on Android, you get an exception. In a compliant Java VM, the security manager is a core part of the security model. For example, Java security depends on data hiding, but reflection can sometimes bypass that. System frameworks that are more privileged must call into the security manager to check before they perform privileged operations, but that doesn't help if reflection lets you call the wrong methods. It depends on string immutability to identify the permissions (usually this is implemented correctly, but it's one of the things where bugs in native code can accidentally break quite easily). It relies on precise exception delivery to ensure that security manager exceptions are thrown before the behaviour that they're guarding, but there have been numerous bugs in that.

    --
    I am TheRaven on Soylent News
  77. Re:Apart from Android being written in Java,you me by TheRaven64 · · Score: 1

    Everyone on this site is expected to know, that Android is a Java userspace on a Linux kernel.

    Most of the Android userspace is C++. The GUI frameworks expose Java APIs (though all of the drawing code, for example, is Skia, which is C++) but most popular applications include a lot of native code as well (I don't have up-to-date stats, but a few years back all of the top 50 most popular things in the Play store did).

    --
    I am TheRaven on Soylent News
  78. Minecraft J A V A Edition by Proudrooster · · Score: 1

    As long as there's a popular Minecraft JAVA Edition, JAVA will remain popular.

    All Mods need to be coded in JAVA, which forces people to learn and use it.

  79. A troll post by cjonslashdot · · Score: 3

    - and a really idiotic one.

    I am a DevOps consultant and visit lots of places, and Java is the number one language for back end services. It is almost universal. Other languages are used for specialized things, such as Python for machine learning, because the ML community has embraced Python. For front end, Javascript is the most popular, but that will likely change as alternatives grow in popularity (e.g., Kotlin).

    Also, Amazon has announced support for Java, as has IBM/Red Hat, so we are not dependent on Oracle.

    The JVM ecosystem is enormously successful and robust. Languages like Scala and many others rely on it - not just Java.

    I am not advocating for Java - just stating the reality that I see in my work. I don't much like any of the languages that are in use today.

    1. Re:A troll post by phantomfive · · Score: 1

      I don't much like any of the languages that are in use today.

      What language do you like?

      --
      "First they came for the slanderers and i said nothing."
    2. Re:A troll post by cjonslashdot · · Score: 1

      I am intrigued by Rust, but have not had a chance to use it. It attempts to solve the object alias problem, but without resorting to a functional paradigm. Swift tries to deal with the problem as well, but the language is too picky.

      I prefer typesafe languages. I have found that with a typesafe language, I can refactor code and not introduce errors in the process.

      I find the Java ecosystem to be enormously powerful - the well documented libraries, the many tools, and the backward compatibility. Backward compatibility is really important: one does not want to have to spend all one's time updating everything all the time because APIs have changed, yet one does want to use the latest components, to address vulnerabilities, etc. The Ruby community and Go community do not seem to appreciate the value of backward compatibility, thinking that if they version their APIs they are good to go - it is a nuisance.

      Java is too verbose. I also wish that Java allowed you to create objects on the stack. However, I like that one can always tell what type a variable is by finding its declaration. I have spent wasted hours reverse engineering other people's Python and Ruby, in a quest to figure out the type of some object being returned by a method. I have spent wasted hours trying to figure out the source in which something in a Ruby program was declared, looking in required file after file and sometimes doing whole file system searches.

      What is your favorite language?

    3. Re:A troll post by phantomfive · · Score: 1

      What is your favorite language?

      I like C and Smalltalk for the clarity and focus of their ideas (you may say that C is not focused or clear, but look how many languages have copied it). Smalltalk is powerful, even though people call it "Object Oriented" it really picks up a lot of ideas from Alan Kay's Lisp days. Squeak does a good job showcasing the ideas, it's worth downloading and playing with. APL is really cool, overloaded operators done right. (It was of course impossible at the time, but if Excel had been built on top of APL, it would have been a more natural, flexible, and beautiful product).

      I also think Forth is worth looking at, but I'm not really good at it enough to say it's great.

      --
      "First they came for the slanderers and i said nothing."
  80. Biggest problem for me... by Junta · · Score: 1

    Is that Java was the 'correct' choice at the peak of the 'gold rush' around the turn of the century. This meant hordes of people without particular interest in programming going into the field because of money, and their total lack of interest carried showed in their work.

    So to me Java transformed from a flawed implementation that was very slow and inefficient to an implementation that largely addressed the fundamental limitations but used by a bunch of people who are barely passable at programming.

    Currently the language that has borne the brunt of the current 'gold rush' mentality has been Javascript, which explains in part why that ecosystem is pretty messed up.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  81. Re: Security is a lot of why it's dying by Anonymous Coward · · Score: 1

    Yeah, those are the two things keeping java alive. XD

    How about, Android? Cassandra? Hadoop? etc. etc. etc.

    Java is THE language for getting things done in enterprise. Just use a little brainpower next time before posting on something you know nothing about

  82. Java is not dead, by jdawgnoonan · · Score: 1

    but I hate using Java based applications and avoid using them. I also dislike server Java applications that I am forced to support. Oh, and Oracle....everyone who doesnâ(TM)t make money based on an Oracle certification requiring job hates Oracle, there is always that. Android is the only product that relies on Java that I do not think sucks, but Android would be a better platform if the apps ran natively. Thus, I wish Java was dead but it is far from it.

  83. On a scale of 9 to 10 by thegarbz · · Score: 1

    How leading was the question in the headline?

  84. Re:That's a little bit like asking "is Linux dead? by thegarbz · · Score: 1

    That's a little bit like asking "is Linux dead?"

    Worse. It's like asking "How dead is Linux?" something that will give Slashdot gamma nazis a big stiffy since for once we actually have a real example of "Begging the Question".

  85. Re:Desktop Apps? by clay_buster · · Score: 1

    Desktop apps are *clearly* dead.

    This is the big change in local applications over the last 10 years. Web deployed Javascript based SPAs are essentially fat apps and appear to be the future for everything not-mobile.

  86. Re:Very dead for big data Re: Not dead by Luthair · · Score: 1

    Containers are entirely orthogonal to the JVM.

  87. Re:How many times do we need to have this conversa by Luthair · · Score: 1

    But Java has been dying for years. Applets died a long time ago. JSP and Servlets are pretty much dead in favor of using a JavaScript front-end and a proper application back-end.

    Servlets are long from dead.

    JDBC will continue to hold java for a number of years

    Ah, I see now. You really have no idea you're talking about. JDBC is an API Java applications use to talk to databases, so somehow it will keep Java going is strange....

  88. Re:Sadly, Lucene will prevent the death of Java .. by christophla · · Score: 1

    I call Elastic Search from all of my C#/Node/Go microservices...

  89. Re:Sadly, Lucene will prevent the death of Java .. by Cederic · · Score: 1

    Erm. WHY?

    XML was a flawed concept badly implemented shittest back when it should've been aborted and not only has it got no better since but the rest of the planet has adopted usable working alternatives that are superior in pretty much every single way.

    XML is shit and I hold great suspicion towards the competence of anybody that promotes it.

  90. Re:Security is a lot of why it's dying by phantomfive · · Score: 1

    This isn't so bad for Android, because they just turn off the entire Java security model and rely on OS-level sandboxing

    OK, just do that. Java was never meant as security against people who can execute code on your system (Applets containers were, but they also weren't standard Java).

    --
    "First they came for the slanderers and i said nothing."
  91. Re:Dead for mainstream by MightyMartian · · Score: 1

    Unless you're one of the billion people with an android phone

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  92. Re:Security is a lot of why it's dying by angel'o'sphere · · Score: 1

    Many parts (all?) of reflection can be switch off: by a security manager.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  93. Real programs by forgotmyoldnickname · · Score: 1

    "Users have learned to avoid them and install 'real programs' instead..." Like Electron apps?

    1. Re:Real programs by sproketboy · · Score: 1

      Or those hideous QT apps?

  94. Would you start a new project in Java? by anon+mouse-cow-aard · · Score: 1

    I never got on the Java train in the first place, python is where I live for initial versions, with followup sometimes in C if need be. Java is dead to me, but always was.

  95. Don't ask me... by Anonymous Coward · · Score: 1

    ... I still program in C. Last I checked, JVM's were also written in C/C++.

    It's fun to watch the kids in school realize they cannot get hired with Java skills. Even when we USE Java, we require you to program in C so we are sure you know how the computer actually works.

    Top 5-10% always know. The rest come here on Slashdot and whine about being unemployable, it seems.

  96. Re:Sadly, Lucene will prevent the death of Java .. by angel'o'sphere · · Score: 1

    That is why you write Scala and Groovy ...

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  97. Re:Sadly, Lucene will prevent the death of Java .. by lannocc · · Score: 1

    Since you asked why... there are only a couple areas where I truly use XML. One is to write structured documentation in the Docbooks schema, normally in an editor like XMLMind. The other main area is the rendered (x)HTML for the browsers and XSL transformations to produce it. In this system, some data (such as the results from an SQL query) might be temporarily presented as XML when used as a source document for XSL -> xHTML rendering, if the command pipeline demands it.

  98. Real programs? by angel'o'sphere · · Score: 1

    "Java programs still are 'the alien on your desktop'. They suck in many ways. Users have learned to avoid them and install 'real programs' instead..."

    And which Java IDE is a real Program? I mean, which Java IDE is not mainly written in Java? Or which database client is not written in Java, like Squirrel? There are plenty of programs, which have no non Java competitor, e.g. "The Brain" or Protege.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  99. HTML 5.0 ended Java, Flash & Silverlight by MtViewGuy · · Score: 1

    I think the ratification of the final HTML 5.0 specification in October 2014 pretty much signaled the end of Java, Flash and Silverlight in terms of applications for web pages.

  100. Those comments are wrong by sproketboy · · Score: 1

    "The licensing scheme for Java kills it..."

    OPEN JDK. How hard is that?

    "Java programs still are 'the alien on your desktop'. They suck in many ways. Users have learned to avoid them and install 'real programs' instead..."

    Apparently they have never heard of Java Native Packaging? With JavaFX you can skin your app any way you like with CSS. With the module system and jlink you can create small runtime packages. What's the problem?

    It seems there's still a lot of misinformation out there from clowns with their 1990's view of Java.

  101. Re:How many times do we need to have this conversa by tobiasly · · Score: 1

    I don't expect C# to do well either.

    Based on what? The .NET Core ecosystem is thriving. Microsoft's has been firing on all cylinders with regular updates, constant speed improvements, and first-class support for Linux and containerized apps.

    Maybe it's a geographic thing. Here in the midwest, I've never encountered a company that used Java; all the large corporations around here run their backend on .NET and are regularly hiring more C# developers.

  102. Maybe you didn't get the memo... by tobiasly · · Score: 1

    You must not have heard, Java's not dead, over 3 BILLION DEVICES RUN JAVA!!! (Also, would you like to install the Ask.com toolbar?)

  103. It's not dead... by presearch · · Score: 1

    ...it just smells funny.

  104. Re:Sadly, Lucene will prevent the death of Java .. by angel'o'sphere · · Score: 1

    How can that be insightful? A buzzword rant ...

    What has REST to do with Java? Same like iced orange juice versus a compressed gas engine car. Nothing. Or same like a wire for electricity with a iron pipe for water.

    How can REST be saner than Java, when REST is a protocol principle and Java is a language? You "can do REST" in any language. You can program anything, e.g. REST, in Java.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  105. Define dead by zkiwi34 · · Score: 1

    Otherwise, it's all bollocks

  106. Re:Security is a lot of why it's dying by TheRaven64 · · Score: 1

    Java was never meant as security against people who can execute code on your system

    Yes it was. Read Li Gong's retrospective some time (Li was the architect of Java's security model). This was explicitly the objective of the Java security model. It was intended, for example, to allow a server process to load untrusted modules to do client-specific processing, without having to trust the client.

    --
    I am TheRaven on Soylent News
  107. Re:Security is a lot of why it's dying by TheRaven64 · · Score: 1

    All. It's a big hammer. You can turn off reflection entirely, but it's very hard to enable the bits that modern Java frameworks die without but disable the bits that can break the security model.

    --
    I am TheRaven on Soylent News
  108. Re:Android keeps it alive by johnsie · · Score: 1

    Android is going to be replaced in the next few years.

  109. Re: how dead? by tigersha · · Score: 1

    At least That should make the vampires from Oracle happy

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  110. Re: how dead? by tigersha · · Score: 1

    No, a cybernecrophiliac

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  111. Re: Security is a lot of why it's dying by tigersha · · Score: 1

    Android should be the default answer. Java is VERY heavily used, considering android is a dominant platform now

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  112. Re: Security is a lot of why it's dying by tigersha · · Score: 1

    The one I freak about most is JavaScript fear of concurrency and the whole callback/promise/async nightmare that enters every fiber of the being of a Node program. Seriously, no. Did we invent 16 core hyperthread CPUs for what again? I know concurrency with locks is a horrid stupid minefield but we have much better ways of handling ut now, pioneered by Java

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  113. Re: Security is a lot of why it's dying by tigersha · · Score: 1

    That assumes a loooooot of very detailed expertise by the security manager and breaks every API on Java that is usable.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  114. Re:Security is a lot of why it's dying by phantomfive · · Score: 1

    No, any language that allows you to write and read anywhere on the disk is not meant to be secure.

    --
    "First they came for the slanderers and i said nothing."
  115. Re:Security is a lot of why it's dying by angel'o'sphere · · Score: 1

    You are right,
    after hitting submit I was thinking about hibernate and co.
    However when you use frameworks like that, they are not the attack vector.
    As long as no one can "inject code" into your Java Application, reflection does not really matter.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  116. Minecraft as a source for programmers? by kamakazi · · Score: 1

    Yeah, I will admin, I am a dwarf and I'm digging a hole....

    Minecraft bred a lot of script kiddies, and attracted a few java programmers. Unfortunately Notch never released his API for the modders, nor did he follow through and release his code open source like he promised. The original cadre of modders mostly left.
    Microsoft is doing the normal things with it, a bunch of marketing to the educationmarket. Still no modding API, just some kind of scripting interface using Javascript!? Let's really confuse the potential programmers, make a Javascript scripting interface for a Java based game.
    Anyway I don't know the status of Java in the world at large, but don't count on Minecraft to save the day.

    --
    "Proximity to wonder has blunted our perception and appreciation of it" --Tim Hartnell in 'Exploring ARTIFICIAL INTELLI
  117. Re:Security is a lot of why it's dying by TheRaven64 · · Score: 1

    Java does not allow you to read and write anywhere on the disk. Java does not let you perform *any* I/O unless the currently installed security manager permits it. Seriously, read something about the Java security model before you comment on it.

    --
    I am TheRaven on Soylent News
  118. replacement? by Micah+NC · · Score: 1

    I'm not sure what is replacing Java, or if anything is.

    For every 100 Java jobs in my area (RTP) there is 1 Kotlin job. So that's buzz jerky.

    C# is my personal favorite language, but TIOBE says it's be trending down since 2012, although PyPL shows it doing somewhat better.

    Node seems to get all the startup love, but I can't see large enterprises committing to it. Especially since TypeScript is such a food fight among developers.

    SalesForce ?

  119. Not at all. by DdJ · · Score: 1

    From where I'm sitting, it's not even a little dead.

    From my perspective, it never had any real place on the desktop or in the browser. But it had a place on the back-end of big internal enterprise applications (like, the stuff that makes sure peoples' insurance gets paid for by your employer). And, I still observe it having a place there.

  120. Itâ(TM)s not by coolsnowmen · · Score: 1

    This post intentionally left blank