Slashdot Mirror


'Java 9, It Did Break Some Things': Oracle Bod Admits To Developers Still Clinging To Version 8 (theregister.co.uk)

Java has a problem -- the language and platform is evolving faster than ever, but many developers are stuck on the five-year-old Java 8. From a report: So why have developers not upgraded? Simply, Java 9 introduced major changes, including internal restructuring, new modularity (known as "Project Jigsaw"), and the removal of little-used APIs. These changes broke code, and even developers who are happy to make the necessary revisions have dependency issues. "We have problems with libraries that do not yet support the latest versions," said one QCon attendee.

"I want to explain why it was necessary," said Oracle's Ron Pressler, part of the Java platform group developing the language and lead for Project Loom. "There are billions of lines of code in Java, and Java 9, it did break some things. The reason is that Java is 20-something years old. It will probably be big and popular in another 20 years. We have to think 20 years ahead. The way the JDK was structured prior to Java 9 was just unmaintainable. We could not keep Java competitive if we had not done that change. That was an absolute necessity."

251 comments

  1. "I want to explain why it was necessary," by Anonymous Coward · · Score: 1

    "But Java isn't necessary, so I'm kinda stuck."

    1. Re:"I want to explain why it was necessary," by Linux+Torvalds · · Score: 4, Insightful

      "It will probably be big and popular in another 20 years"

      No, Oracle has pretty much fixed THAT problem, I'd say.

  2. Change the motto: by Gravis+Zero · · Score: 2

    Java: works now, breaks later.

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:Change the motto: by Anonymous Coward · · Score: 0

      Breaks great, more filling.

    2. Re:Change the motto: by Anonymous Coward · · Score: 0

      Are you using Python?

    3. Re:Change the motto: by ndnet · · Score: 1

      Don't forget: Write once, breaks everywhere. Actually, it's funny, I had the Java, Java, Java Java Jing Jing Jing song stuck in my head this morning.

    4. Re:Change the motto: by Anonymous Coward · · Score: 0

      Java: Write now, debug later

    5. Re:Change the motto: by Anonymous Coward · · Score: 5, Funny

      Java: write now, wrong later.

    6. Re:Change the motto: by Anonymous Coward · · Score: 0

      No, APL.

  3. java is a dead language by TheGratefulNet · · Score: 1, Insightful

    I know of no new development done on java applications or anyone in my company doing anything with java. its all python now, if its not a compiled language like C. more interest in golang, actually, than java.

    in india, they are still behind the times and still lazily using java. but the ROW is moving on to python and while python2 vs python3 has its issues, its nothing like the monstrocity that is java.

    "write once, run everywhere". fucking pack of lies that is.

    java can fuck off and die. sooner the better.

    --

    --
    "It is now safe to switch off your computer."
    1. Re:java is a dead language by afidel · · Score: 3, Informative

      I bet there's more new code being generated for Java than pretty much any other language for one simple reason, Android.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:java is a dead language by Anonymous Coward · · Score: 0, Troll

      no one gives a fuck about what your company does.

    3. Re:java is a dead language by Anonymous Coward · · Score: 3, Funny

      No one in your company doing Java? Well that settles it, shut it all down! Java is the #1 language but TheGreatefulNet doesn't use it in his company, time for all Java development to cease.

    4. Re:java is a dead language by alvinrod · · Score: 3, Informative

      I don't think Java is dying or anything like that, but a lot of Android development is being done in Kotlin now.

    5. Re:java is a dead language by Anonymous Coward · · Score: 0

      Said the person who though tabs were a fucking brilliant idea to denote nesting.

      Python can fuck off and die, the sooner the better. Also, have you seen the guts of that language? What a *fucking* shithole. Java's runtime VM is saintly compared to that bag of crap.

      Java isn't going to die anytime soon. Python will, once people realise the trap that it is.

    6. Re: java is a dead language by GhostBond · · Score: 1

      Wait, are you claiming they're using Python 2, or Python 3 which is not backwards compatible with Python 2?

    7. Re:java is a dead language by Knetzar · · Score: 3, Insightful

      Many large new projects are in Java at companies like Google and Amazon. Google doesn't use Python for big projects, but instead picks C++, Java, or Go.

      I also have no idea how India was brought into this.

    8. Re:java is a dead language by Anonymous Coward · · Score: 0

      "write once, run everywhere". fucking pack of lies that is.

      Works better than any other language. Networking, GUI, algorithms, data structures, threading, file i/o, images, 2D graphics, settings/preferences, etc... all standardized and before everyone else. No need to find, learn, manage, and keep up to date on multiple frameworks, 3rd party libraries, and configurations. Sure you can add in all those things and break the cross-platform compatibility which too many bad developers did, but you didn't have to. Deciding to make bad choices isn't the language's fault.

      Java is one of the most used languages. Get your head out of your ass.

      Python 3.0 was released in 2008. It's been a full decade and Python still hasn't gotten its shit back together. It's sad that Java has just chosen a similar fate.

    9. Re:java is a dead language by bhcompy · · Score: 1

      No one uses C anymore either

    10. Re:java is a dead language by hey! · · Score: 1

      I know of no new development done on java applications or anyone in my company doing anything with java

      Well if you don't know about it, it must not exist.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    11. Re:java is a dead language by Anonymous Coward · · Score: 0

      Yea lies, over the years we have had software that was very specific to the JRE that was installed on a workstation. If you had to run multiple picky programs on a single machine, it would be a disaster especially if you went to install a new program that had is own JRE with it. That's just the JRE I can't imagine coding server back end stuff. Come to think of it, I've only seen a few Java applications that didn't puke over what version of the JRE was installed and or if it was 32bit vs 64bit. I'm sure there were may Java based programs that worked fine with the updates over the years but I was not privy to most of them. Don't get me started with NAG to run that was added to the later versions or the hoop jumping security measures. Java is just as bad flash.
      I'm not a programmer just an admin.

    12. Re: java is a dead language by Anonymous Coward · · Score: 4, Insightful

      Java is as fast as C for the most part and is the backbone of a significant number of applications. Python could not handle the set of problems Java has solved and continues to solve. Call me in twenty years when Python has done something other than fill in some small gap in the computing space. That is all.

    13. Re:java is a dead language by TheDarkMaster · · Score: 2

      It seems to me that you or your company have never dealt with large projects, government projects or any project with more than two years of existence.

      P.S: Java is a good language when you learn to avoid some bad ideas like putting classes above classes where you would only need just one class (and the thing about "write once, run everywhere" works if you know what you are doing).

      --
      Religion: The greatest weapon of mass destruction of all time
    14. Re:java is a dead language by Anonymous Coward · · Score: 0

      I think the point was not how much "new code" so much as how much "new development". They are not the same thing.

    15. Re:java is a dead language by Anonymous Coward · · Score: 0

      Python is fucking terrible. Just because it's simple enough that so-called "data scientists" aka wankers with useless astrophysics phds who can't code for shit are able to use it to make scatterplots doesn't mean it's actually good. In fact, that is an indicator that it's shit.

    16. Re:java is a dead language by DickBreath · · Score: 2

      > I know of no new development done on java applications or anyone in my company doing anything with java.

      Wow, then it obviously MUST be true!

      Clue: Java continues to be the top language on various jobs charts year after year. (And I don't mean JavaScript.)

      Java is very widely used for enterprise web applications. (not web 'sites' but applications)

      Maybe your knowledge about Java is actually limited to what you personally see.

      Java is the COBOL of the 21st century. It will be around forever for the same reason as COBOL. The sheer economic value of business applications written in Java is so large and the cost to ever consider rewriting them would be so high.

      You may not like Java. And that's fine. There's nothing wrong with that.

      --

      I'll see your senator, and I'll raise you two judges.
    17. Re:java is a dead language by Anonymous Coward · · Score: 0

      Some people just like partially implemented 'standard' libraries, horrible performance and dependency management hell.

    18. Re:java is a dead language by Anonymous Coward · · Score: 0

      "Java continues to be the top language on various jobs charts year after year." - Because fixing legacy java is time consuming proves it's useful?

      "Java is very widely used for enterprise web applications." - Used to be, you mean.

      "Java is the COBOL of the 21st century." - Java is the Java of the 20th century - a hack built upon an unstable stack of bullshit, run by ORACLE of all devs.

      Just because you don't know a better language doesn't make Java last any longer or any more useful, sorry. Maybe you just work for dinosaur enterprise bullshit mills that are circling the drain? (lightbulb?)

      Good luck there HP, time isn't going to stand still for you. Sorry.

    19. Re:java is a dead language by jellomizer · · Score: 1

      J2EE Coding is still a popular method for a lot of development, compared to Python, it is more flexible and support Restful Services like a champ.
      However Java after 8 is not support in J2EE, making it annoying to pick the language for new coding.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    20. Re:java is a dead language by Anonymous Coward · · Score: 0

      REAL development work for REAL companies (fortune 100) are still using Java. Trust me... I run the shop in one.

      JAVA is not going anywhere for a long, long, long, long time...

      Now, I like Scala, and someday, when enough of your kids grow up and get taught Scala in school to where I can replace my current workforce with shiny, new Scala workforce, then I might consider Scala.

      For the Python fanbois... Python is a scripting tool. Is should remain a scripting tool. nothing more.

    21. Re:java is a dead language by Anonymous Coward · · Score: 0

      I write new java code every day. Also Python. Would never want to work on a project using Python that had more than say, a couple thousand lines of code - it really just isn't organized like a real languages and doesn't scale. It's great for scripts and small stuff, but I can't fathom a massive codebase all in Python for anything. Java 8 is fine, 9 is not needed. Languages don't need to keep on changing. Fuck, C is fine. I remember when I was learning Python - I bought the 2 massive O'Reilly books and as I was on page 1000+ in one of them I was like 'Fuck, th K&R C book is like a pamphlet compared to this tome - is this really neccesary?' It's bloated. And still, there's the fucked up version thing going on, which is amateur hour - any most recent linux distribution is going to have 2.7 by default - is Python 3 ever actually going to be real?

    22. Re: java is a dead language by mark-t · · Score: 1

      Java is as fast as C for the most part ..

      Extraordinary claims demand extraordinary evidence.

    23. Re:java is a dead language by Anonymous Coward · · Score: 0

      I don't think Java will suffer the same fate - everyone I know has just decided to ignore 9. It's really not needed. Hell, I don't think anything past 7 was really needed. How many times has C changed? Languages don't need to constantly evolve like this and Java was far enough along it should have been called done.

    24. Re:java is a dead language by Anonymous Coward · · Score: 0

      Coding back end server stuff is simple. If you run into some issue with a program not cooperating well with the environment on that server, you simply spin up another server and put it on that one. Everyone is using VM's for linux servers where Java apps run and creating a new server takes seconds. However, in 20 years of doing server side development I've never seen this ever be an issue. Maybe some off the shelf stuff could get one into this situation, but again, put that on it's own server and give it whatever it needs.

      Java on desktops/workstations is and has always been marginal, only a tiny percent of Java as a whole. I don't think I've ever even known a programmer that's worked on a client side java application and I've been interviewing, hiring, and working with Java devs my whole career. Always been an outlier and was always a bad fit. Mainly because the UI libraries were never really up to par.

    25. Re: java is a dead language by Anonymous Coward · · Score: 0

      It's fairly easy to write code that runs in both python2 and python3, especially if you use the six module https://pypi.org/project/six/

    26. Re:java is a dead language by mark-t · · Score: 2

      Have you ever actually used COBOL? Rewriting a java program is going to be at *LEAST* an order of magnitude cheaper than rewriting an equivalently functional COBOL program. Rewriting even quite complicated java programs in another modern language so that you can take advantage of its features, while perhaps not necessarily incredibly cheap, is going to at least be a tractable problem. I wouldn't want to make the same statement about anything but the simplest (also probably useless for all practical purposes) of COBOL programs.

    27. Re: java is a dead language by Anonymous Coward · · Score: 0

      biggest killer is bytes vs strings

    28. Re:java is a dead language by Anonymous Coward · · Score: 0

      Show me on the doll where Java touched you.

      There are languages I like to use and languages I don't, but I don't get pissy about people who want to use the latter. Who the fuck cares?

    29. Re:java is a dead language by Anonymous Coward · · Score: 0

      No one uses C anymore either

      Haha. Writing this on a platform where everything is C and a minority of C++. Oh sorry, you were using irony. My bad.

    30. Re: java is a dead language by Nivag064 · · Score: 4, Interesting

      Java is as fast as C for the most part ..

      Extraordinary claims demand extraordinary evidence.

      If you want a program to execute under a second, then write it in C, or another compiled language.

      However, if the program is likely to be running a minute or more, than a well written Java program will most likely out perform a well written C program. Because in Java, the code parts that are executed intensely, will be compiled into native machine code optimized for that run time profile by the Just-in-Time Java compiler that is part of the JVM. The JIT can even in-line code that is at the end of a long pointer chain.

      Big enterprise applications running on on big multi-core count computers with a terabyte of RAM can make effective use of Java for long running programs. As the JVM makes good use of the multicores and gobs of RAM.

      I once ran a silly benchmark, and found that the JVM/JIT had created 2 threads to run code in the same method, because it had found that my 2 large for loops could be run in parallel.

      I have programmed in over 25 languages, including COBOL, C (I actually was paid to teach C to experienced programmers one year), ARM3 assembler, and Python. Found Python had some good points, indenting eliminated brackets and no need for lots of semicolons, but I found it too gimmicky and didn’t handle multi-threading very well compared to Java.

      I’ve found Java quite effective for writing short programs of less than 100 lines to explore mathematical ideas, like how many polygons can meet at a snugly at a point(see http://math.ucr.edu/home/baez/...). So Java does not need massive projects to be really useful.

      Cross platform support is also good. I wrote a Java Application to find duplicated files on my Linux box, and a friend had no problems running it on his Microsoft box.

      I find Java is my favourite language, though I also have things I don’t like about it. No language is perfect, and there are many considerations to be taken into account for selecting a language for development.

    31. Re: java is a dead language by WaffleMonster · · Score: 1

      However, if the program is likely to be running a minute or more, than a well written Java program will most likely out perform a well written C program. Because in Java, the code parts that are executed intensely, will be compiled into native machine code optimized for that run time profile by the Just-in-Time Java compiler that is part of the JVM. The JIT can even in-line code that is at the end of a long pointer chain.

      Where is this software? Does it exist in the real world or is this simply an abstract theory? Every Java program I've ever used has two things in common:

      1. Poor performance relative to native version of substantially similar software.
      2. Requires insane amounts of ram

      Hell even popular Java native IDEs (e.g. Eclipse) are painfully slow to the point people with nice hardware are constantly whining about it.

      For years I've been hearing these and similar claims. What I've yet to see is a real world software product written in Java at all competitive with native variant of substantially similar software. Do you know of any?

    32. Re: java is a dead language by Anonymous Coward · · Score: 0

      Except tjat COBOL have had one nerslunga change in 60 years.

    33. Re:java is a dead language by Anonymous Coward · · Score: 0

      Java owns the world. Any company that makes things or does things runs on Java. Banks, insurance companies, power companies, manufacturing companies all run on Java. Just because you can's see it from the hole you live in doesn't change the facts.

    34. Re:java is a dead language by Anonymous Coward · · Score: 0

      Huh? C is still everywhere in embedded and OS development.

    35. Re:java is a dead language by TheGratefulNet · · Score: 1

      here's how india is relevant; they are still very 'certification based' in their culture and java is a huge part of their education. sure, they are also learning python, but everyone I run into from india does have java and seems to like it a lot. they spend a lot of time with java, but I don't see that in the US at all.

      I had a python instructor say this to us, during class. the US is moving toward python and india is still 'stuck' in java. how should we glue our systems together, then? RESTful interfaces to the rescue; a network api abstraction. at least that was the discussion we had in class.

      do you disagree that, overall, india is still very much educating and training their software people in java, but the US schools are trending to move away from java and toward python?

      --

      --
      "It is now safe to switch off your computer."
    36. Re: java is a dead language by Anonymous Coward · · Score: 0

      The incompatibility of Python 3 with Python 2 is vastly exaggerated.

    37. Re:java is a dead language by eddeye · · Score: 1

      "write once, run everywhere". fucking pack of lies that is.

      That was a misprint. The slogan was supposed to be: "Write once, compile errors everywhere".

      --
      Democracy is two wolves and a sheep voting on lunch.
    38. Re: java is a dead language by Anonymous Coward · · Score: 0

      What I've yet to see is a real world software product written in Java at all competitive with native variant of substantially similar software. Do you know of any?

      The JetBrain IDEs. https://intellij-support.jetbrains.com/hc/en-us/community/posts/206330739-Is-IDEA-written-in-Java-

      Lots of Twitter stuff, lots of Google server-side stuff, Minecraft.

      See also: https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites

    39. Re: java is a dead language by Anonymous Coward · · Score: 0

      And here's me thinking all the old RISC OS users no longer existed. Hello!

    40. Re: java is a dead language by Anonymous Coward · · Score: 0

      Indian developers justify their jobs by churning out increased lines of code.

    41. Re: java is a dead language by Anonymous Coward · · Score: 0

      Anecdotes are anecdotal.

    42. Re: java is a dead language by Anonymous Coward · · Score: 0

      than a well written Java program will most likely out perform a well written C program

      Well-written java that can perform as well as C just looks like C.
      Java does not use memory efficiently, but you can dress that up as "making good use of gobs of RAM."

    43. Re:java is a dead language by Anonymous Coward · · Score: 0

      Irony. I see what you did there.

    44. Re:java is a dead language by Anonymous Coward · · Score: 0

      Wait a Kotlin-picking minute! Did he say that Java is a dead language?

    45. Re:java is a dead language by Anonymous Coward · · Score: 0

      "Java continues to be the top language on various jobs charts year after year." - Because fixing legacy code of any language is time consuming proves it's useful?

      FTFY.

      "Java is very widely used for enterprise web applications." - and still is, you mean.

      FTFY.

      "Java is the COBOL of the 21st century." - Java is the Java of the 21th century.

      FTFY.

      Just because you don't know a better language doesn't make Java last any longer or any more useful, sorry. Maybe you just work for dinosaur enterprise bullshit mills that are circling the drain? (lightbulb?)

      Name each programming language he knows, and give a concise breakdown of its usefulness in society, since you're alleging to be the arbiter of all thats programming, who uses programming, and the viability of businesses.

    46. Re: java is a dead language by urusan · · Score: 4, Interesting

      I program in Java professionally, and I have to say you really did a good job explaining what's good about Java in your post. The multi-threading thing in particular is a huge deal, as I haven't found another language that truly excels at multi-threaded development like Java does, at least with the same quality of life as Java provides (languages like Python and Ruby provide better development quality of life in my opinion, but without the excellent multi-threading support...or a type system, and many other things that would take a while to get into).

      I also feel like recent improvements to the Java language (basically Java 7 & 8) may give it a new lease on life, though I think the long term picture for Java is pretty grim, because it's held back by historical baggage and Oracle. In particular, even if Java doesn't lose ground to newer non-JVM languages like Python, then Java will lose ground over time to Kotlin and other JVM-based languages like Scala or Groovy. These newer JVM languages simply don't have the historical baggage of Java (and if you love Java but haven't tried out Kotlin you really should).

      Also, another problem for all of these JVM-based languages is that Oracle's recent licensing of the JVM is troubling. That said, it can survive this thanks to OpenJDK and other open source JVM initiatives, but we may be in for some rocky times in Java-land.

      I’ve found Java quite effective for writing short programs of less than 100 lines to explore mathematical ideas, like how many polygons can meet at a snugly at a point(see http://math.ucr.edu/home/baez/...). So Java does not need massive projects to be really useful.

      I recently discovered and learned Julia, and I think it's the ideal language for these kinds of math exploration problems. It combines the raw firepower of languages like C and a developer quality of life that exceeds even the best languages I've seen previously. It's very popular with the High Performance Computing crowd. It has high level features that no other popular language has, such as multiple dispatch, though it manages to be a very practical language at the same time. It also has some surprisingly nice libraries in certain areas, like their graph theory library. I think it has a very bright future ahead of it. If you haven't tried it, you really should (or if you tried it a few years ago, you should give it another spin now that it's at version 1.0).

      That said, even Julia isn't perfect (yet?). Right now the biggest problem is that while it has excellent HPC support, it's still lagging behind on its multi-threading support. Basically, it currently assumes that you are fine with running your additional threads inside other processes (possibly on other machines), and Julia makes this very easy for the developer to accomplish, though it's not quite the same as having cheap in-process threads like in Java. Another issue, specific to enterprise development, is that the ecosystem is still evolving VERY rapidly, even though the language has finally settled into version 1.0, so libraries shift under your feet all the time (though fortunately, they have a top notch package management system to handle library versioning). Oh, also start up times can be pretty bad due to how compilation works (basically, you can pre-compile code, but it's easy to end up having to compile at least some of the program on startup rather than ahead of time), but there are solutions to this most of the time and it buys a lot of positives (though it can be especially annoying when a library didn't optimize their startup times).

      I'm also somewhat concerned about the use of garbage collection in Julia. Some recent results make me think that automatic reference counting may be the future in this area. While this concern applies to Java as well (there's a reason Java programs are so memory hungry!), it's compounded in Julia because it complicates the bridging of C and Julia, which would otherwise be seam

    47. Re: java is a dead language by illiac_1962 · · Score: 1

      Python already fucked off and died...so there is that. What version am I on? The old one or the new one? What version is required by the library we want to use? Ah, the new one. Oh, that team used 2.x cause they needed X library....oh well. I could go on for pages about python shit garbage. [Remembers dynamic typing problem...snickers.] Python is a fucking joke for serious software.

    48. Re: java is a dead language by Anonymous Coward · · Score: 0

      Every Java program I've ever used has two things in common:

      1. Poor performance relative to native version of substantially similar software.

      I worked on Java for a year, then back to C# and C++. Java is basically C# lite as best as I can tell. For that matter JavaFX is kind of WPF lite. You can use a lot of very low level functionality in C#, or simply code parts in C as needed. Tell C# to do fun things like no error checking on some calls to C and the calls are very fast, or even pin memory so its readable by both. Heck WPF itself scales very well, though some graphics intensive stuff might need to be done via OpenGL or DirectX, one way, or another. (Yes WPF is a pain to really learn well, but there are benefits to it, if your determined. The biggest weakness I can see to WPF is gui related tasks tend to be single threaded. You can get around that, but its not always a good idea. There are patterns to do bulk work in another thread and then return the GUI result, but if updating the GUI is the primary task your more limited. Time permitting I may investigate moving some WPF work to IMGUI this year to see how that goes.

      Other than the cross platform aspect, If I had to develop something quickly, C# is likely my go to language. (We'll there is a subset of problems that can actually be done quicker in Labview, but that is mostly due to all the premade stuff, and either way Labview really doesn't scale well.)

    49. Re: java is a dead language by Anonymous Coward · · Score: 0

      This is completely wrong. GC will demand 4x the memory for similar performance.

      And requiring that somethnig run for a minute simply to amortize the startup time should tell you something about how inordinately huge that is.

    50. Re: java is a dead language by gaspyy · · Score: 1

      It's been my experience as well.

      People who say "java is slow" have never written any java code.

      I recently needed to make a tool to process multi-GB text files. My first instinct was Python, but the performance was absolutely horrible. I then made it in C and optimized the heck out of it. I was quite happy but then, just for kicks, I wrote a Java version and I was surprised to see it outperform C by 15%!

    51. Re:java is a dead language by Anonymous Coward · · Score: 0

      Except that Cobol have had one breaking change in 60 years and that was in 1985. All code written after that change still compiles in the latest IBM Enterprise Cobol compiler. An enterprise grade language needs to have long term support, and that is more than 5 years.

    52. Re:java is a dead language by Anonymous Coward · · Score: 0

      Spectacularly underinformed, and rather unpleasantly opinionated.

    53. Re:java is a dead language by Anonymous Coward · · Score: 0

      Hahahahaha...

      The python2 -> python3 thing is a disaster. A complete engineering failure that Oracle is trying duplicate.

      Given how the Python community handled the 2->3 migration, no organization that pretends to have any engineering chops should rely on Python at all. All those who do basically deserve the future grief when they pull this shit again.

      I think you're way off-base with the the calling the write-once-run-anywhere promise a pack of lies, since nothing but nothing has gotten to half as close to that promise as Java did (under Sun, granted).

      I actually agree that Oracle is putting a stake thru Java's heart, but Java's been bleeding out since the type-weenies bludgeoned the object-oriented-ness to death back in, what, 1.5? (And the marketers didn't help, as that marked the departure from engineering to popularity.)

      But here's the tricky thing: it is fairly easy to write good programs in Java, and the massive body of shitty programs in Java is more a reflection of the shitty programmers with crap incentives writing terrible code on "high-velocity" timelines.

      Those incentives aren't changing.
      Those timelines aren't changing.
      Those developers won't get better by using a different language.

      Changing the popular language won't result in quality code -- that's a belief in magic there, watch out of it -- it'll just bring an army of unmotivated, cross-incentivized, sloppy, careless, rushed programmers into that language to crank out crap code as fast as possible.

      Be careful what language you point them at.

    54. Re: java is a dead language by Anonymous Coward · · Score: 0

      This is completely wrong. GC will demand 4x the memory for similar performance.

      And requiring that somethnig run for a minute simply to amortize the startup time should tell you something about how inordinately huge that is.

      No wonder your girlfriend isn't satisfied.

      All you can do is play with baby toys that only work for a few seconds...

    55. Re: java is a dead language by Anonymous Coward · · Score: 0

      Well, can we see both code bases? I know I'd be interested in seeing them. Don't worry so much about the Python (TextProcessing===Perl; Python is a TypeMismatch).

    56. Re:java is a dead language by Anonymous Coward · · Score: 0

      python2 vs python3 has its issues, its nothing like the monstrocity that is java.

      As long as you are processing Latin1 encoded data.
      Fixing everything to work with new stream system is pain.

    57. Re:java is a dead language by Anonymous Coward · · Score: 0

      Funny thing is, this is now one of the highly touted new features of the Java 11 and up releases, no installable JRE you get to package your own. I think the Adopt guys make an installable JRE. Some people always preferred static linking when writing C or C++ code so they didn't have to worry about shared footprints and so this model does appeal to some folks but it can also increase the vulnerability footprint on a machine if multiple versions of the JRE are bundled with different applications.

    58. Re:java is a dead language by Baleet · · Score: 1

      Um. No. Just left a job where the main product (a server-side enterprise application) is written in Java. Also use a Java-based authoring tool that is an industry standard. Evidently your shop isn't a plausible proxy for the entire world.

    59. Re:java is a dead language by Anonymous Coward · · Score: 0

      Your ignorance is not evidence.

      Python is completely unsuitable for real development,which is why it is dying out except in the minds of its unskilled script kiddie fanbois.

      The best interview metric when recruiting programmers is to ask candidates view on Python. The fanbois can take a hike, they are always failures on real projects cut and pasting stack-overflow rubbish.

    60. Re:java is a dead language by DickBreath · · Score: 1

      I don't disagree with you. But it is just an analogy. Few analogies are perfect. But the point is Java is deeply entrenched. Here to stay. Attempting to replace it would require monumental resources.

      --

      I'll see your senator, and I'll raise you two judges.
    61. Re:java is a dead language by DickBreath · · Score: 1

      Java is amazingly backward compatible. One of the reasons for its success. They maintain source code compatibility, and binary code compatibility to earlier JVM bytecode class file layouts. Even in the presence of significant extensions such as Generics. I thought the backward compatible way Java implemented Generics was genius. I would never have thought of that.

      --

      I'll see your senator, and I'll raise you two judges.
    62. Re:java is a dead language by mark-t · · Score: 1

      I don't dispute that Java is entrenched, and it might stick around for a while, but it's a naive misconception to think it would ever be for the same reason as COBOL.

      COBOL was entrenched too, but the primary thing that kept it hanging around was that it was not only entrenched, but also more often than not impractical to attempt to translate any old COBOL program into another modern language without simply transliterating it, and basically copying all of the undesirable COBOL paradigms into the new language, which defeat the point of using the newer language. The resulting code would resemble the output of an automated tool such as compiler, even if done by hand, and be far less maintainable than even the original COBOL code, so the only practical thing to do would be to basically rewrite the entire application from scratch if you wanted it to be properly implemented in another language, adopting that language's paradigms from the beginning. Modern COBOL has some extensions which enable COBOL programs that take advantage of the newer capabilities to be vastly more straightforward to translate them into another language without sacrificing readability as I explained above, but of course, that does not amount to much of the volume of COBOL programs that are still in use today.

      You can translate complex programs written in Java into another modern language with *FAR* less difficulty, because Java's design has enough similarity to many other modern languages that it is much more straightforward to implement a java program in something new, and not lose any readability or maintainability in the new language.

      It isn't necessarily going to be cheap, but at least it is tractable enough that it could still be worthwhile to spend the money to do if someone is so inclined.

    63. Re: java is a dead language by Anonymous Coward · · Score: 0

      But incompatibility of python 2/3 and python 2/3 few years later is completely understated. If you not actively maintaining your code a year or two later it probably won't run anymore, even on your own setup, and definitely not on someone else's.

    64. Re: java is a dead language by Anonymous Coward · · Score: 0

      It's very popular with the High Performance Computing crowd.

      That's mostly Fortran, C, C++, Python and some R, Go, Java, Scala, CUDA, Matlab and Octave, but I have seen little use of Julia so far. It's got some good features but is also missing some. Not that the languages above have the same use case - for high performance per se it's Fortran, C and C++ almost exclusively. Python gets use in ML and data science and a lot in various levels of 'glue'. R, Matlab and Octave get use for data science and Matlab and Octave also gets used to stitch things together at times. Go and Scala tend to be used in more computer science oriented areas that need HPC to generate the required scale, e.g. people might simulate a large network with Go or Scala that then needs several hundred cores to complete in a reasonable elapsed time. Java typically gets used for GUIs on the whole but does get some use for more computationally-intensive tasks, although not often, and there are MPI implementations and so parallelism isn't limited to the standard threading mechanisms but it lacks the relatively easy multicore explicit parallelisation that can be brought to the table with OpenMP.

    65. Re:java is a dead language by DickBreath · · Score: 1

      > but also more often than not impractical to attempt to translate any old COBOL program into another modern language without simply transliterating it,

      That is a good point.

      That said, I don't think people think most people think it through that deeply. The analogy of why Java would stick around seems to communicate (at least is intended to communicate) the idea that Java would be economically infeasible to displace with something else. That's all I meant. I didn't mean anything about COBOL. I only meant something about Java's entrenchment.

      --

      I'll see your senator, and I'll raise you two judges.
    66. Re:java is a dead language by mark-t · · Score: 1

      That's all I meant. I didn't mean anything about COBOL.

      I had no particular way to know that, since you said:

      Java is the COBOL of the 21st century. It will be around forever for the same reason as COBOL.

      This is the particular statement I disagreed with. If you are asserting that Java will be around for a long time because it is entrenched, I can't disagree with that assessment.

      I will, however, take exception that it will stick around for the same reasons as COBOL did. It is the design of COBOL and its paradigms that make it impractical to translate most programs written in it into a modern language, not simply the amount of code that is out there that is written in it. This reason would not apply to Java, and despite how entrenched it might be, rewriting even all of those Java applications would still remain a tractable problem. I expect that they might stick around for many decades to come because people will be too lazy or indifferent about translating them more than because it is genuinely economically impractical to do so.

    67. Re:java is a dead language by DickBreath · · Score: 1

      I think my stated reason would be correct. The cost or rewriting, would be too high. As you prove by showing that COBOL is so different.

      --

      I'll see your senator, and I'll raise you two judges.
    68. Re:java is a dead language by DickBreath · · Score: 1

      . . . to continue my previous post. But Java is not SO different. But no other platform is "close" to Java except maybe dot NET.

      --

      I'll see your senator, and I'll raise you two judges.
    69. Re:java is a dead language by mark-t · · Score: 1

      No platform is as close to Java as dot NET, but many other modern languages are similar enough to Java that translating between them is actually quite straightforward, while still being pure to the design of the target language.

      Not necessarily cheap, as I said... but doable, and if it ever became an impediment to progress it would be easily worth the money to execute, since it is, as I said, at least a tractable problem.

  4. What a breath of fresh... air... by Anonymous Coward · · Score: 0

    "It will probably be big and popular in another 20 years. We have to think 20 years ahead."

    See? This is future-proof thinking. Send this man a case of beanie babies, which I assume based on this logic will be a valuable currency again in a few decades.

  5. That is a crazy statement by SuperKendall · · Score: 4, Insightful

    I know of no new development done on java applications

    Come on, Java server development is still going strong

    I mean, some companies are still using Cobol, and you think Java is going anywhere?

    Not to mention not all Android developers have moved to Kotlin, that is a many year process - in the meantime there is a ton of Android Java code, and even new apps being developed in Java until widespread Kotlin expertise ramps up.

    "write once, run everywhere". fucking pack of lies that is.

    Why? That actually worked well. In the past I worked on desktop Java apps that I could run across various systems (and still work today).

    When I moved to server development, we would sometimes shift between systems like Solaris and Linux or some BSD variants, but while we may have had to tune the VM we did not change the code...

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      Kendall is afraid of penises since he met Vladimir Putin.

    2. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      Sure, let me see it.

      Oh my, lookie there!

      That looks just like a penis, only smaller!

    3. Re:That is a crazy statement by hey! · · Score: 1

      The write once/ run anywhere issue mainly falls short for desktop apps; if you write those, I'd probably stay away from Java widget toolkits.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    4. Re: That is a crazy statement by Anonymous Coward · · Score: 0

      Kotlin is an ugly name and I refused to ever learn about such a thing. Its pitiful you people . Java is awesome and you disgrace yourselves with buzz languages

    5. Re:That is a crazy statement by SuperKendall · · Score: 1

      I agree it falls short on desktop, but the original statement was that it does not work which is flat-out wrong.

      It's kind of humorous that Javascript seems to be making more headway with desktop apps via Electron than Java did... despite similar ways of falling short.

      It almost makes you wonder if maybe Java desktop apps should be revived.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    6. Re: That is a crazy statement by Anonymous Coward · · Score: 0

      May I show you my penis?

    7. Re:That is a crazy statement by hey! · · Score: 1

      Actually, the Javascript thing makes sense to me. Java is a complete, comprehensive ecosystem with legacy of over-engineering that it has taken years to extricate itself from. Javascript is just a language (which happens to have pretty good functional programming facilities).

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    8. Re:That is a crazy statement by angel'o'sphere · · Score: 2

      I'd probably stay away from Java widget toolkits.
      And why? Swing is excellent and the new JavaFX as well. And exactly do you write a Java desktop app without using a Java Widget library anyway? Some idiotic WxWindows bindings?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:That is a crazy statement by Anonymous Coward · · Score: 1

      In the env I work in. Java is dragged along. It will be there long after I leave (much like the cobal and fortran programs). New projects are node.

      Why? That actually worked well
      Only in environments that are similar. Linux java != WIndows java.

      The cost per node is going to see to that it is destroyed. Oracle is going to move swiftly to their DB model of pricing. That is the real reason no one is moving past 8. For your large corps they will not even blink. For your 'bro' shops yeah that is not going to happen. Eventually those same people move into the large corps...

    10. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      Last few times I ran into JavaFX applications they refused to run on my debian system for various reasons. Early on the package just didn't exist because debian shipped the openJDK and JavaFX still wasn't packaged for it ( full two years after it was "released"). Recently because the application could not find the correct jars on my system, despite me installing everything that looked even remotely JavaFX related. My side projects will remain Swing just because I don't want to deal with whatever multiyear chaos the JavaFX packages suffer on debian.

    11. Re:That is a crazy statement by phantomfive · · Score: 1

      It should be said that Java deployment can be quite easy these days as well.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      Java contractor in finance industry here: I can't remember the last time I had a windows/unix/linux issue with Java. Certainly not in last 10 years. Maybe some stupid thing wih BoMs in XML files or a careless case-sensitivity thing in filenames? Otherwise, all development and tests are written and run on Windows, and built and deployed to Linux, and it all works.

      Non-portability is a non-problem. If WORA problems are the biggest problems out there, then we're in a great place!

    13. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      In a similar role in the financial sector, and have similar experiences, developers work fine building code on Windows or Mac machines and deploy to Linux servers so that isn't a problem.

      But I'm curious, how are your clients handling the new licensing requirements which basically prevent you from getting patches for LTS versions unless you license? One of my clients is dealing with that right now because they have a heavy Java 8 footprint but don't want to pay Oracle and now are risking not getting a ROC from a PCI audit because the vulnerability scans are triggering that they need to grab patches for their Java 8 but are no longer allowed to.

      Their options are go with a Java 8 version of AdoptOpenJDK and hope it has all the patches and doesn't trigger alerts or migrate to Java 11 (soon 12) and upgrade every 6 months to stay current hoping bi-yearly release doesn't break something. Primary discussions right now internally are can they trust Oracle not to screw with AdoptOpenJDK and if we have to rework to get to Java 12 anyway why not move to something else. Likeliest scenario is go with AdoptOpenJDK for the immediate need and move off Java long term.

      Like others have pointed out, teams are looking more seriously at Python and Go and even back to C++ since really our server images are fairly well baked and with docker available to allow developers to have equivalent environments on their development machines, the cross platform pull for Java is no longer a big deal.

    14. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      I write desktop apps with Swing. Works on Win and Linux like I expect them to. Netbeans IDE is my choice.
      Haven't gone to FX, I don't want to learn coding in XML. Not yet, anyway.
      I'm still on J8, though. J7 allowed me to use Access DB, now I use H2 for embedded DB apps. J9 can wait.

    15. Re:That is a crazy statement by Anonymous Coward · · Score: 0

      IIRC, both Swing (AWT?) and JavaFX have been deprecated by Oracle past Java 8. Java Applets and Java Web Start are in the same boat. There is an open source version of Web Start called NetX/IcedTea (ITW), but it is broken in the latest free version of Java 11, and it's related to Swing/AWT.

    16. Re: That is a crazy statement by Anonymous Coward · · Score: 0

      Netbeans and Swing? In 2019? Unicorn.

    17. Re:That is a crazy statement by DeVilla · · Score: 1

      It also falls short for System's Programming, Infrastructure sorts of things due to it's "least common denominator" support for any system. You can run it in the cloud, but you're going to bend over backwards trying to use it to manage various platforms with it.

  6. It will probably be big and popular in another 20. by ChoGGi · · Score: 2

    Not if you keep this up.

  7. ""There are billions of lines of code in Java" by Anonymous Coward · · Score: 0

    Sorry. I stopped reading at that point and shouted bullshit.

    Comments and blank lines maybe, not code.

    Guy is an idiot.

    1. Re:""There are billions of lines of code in Java" by Anonymous Coward · · Score: 0

      Read it as there are billions of lines of code "written in" Java rather than "shipped as part of the JDK".

      Use your mind before calling someone else an idiot else you'll look more of an idiot than the idiot.

    2. Re:""There are billions of lines of code in Java" by UnknowingFool · · Score: 1

      In the context of the statement, he’s clearly talking about lines written by others in Java being broken by Java 9 changes not the JDK or SDK

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    3. Re:""There are billions of lines of code in Java" by Anonymous Coward · · Score: 0

      Sorry. I stopped reading at that point and shouted bullshit.

      Comments and blank lines maybe, not code.

      Guy is an idiot.

      You obviously aren't a very productive developer.

  8. Java is in fact dying. by Anonymous Coward · · Score: 0

    https://jaxenter.com/java-slippery-slope-downward-trend-133843.html1

  9. Sorry fangirls. by Anonymous Coward · · Score: 0

    https://jaxenter.com/java-slippery-slope-downward-trend-133843.html

    1. Re:Sorry fangirls. by Anonymous Coward · · Score: 0

      Did you actually read the article you keep posting?

      I'm guessing you just read the title and the first few sentences.

      Here's a few quotes...

      Does this mean Java’s reign at Stanford is history? Not at all — most of the upper-level computer science courses are still in Java.

      Java is not going away anytime soon — Here’s why

      Here's the last sentence of the article:

      However, one thing is sure: Java will not be dethroned anytime soon.

    2. Re:Sorry fangirls. by Anonymous Coward · · Score: 0

      "most of the upper-level computer science courses are still in Java." - Because fixing completely borked legacy code is the #1 job in Javaland, we know. You have job security through dev incompetence. Bravo. \

      "Java is not going away anytime soon " - Neither is crack. That doesn't mean it's a great platform to start getting hooked into today.

      Face it, Dunning Kruger, you're just Stockholmed.

    3. Re:Sorry fangirls. by Anonymous Coward · · Score: 0

      Java is still popular because it still one of the best languages out there. One reason is its strong typing. There, I said it.

      Yes, there is a new generation of languages coming up, some of them even with better typing, but they don't have the vast array of Java libraries yet.

      The only language coming near is Python, which has possibly an ever larger collection of libraries, but it is slower, has a weaker type system, and is therefore restricted to small and non-time-critical programs.

      Oh, and the reason there is so much bad Java code is (1) because there is so much Java code, and (2) because it is so strict and lends itself so well to code checking, even very bad programmers can be productive in Java. Pay your programmers peanuts and you only get monkeys and all that, but if it is economical, it happens.

    4. Re:Sorry fangirls. by Anonymous Coward · · Score: 0

      Yeah the bit that says: "Java is not going away anytime soon — Here’s why..."

  10. Would you start with Java today? by Qbertino · · Score: 2

    Just a quick question, sorta on topic:

    If you are a Java guy - would you start anew with Java today or pick something else? (Scala, Kotlin, ... Go, Python, whatever).
    Que opinions below, and thanks for that.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      Que = spanish, Q-anon = retard shit, queue = UK. It's cue. But of course your point is 100% correct, what kind of idiot would start using Java now that Oracle has basically frankensteined it into a living corpse? It's dead Jim. Smart $ is moving on.

    2. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      All of our new projects are Java. I have a team of developers that are all fluent. While Scala and Kotlin are interesting and we have done some playing around with them in our free time, Java works well for us and we haven't had a project in which we could move out of our comfort zones with time for extra troubleshooting.

      All in all, we haven't really had any issues with Java and haven't found the need to move elsewhere. Previously we were predominantly PHP, but found that increasingly difficult to maintain so we switch to Java.

      Our code currently targets JDK1.8, but runs without issue under JVM 11. We have a branch that we're going to deploy shortly that targets JDK11, and it wasn't all that much work getting the code up to date. It was mostly just adding/upgrading appropriate libraries to compensate for the removed packages (ie jaxws-ri, javax.activation, and jaxb).

      As for Python, we currently use that for server scripting (cli tools, cron jobs, etc..) but our web systems are all Java (with some legacy PHP on the admin side).

    3. Re:Would you start with Java today? by Anonymous Coward · · Score: 1


      If you are a Java guy - would you start anew with Java today or pick something else?

      It depends on the project. But for the right project, yes I'd choose Java.

      A lot people hate Java because they've been stuck with 20+ year old code that was never written right in the first place. So they see all this legacy stuff, like the newer stuff that's either written better, or just hasn't really done anything "hard" yet, so naturally they think the language is at fault, not just age.

      It's also "cool" to hate on old things in software development. New things are always better, right? It's extra cool to declare something dead, and your new thing is the new hotness. Then you get to be the new cool guy, and the other guy gets to be the dinosaur. It's just callout culture extended to software developers.

    4. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      "But for the right project, yes I'd choose Java." - Yeah, like writing a 2002-era application for Windows XP boxen. Perfect application, good point.

      Anytime I'm coding for mainframes, COBOL is still my go-to. High five, ancient dude! (Dust goes flying)

    5. Re:Would you start with Java today? by DickBreath · · Score: 5, Interesting

      > If you are a Java guy . . .

      Yes.

      >would you start anew with Java today

      Yes.

      Java has excellent development tools. Fantastic story on refactoring of large code bases.

      Java is very mature. Battle tested. Industrial Strength. Java has a history of backward compatibility better than most other languages. Especially Python 2 / 3, just to pick one example.

      Java has an industrial strength managed runtime platform. First the Java (or Scala, Kotlin, etc) compiler translates your source code into JVM bytecode. That bytecode is platform neutral. When you start your program on the JVM (Java Virtual Machine), it initially runs by interpreting your bytecode. All your functions are dynamically profiled for cpu usage. The JVM watches for a CPU hotspot. That is, some function that is getting a higher than average cpu utilization.

      As soon as the JVM detects a hotspot, that code is immediately dynamically compiled to native code by the C1 compiler. The C1 compiler rapidly generates un-optimized native code. That code is also scheduled by be recompiled by the C2 compiler in the near future.

      Before long, the C2 compiler comes along and spends significant time compiling that code into highly optimized code. In aggressively inlines code. It is able to do optimizations that no "ahead of time" compiler (such as C) can do. This is because the C2 compiler can see the "entire" program. That is, all possible code that makes up the entire program which is running. So the C2 compiler can make changes that an ahead of time compiler cannot make. Even though different parts of the entire running system may be been written by different authors, at different periods in history. Furthermore the C2 compiler can compile into code that is SPECIFICALLY for the processor you are running on, including any processor specific extensions, like SSE2, etc. Again, something an ahead-of-time compiler (like C) cannot do and be able to run on all x86 processors. (But remember JVM bytecode runs on any JVM, even on microprocessors not yet invented today -- without recompiling your source code.)

      Now imagine this. Your function calls My function. Both your and my function are dynamically compiled, and C2 optimized Your function by inlining My function into your code. Next, for some reason, My code is dynamically reloaded and updated within the running JVM. Now Your function has a stale copy of My old code. The JVM immediately switches Your code back to running Your bytecode via an interpreter. Before long, if your code is still a cpu hotspot, it will again get recompiled first by C1, and then later by C2.

      Java's C2 compiler has been described as being probably one of the most sophisticated compilers there is -- even though its "source" language is JVM bytecode.

      Next is Java's GC. Like Java's native compiler, Java's GC is the product of two decades of research by many researchers (due to the platform being open for many years). Java offers multiple GC choices. Each garbage collector offers multpile knobs for tuning your workload to run best. There presently is one company (Azul Systems) that makes a proprietary Java runtime with a proprietary GC that handles memory heaps of HUNDREDS of GIGABYTES. (yes, you read that correctly) And has only 10 ms GC pause times. The latest thing is Red Hat's Shenandoah GC which can handle several TERABYTES of memory with 10 ms GC pause times. Also the new ZGC that similarly handles TERABYTES of memory.

      Why such big memory heaps? Because Java can run concurrently on many CPU cores (the most I've heard of is 768 cores) with lots of memory. Yes, folks, Java is used for SERIOUS workloads.

      Even if you don't like Java the language, other languages compile to JVM bytecode -- and many can all interoperate with each other. The JVM (java runtime) is an industrial strength battle tested runtime for serious workloads.

      Please call me when your Python or Node.js can do that.

      I hope that answers your question.

      --

      I'll see your senator, and I'll raise you two judges.
    6. Re:Would you start with Java today? by hazardPPP · · Score: 2

      Just a quick question, sorta on topic:

      If you are a Java guy - would you start anew with Java today or pick something else? (Scala, Kotlin, ... Go, Python, whatever). Que opinions below, and thanks for that.

      I would pick Java again but for the GUI stuff I would do it all in JavaFX instead of Swing. Swing for me is the most annoying part of Java. Everything else is fine. I do desktop applications in Java.

    7. Re:Would you start with Java today? by DickBreath · · Score: 2

      I hate to say, but Swing is possibly where the "write once, debug everywhere" mantra got started. I have done a few Swing applications and have experienced having to make small tweaks for some platforms.

      I have not tried FX yet.

      If starting something new, I would seriously consider whether it should even be a desktop app instead of a web app. Web apps have zero install and zero maintenance at the end user's workstation.

      --

      I'll see your senator, and I'll raise you two judges.
    8. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      Depends on what you want to do, but I'd learn either Java, C#, or C/C++ first. You can have a long career with any one of those. Everything else is niche really.

      JavaScript is huge obviously, but it's painful and unless you really just want to write front end webapp stuff, has no other reason to exist.

    9. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      It is able to do optimizations that no "ahead of time" compiler (such as C) can do. This is because the C2 compiler can see the "entire" program. That is, all possible code that makes up the entire program which is running.

      C compilers have the ability to perform runtime analysis (profile guided optimization).

      Why such big memory heaps? Because Java can run concurrently on many CPU cores (the most I've heard of is 768 cores) with lots of memory. Yes, folks, Java is used for SERIOUS workloads.

      All this proves it's still cheaper to throw hardware rather than people at a problem.

      As an end user the Java software I've used runs slow while consuming massive quantities of memory. It's what I expect going in and I've never been disappointed.

    10. Re: Would you start with Java today? by Anonymous Coward · · Score: 0

      Typescript. It's structured JavaScript making it easier for us old school typed language geeks and runs on the backend with Nodejs.

    11. Re:Would you start with Java today? by eddeye · · Score: 1

      The JVM (java runtime) is an industrial strength battle tested runtime for serious workloads.

      Java, the code Mutilator! It's a monster truck you can pour in your code!

      Java is like refactoring your code with a lawnmower! It's like programming on a 300 foot tall pony covered in chainsaws! Java - it's got what code craves!

      --
      Democracy is two wolves and a sheep voting on lunch.
    12. Re:Would you start with Java today? by angel'o'sphere · · Score: 1

      The question does not make much sense.
      a) Scala and Kotlin did not exist that time
      b) Scala and Kotlin run on the JVM and use the Java infrastructure

      The answer would probably be Groovy, or a combination of Groovy and Scala. Scala for the internals as a superiour replacement for Java, and Groovy to glue it together and for the UI.

      Kotlin has in my eyes no real advantage over Java, except cleaning up the syntax by not requiring public/private/final everywhere because the default chose by the compiler is "the right thing" and type inference, but that has java as well meanwhile.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    13. Re: Would you start with Java today? by illiac_1962 · · Score: 1

      C#, so I can forget all those other lost causes.

    14. Re: Would you start with Java today? by illiac_1962 · · Score: 1

      I work in Java almost every day. Thay pony is oddly familiar.

    15. Re:Would you start with Java today? by cats-paw · · Score: 1

      then somebody at IBM needs to hire java programmers that know what the fuck they're doing.
      we're using IBM notes at work and it's the slowest most unreliable piece of crap i've ever seen.

      but it's written in java.

      yes I know, it's just one example, but really, an example of a good java program is not coming to mind...

      --
      Absolute statements are never true
    16. Re: Would you start with Java today? by Anonymous Coward · · Score: 0

      Brilliant. The front-end language is slow and shit, so let's write everything in a different language that requires a separate compilation step hidden in some fucking arcane command inside a node package and have poor tool support along with it.

      And let's use it on the back-end so we can never recreate the specific slurry of versions it was developed with and ship an app with hundreds of version mismatch warnings.

    17. Re: Would you start with Java today? by TJHook3r · · Score: 1

      Just a question re your handle. Did you see yourself writing serious comments when you signed up with a Reddit-style username?!!

    18. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      Because Swing frames are rendered differently on different OS, the GUI can resize. The trick is to size the frame by what the pane or panel requires by finding the location of a corner control ( or placing a dummy label on the panel) and sizing from that. Add the frame insets (find in code as the app runs) and the frame comes out correctly sized no mater where it's running. Find out more at philofjava.webstarts.com for my guide. Ch. 12 shows how.

    19. Re: Would you start with Java today? by Anonymous Coward · · Score: 0

      Dude, be respectful, that's his name. Well, Richard Breath. I once knew of a friend of his, Richard Head. Word of mouth is that he was not too nice.

    20. Re:Would you start with Java today? by sad_ · · Score: 1

      just like in real life, it pays to be multi langual.
      yes, i would pick up java, the (oss) ecosystem is fantastic.
      but i would also take a language on the side.

      --
      On a long enough timeline, the survival rate for everyone drops to zero.
    21. Re: Would you start with Java today? by DickBreath · · Score: 1

      Did Reddit exist when I signed up on slashdot.

      We must never tolerate the intolerant.

      --

      I'll see your senator, and I'll raise you two judges.
    22. Re:Would you start with Java today? by DickBreath · · Score: 1

      It was a while back. But I did figure it all out. I also learned MigLayout really well.

      --

      I'll see your senator, and I'll raise you two judges.
    23. Re:Would you start with Java today? by Anonymous Coward · · Score: 0

      Pity it's a shit language.

  11. I Greatly Dislike Breaking Changes But... by careysub · · Score: 1

    I greatly dislike breaking changes but sometimes it is necessary. Backward compatibility do the dawn of platform time gets increasingly expensive in every way. Technical debt exists here to, languages are not immune.

    I was reluctant to move to Python 3, but now I see that this had to happen. Substituting iterators for lists in the APIs was essential to make it scalable to big data. Its not just for parsing little log files anymore.

    That binaries break on every release of Scala is a defect in that platform. Yeah, I know, reasons, but it is still a significant defect.

    I use Java a lot, so I know that there are debt issues. So I am willing to give them a pass on this. I'll buy the argument it was necessary. This is not the first breaking change in Java by the way, though previous ones have been small issues.

    --
    Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
    1. Re:I Greatly Dislike Breaking Changes But... by Anonymous Coward · · Score: 0

      It was necessary to break non big-data applications to support theoretical big-data applications? I'm sorry, but that simply does not compute.

    2. Re:I Greatly Dislike Breaking Changes But... by Anonymous Coward · · Score: 0

      so you're ok with the one you like breaking, and you give it a pass, but you want to point out others (without nearly as much invested in them) break too, and you don't give them a pass.... gee. Oracle stockholder, are we no doubt?

      Good luck with your beanie babies.

    3. Re:I Greatly Dislike Breaking Changes But... by Luthair · · Score: 1

      I was reluctant to move to Python 3, but now I see that this had to happen. Substituting iterators for lists in the APIs was essential to make it scalable to big data. Its not just for parsing little log files anymore.

      Why not simply create new APIs and deprecate the old old ones.

    4. Re:I Greatly Dislike Breaking Changes But... by sjames · · Score: 1

      Actually, Python 2.7 supports iterators.

  12. Write once? by drinkypoo · · Score: 0

    Write once, rewrite everywhere.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Write once? by Anonymous Coward · · Score: 0

      Then you're doing something wrong.

    2. Re:Write once? by drinkypoo · · Score: 2

      Then you're doing something wrong.

      Yes: Using Java, and expecting Oracle to be a good steward when they never have been a good steward of anything.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  13. Re:Get a job Kendal, then give advice. by Anonymous Coward · · Score: 0

    It's 100% obvious that you are a hack.

  14. So Did the Oracle guy mean.. by Anonymous Coward · · Score: 0

    to stay away from Java? Impressive!

  15. Java Vista by organgtool · · Score: 1

    It sounds like Java 9 is the Windows Vista version of Java: it broke backwards compatibility and made users apprehensive to upgrade yet despite that, it was absolutely necessary to increase the quality and the long-term maintainability of the product. Assuming that they didn't make any other major changes that created significant difficulties in upgrading past version 9, I think I agree that Java will be better in the long-term for these changes.

    1. Re:Java Vista by Nivag064 · · Score: 1

      Java is now version 11, with 12 out Real Soon Now.

      Java 9 did have a major, but necessary breakage. But Versions 10, 11, and 12 should not create too many problems for code that run on Java 9.

      None of my Java programs, a few at least 15 years old, had any problems on on Java 9 or later!

      Probably only developers that broke the rules, and used non public APIs had significant problems with Java 9.

    2. Re:Java Vista by organgtool · · Score: 1

      Probably only developers that broke the rules, and used non public APIs had significant problems with Java 9.

      The article mentions that a lot of developers have dependencies in their Java applications that have not been updated to work with Java 9. Therefore, even if you're fastidious about using standard Java APIs and avoid using deprecated classes and methods, apps with many dependencies on third-party libraries may have a higher likelihood of breaking during an upgrade.

    3. Re:Java Vista by McLoud · · Score: 1

      It sounds like Java 9 is the Windows Vista version of Java: it broke backwards compatibility and made users apprehensive to upgrade yet despite that, it was absolutely necessary to increase the quality and the long-term maintainability of the product. Assuming that they didn't make any other major changes that created significant difficulties in upgrading past version 9, I think I agree that Java will be better in the long-term for these changes.

      Except Windows Vista was slow as sh!t and Java 9 should be faster than 8

      --
      sign(c14n(envelop(this)), x509)
  16. Not Surprising Little Use of non-LTS Versions by Lost2Home · · Score: 1

    Why would anyone make the effort to port to a non-long term support version (e.g. 9, 10)? By the time your application container supports those versions (some still don't) and your application would be ported to those versions they are already going off support.

    The entire support life cycle for Java 9+ along with the change in licensing are just a collection of not terribly bright ideas from Oracle. There's a reason that Azul, IBM, Redhat, etc. are offering extended support for Java previous versions.

    The new Java LTS version (11) has only been out for a few months. The interesting question will be what is the usage of Java 11 a year or so from now.

  17. Switch to Kotlin by Anonymous Coward · · Score: 0

    Java is a turd.

  18. support/not supported version confusion by Anonymous Coward · · Score: 0

    Oracle went with a new version scheme a couple years ago. According to their website java 9/10 are already out of date.
    Java 11 is the latest, and supposed to be Long Term Support.

    https://www.oracle.com/technetwork/java/java-se-support-roadmap.html

  19. In other words... by Anonymous Coward · · Score: 0

    You lot fucked up and are fucking it up some more while trying to "fix" it.

    Sounds about par for the oracle course.

    The problem very much is that even five years is a very long time in the hype-de-l'heure world of idiot hipster computing, and twenty or even forty years is very little time for infrastructure and even the code that keeps companies going. Exactly that is what java positioned itself to bridge, and apparently they have been falling short and are still falling short trying to "fix" it.

    Amazingly oracle is made out of one application that ends up in that sort of long term (and due ellison, terribly abusive) relationship with companies providing them building blocks for their infrastructure. So I say they ought to've known better. Waiting a good twenty years before even starting to clean up? That's just not good enough. That's criminally negligent.

    So I'm not buying the aplogy. It's a reason, not an excuse. Yes I get what you're trying to do. No, try harder and break less things while doing better. And if you cannot, find someone who can. Sooner rather than later.

  20. Oh, Java... by Anonymous Coward · · Score: 0

    I've developed in various platforms, including mobile (from friendly ones like iOS to... less friendly ones like BREW), but I had never used Java outside grad school, partly because I didn't enjoy that experience.
    So a few years ago (3 perhaps?) I tried installing the Android dev environment on my Mac to try out Android development, even if it is Java. I was in disbelief when I saw on the official Google instructions that you needed a very specific version of Java to have some functionality of the dev environment... and you also needed another version if you wanted some emulators to work!!! OK, it was probably partly Google's fault (they probably couldn't care less about development on Macs), but it was also about Java being like this.
    Saw that, tried to make it work regardless, had some lingering issues, said f*ck that shit, and I am still android-dev free :)

  21. Too complex for new users by bradley13 · · Score: 5, Interesting

    Grumpy old man here, but a Java developer. Java is not, and never will be a functional language. Nonetheless, Java 8 just had to introduce lambda expressions, so that wannabes could kinda, sorta pretend that Java was functional. The main effect of lambdas, however, is to hide data types, so that weak developers don't actually know what interfaces and data types they are using.

    So, doubling down on stupid, they introduce "var", so those weak developers really don't have to know what types they're using. Java will figure it out, or you can play pinball till it works.

    Project Jigsaw, was it really necessary? Maybe, but I'm not entirely convinced. Certainly, the new module system is a PITA, since you now have to deal with both module-paths and class-paths, plus of course getting the permissions right.

    Now, I know that Java is used for a lot of backend stuff, but JavaFX finally made Java actually really good at GUIs. Swing was a buggy mess that no one seemed to want to fix, but JavaFX got a lot of things really right. So, of course, Java 11 removed JavaFX from the core, making it a PITA precisely because of the module system introduced in Java 9.

    - - - - -

    Here's the important bit: Nowadays, I am a college professor, and I am faced with a problem: Students new to programming can no longer start with a current version of Java - the changes in Java 9/10/11 have made things just too complex for new users. I have rolled back to Java 8 for the moment. I have spoken with a number of other college level Java instructors, all of whom feel the same way.

    The long term question will be: what language do we teach in our programming courses? It is entirely possible that we will move to a different language.

    When your language is no longer being taught in schools, well, that's the beginning of the end.

    --
    Enjoy life! This is not a dress rehearsal.
    1. Re:Too complex for new users by Anonymous Coward · · Score: 0

      "in Java 9/10/11 have made things just too complex for new users."

      you aren't required to use the new features. you don't even have to use for-each loops to learn java syntax

    2. Re:Too complex for new users by hazardPPP · · Score: 2

      Grumpy old man here, but a Java developer. Java is not, and never will be a functional language. Nonetheless, Java 8 just had to introduce lambda expressions, so that wannabes could kinda, sorta pretend that Java was functional. The main effect of lambdas, however, is to hide data types, so that weak developers don't actually know what interfaces and data types they are using.

      So, doubling down on stupid, they introduce "var", so those weak developers really don't have to know what types they're using. Java will figure it out, or you can play pinball till it works.

      I find lambda expressions infuriating. I've done Java for a long time, sticking to the original OO paradigm. Then a smart ass kid decided to refactor / rewrite a bunch of code I have to maintain and extend using lambda expressions all over the place. Probably because it's "the cool new thing" or whatever. For the first few times it felt like reading a foreign language.

      Why does Java have to be "functional" and who cares? They keep on going this way, they'll make it into a C++-type mess.

    3. Re:Too complex for new users by ebrandsberg · · Score: 1

      I saw a demo the other day that leveraged many of the new features of java 11, in an updated framework, etc. So much was hidden that it was very non-intuitive on what was happening in the code. The engineer demoing this saw this as a good thing, as very few lines of code were needed to implement some impressive functionality, but any attempt to understand it would have been difficult at the surface. That is where I see things going sideways with Java.

    4. Re:Too complex for new users by Luthair · · Score: 1

      Make them opaque somehow? I recall 20-years ago professors deciding they didn't want new students to deal with the complexity around IO in Java and wrote a library for it.

    5. Re:Too complex for new users by Luthair · · Score: 1

      Wasn't one of the original design principals to not hide too much, e.g. the developer is expected to know the difference between an array, an array list, and a linked list and when each ought to be used?

    6. Re:Too complex for new users by MobyDisk · · Score: 1

      Caveat: I haven't done Java since ~2000, when Java was at version 0.9, in the days of AWT, before Swing existed.

      It's interesting that you say Java programmers hate "var" and "lambdas", whereas my experience with C#, C++, and JavaScript programmers is that they are eating it up. C# programmers prefer:
      var d = new Dictionary<string, int> over the more verbose form.
      They prefer a lambda over a loop:
      var x = collection.Find(elem => elem.Age > 15)

      What happened in Java that these things are not simply intuitive and awesome? Or is this something about Java culture?

    7. Re:Too complex for new users by Nivag064 · · Score: 1

      I think var should be banned in any sane development environment, and should never have been put into Java.

      I have found lambdas very useful in a couple of use cases, such as when you need to pass a function for special functionality -- far better than defining a class to hold the function.

    8. Re: Too complex for new users by bradley13 · · Score: 1

      The problem is: you are defining a class, it's just hidden from you. Lambdas in Java look like functional programming, but it's only a syntactical illusion. Java is not functional; the closest it comes is the pale shadow you see in reflection.

      Lambdas are convenient, but IMHO fundamentally evil.

      --
      Enjoy life! This is not a dress rehearsal.
    9. Re:Too complex for new users by SCVonSteroids · · Score: 1

      Are they taking your course "exclusively" to learn Java, or to code? Limit the Java curriculum if it's the latter.

      Teach on 8. Give some bonus exercise/home-work on newer versions for the truly interested.
      Then teach them some other power-house languages to compensate. There's a healthy handful.

      I absolutely hated Java during my college days, yet I'm doing perfectly fine as a professional software developer. I just don't look at Java-centric jobs. If someday that's all I can get a job in, then I'll hunker down and learn it well enough to land one. The most important thing you can teach to your students is not any specific language but the fundamentals they will need to learn it. The lower-level the language is, the better.

      *Disclaimer: I'm certainly not a teacher, but I've been tutoring students that are going through the same course as I did, every year since I've graduated; and this is what seems to make it click for most of them. Obviously, some of them are just not cut out for programming.

      --
      I tend to rant.
    10. Re:Too complex for new users by WaffleMonster · · Score: 1

      I find lambda expressions infuriating.

      Never understood this. Why would anyone intentionally give up the opportunity to compartmentalize code that for all they know might be nice to reuse later into a separate real function? Seems like the worst kind of tradeoff you could make coding any non-trivial system.

    11. Re: Too complex for new users by Nivag064 · · Score: 1

      I was making no comment wrt 'functional programming', merely that I had found lamdas useful in Java.

    12. Re:Too complex for new users by Anonymous Coward · · Score: 0

      what language do we teach in our programming courses? It is entirely possible that we will move to a different language.

      Your mistake was picking java in the first place. HORRIBLE language to start from, or to conduct advanced classes in. It becomes "cargo cult" programming: students slavishly copying magic bits of syntax they have no fucking clue about, just to make the damn thing compile. Or worse, let the IDE handle the useless cruft syntax for them.

      I've taught in several languages and programmed in many more. A sane choice lets students focus on the LOGIC of programming not the syntax. Don't give me any "but all the jobs are in java" excuses. That's nonsense. We don't teach comp sci courses in javascript or php either.

      These problems with java were apparent 20 years ago (believe me, I was there). I don't feel bad for you. I feel bad for the students who suffered under your tutelage.

    13. Re:Too complex for new users by Anonymous Coward · · Score: 0

      You don't need to use lambda expressions in order to do functional programming in Java.

      I realize I may be dating myself here, but... ever hear of the Command Pattern?

    14. Re:Too complex for new users by Kormoran · · Score: 2

      Why not Delphi? It has even a free implementation, the Free Pascal Compiler and the Lazarus IDE.
      The Pascal language was created precisely to teach programming... in 1972, OK, but nonetheless Delphi has vastly improved it since. And it's still evolving.

    15. Re:Too complex for new users by Kjella · · Score: 2

      What happened in Java that these things are not simply intuitive and awesome?

      My guess why he's annoyed is that "var" makes you way more dependent on IDE support. Now this is just plain redundant:

      Dictionary<string, int> d = new Dictionary<string, int>

      but this is not:

      var d = SomeClass.foo();

      What's d now? Something defined somewhere else far, far away. If you have a competent IDE you'll know almost instantly what type it is, if you still swear to random text editor you're screwed.

      Lambdas are neat in that you don't need to clutter everything with a zillion helper functions. I very much prefer lambda LINQ queries for example. But if you're a maintainer and is trying to figure out a call stack well anonymous is anonymous, if you're used to finding a semi-logical function name with lambdas you're stuck looking at the implementation to know WTF it's doing. If code is written by the kid who thinks that everything should be a lambda, I have no doubt you can get frustrated.

      --
      Live today, because you never know what tomorrow brings
    16. Re:Too complex for new users by angel'o'sphere · · Score: 1

      The main effect of lambdas, however, is to hide data types, so that weak developers don't actually know what interfaces and data types they are using.
      That is nonsense. You pass lambdas as arguments to functions. And the datatype of the parameter is clearly given in the functions/methods parameter list.

      So, doubling down on stupid, they introduce "var", so those weak developers really don't have to know what types they're using. That is nonsense, too. On the right side of the 'var a = ' part the type is clearly written by instanciating an object of that type :P

      Students new to programming can no longer start with a current version of Java - the changes in Java 9/10/11 have made things just too complex for new users. I have rolled back to Java 8 for the moment. I have spoken with a number of other college level Java instructors, all of whom feel the same way.
      That is a pita indeed!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    17. Re:Too complex for new users by angel'o'sphere · · Score: 1

      In Java it looks more or less simply exact the same ... -> than => and thats it.
      It is just grumpy idiots complaining (sorry if that includes the college professor above)

      Heck when we used IntellJ with Java 7, it displayed complicated anonymous classes as text in lambda style.

      Or is this something about Java culture?
      Probably. Everyone who is not programming in Java is bitching about Java. And meanwhile all Java developers are so insecure that they believe: there must be something true with that bitching :P

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    18. Re:Too complex for new users by Heir+Of+The+Mess · · Score: 1

      I do a bit of programming teaching and I can sympathize with your problem of what language to choose.

      One thing that helps is having a language with a decent REPL. Python has this, and I've had some success getting people going in Python. I miss the days of LOGO where you could get 6 year olds to get the cursor to draw around the screen. JavaScript was something I considered, but I'm reluctant because of how many oddities there are in the language, e.g. let vs var, for(var x in y) vs for(var x of y), == vs ===, and stuff like that.

      One question? Have you tried C#? it's an excellent language, now quite superior to Java, but I'm unsure about using as a teaching language. What other languages have you tried?

      --
      Australian running a company that does C# / C++ / Java / SQL / Python / Mathematica
    19. Re:Too complex for new users by pauljlucas · · Score: 1

      The long term question will be: what language do we teach in our programming courses?

      If you're teaching programming, use a language like Scheme. You can teach the entire syntax in 5 minutes or less. Then you can get to actually teaching programming.

      A university is not a vocational school. It's not your job to teach what's popular.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
    20. Re: Too complex for new users by Anonymous Coward · · Score: 0

      I think you're right in that it is a bad first language. For complete beginners. Yet still for someone who wants to create useful software, it's a powerful thing to learn, and helps you advance quickly into abstract programming. It's the power of c++ made easy.

    21. Re:Too complex for new users by Anonymous Coward · · Score: 0

      clojure, which is a lisp that runs on the jvm. It even has a repl.

    22. Re:Too complex for new users by urusan · · Score: 1

      What to teach depends on your end goal.

      If you want to teach a practical language that your grads can immediately use in practice, and want it to also work with Java: teach Kotlin. The (Android) mobile space has gone this way, and Kotlin works (more or less) seamlessly with Java, so it's becoming more and more popular in the enterprise as well. I think it will eventually supplant Java as the most popular JVM language, beating out competitors like the more academic Scala.

      If you want to teach a practical language that your grads can immediately use in practice, and don't care about it being on the JVM: teach Python. There's many good reasons it's becoming more and more popular as a first programming language. As an added bonus, you can later teach them C and have Python and C work together.

      If you care more about concepts than immediate practicality, then I'd suggest Julia. It's a practical and high performance language with some key language features you won't find in other languages outside of Lisp. It also works great with C. That said, there's not too many Julia jobs around, though I think it'll grow in popularity over time, and it's actually pretty similar to other languages, so it'd be easy for a student who knows Julia to pick up Java, C, Python, etc.

    23. Re:Too complex for new users by Anonymous Coward · · Score: 0

      Well, we tried LOGO for our latest enterprise app, but the turtle just couldn't keep up with the stream going into our data lake.

    24. Re:Too complex for new users by phantomfive · · Score: 1

      Project Jigsaw, was it really necessary? Maybe, but I'm not entirely convinced.

      It was not necessary, and your prior two comments were exactly correct.

      --
      "First they came for the slanderers and i said nothing."
    25. Re:Too complex for new users by phantomfive · · Score: 1

      var d = SomeClass.foo();

      This kind of code can be extremely annoying.

      I very much prefer lambda LINQ queries for example.

      LINQ is quite beautiful and I wish more people knew about it. Being able to write SQL straight in the code is sweeter than sugar. People do very confusing and strange things with it, though.

      --
      "First they came for the slanderers and i said nothing."
    26. Re:Too complex for new users by thegarbz · · Score: 1

      When your language is no longer being taught in schools, well, that's the beginning of the end.

      Define no longer being taught. Everything you said was right so far as Java is no longer a suitable option for Introduction to Object Oriented Programming. That doesn't mean it's no longer being taught, it means it's not longer being taught to first year students.

      I just checked my old university. I learnt Java (involuntarily, I'm not a software engineer) in CS1001 which is a first year first semester subject in any computer related degree and an elective in other degrees. That course has moved to CO2001 (second year first semester subject), and all other Java subjects still very much being taught in the CO7 and CS7 series which means they are specific 3rd / 4th year courses depending on which major you take.

      It's still very much being taught it's just not longer a good language to teach basic concepts.

    27. Re:Too complex for new users by Anonymous Coward · · Score: 0

      "I find lambda expressions infuriating. I've done Java for a long time, sticking to the original OO paradigm."

      An OO Java? Sounds cool. Was that a pre-release prototype or something?

  22. this needs to be said by Anonymous Coward · · Score: 0

    Java is NOT better than any other language. Microsoft proved that with C#, which started out as a lame Java version that now surpasses Java in MANY ways. As for the JVM: write once and run away.

    1. Re: this needs to be said by Anonymous Coward · · Score: 0

      I use both day to day and whilst the C# syntax is nicer, with much less in the way of open source libraries and modern features like attribute (annotation) aspect support (preferring retro method naming conventions to support it) reminds my why it'll never best Java in the Enterprise space. Port modern Spring (not that bust ass old C# port), the Apache libs, the test frameworks other than nunit etc and run it on Linux and OSX and you've got yourself a winner.

    2. Re:this needs to be said by Anonymous Coward · · Score: 0

      Java is NOT better than any other language. Microsoft proved that with C#, which started out as a lame Java version that now surpasses Java in MANY ways. As for the JVM: write once and run away.

      You lost just about everyone at "Microsoft proved..."

      Given the level of maturity you've demonstrated, you probably meant "Microsoft pooped..."

    3. Re:this needs to be said by Cederic · · Score: 1

      Hmm, C# was designed by an expert language designer that looked at Java, kept the good bits and improved elements of the rest.

      The main things he did wrong were allowing direct memory access, and allowing his employer to cripple the deployment environment.

      Apart from that C# was a bloody good language from the outset. I'm not sure I'd say it was better than Java but Java's gone downhill substantially since then.

  23. So, what you are saying is that... by mschaffer · · Score: 0

    ...Java is the new COBOL.

  24. Breakage unacceptable by WaffleMonster · · Score: 1

    My personal view is asking the world to change their ways because you are too lazy to provide a proper mechanism for managing change is unacceptable.

    The argument often peddled is of the unfalsifiable objective evidence challenged variety which asserts progress / improvement necessitates breakage or some sob story about how dealing with old crap slows down development or requires too many resources.

    I don't share this view. Managing complexity is what programming is all about. Having a long term robust workable plan to manage change and maintain compatibility has ever increasing value in a world of growing user base, dependency trees and maturing technology.

    If you have problems it's not because everyone else doesn't want to waste their time on unnecessary hoops it's because you failed fundamentally to design your systems to accommodate change.

    1. Re:Breakage unacceptable by WaffleMonster · · Score: 1

      Sure, programming is all about managing complexity, and it's possible to scale up to systems which can deal with extremely complex requirements of legacy customers and very old APIs and hardware and all that. But all of those considerations come with costs attached. Costs in time, money, resources of all kinds.

      This is an unfalsifiable concept. Everything costs something. I hear these arguments all the time. They don't communicate any objectively useful information.

      So where are these resources going to come from and how shall they be justified?

      It provides value to users.

      It is easy for customers, or users, or devs to sit back and demand a quality product that meets all our needs, that's delivered on time, that's well-supported, and doesn't cost US an arm and a leg, but those are all held in tension, and in the Real World, you simply can't have all four at the same time, so prepare to make some trade-offs and compromises.

      Demanding isn't the issue. Delivering is. If you can't someone else will. As technology matures and dependencies skyrocket the appetite for customers tolerating change without commensurate provision of value will continue to trend down. Find a way to deal with it or someone else will.

  25. Breaking a POS language by Anonymous Coward · · Score: 0

    So, your language was too much of a POS, so you tried to "improve it" by breaking it, in the hope that people will keep using it...

  26. .NET vs .NET Core breakage too by Anonymous Coward · · Score: 0

    Feeling the pain with the breakage and incompatibility between .net Framework and .net core.

    Feeling the pain with .net Core long term support versions only being supported for 3 years.

    Microsoft is forcing all of our .net Core solutions to have a major release every 3 years once LTS version is unsupported.

    Then can't do it with the database server SQL Server, customers would revolt. Why is it OK to force a major release on customers every 3 years?

    My group has 4 major systems to develop all on .net. If we have to do a major release if each of them every 3 years just to get to the latest .net Core LTS version, where will be the time to actually add business functionality?

    Oh yea, vendor says you have the source, it's open source so you are all good if you want to run on the old version for 5 more years. Unlikely my team gets any time and budget to 'learn' the open sourced framework and 'fix' it to work for our systems. Don't have the time to read a million lines of framework code, build my own version, test it and .....

    1. Re:.NET vs .NET Core breakage too by Anonymous Coward · · Score: 0

      Step 4 : Joomla.

    2. Re: .NET vs .NET Core breakage too by illiac_1962 · · Score: 1

      The work you are doing now to fix your shitty code will not have to be done again. Framework allowed people to write shitty windows dependent code,. Net Standard leads you away from those bad habits of coding to a specific OS or language implementation. The tripe about redoing your software every three years is absolute garbage. Not true. Reading your post, it is no wonder you are having issues. Most framework code can be recompiled on core without issue. Just do what Microsoft's says and you will be good. They are doing you a favor, trust me.

    3. Re:.NET vs .NET Core breakage too by Anonymous Coward · · Score: 0

      This is advanced stupidity. I went from Core 1.1 to 2.0 to 2.1 to 2.2 in codebases with tens of thousands of lines of code, and the only changes I ever had to make was with experimental asp stuff in my startup methods ("Warning: X been deprecated and may be removed soon, use Y instead, for more info blah blah MSDN blah blah"). Maybe half an hour per port with changes, and there were no changes from 2.1 to 2.2.
      For all my library code, which runs on dotnet standard. I went from 1 to 1.3 to 1.6 to 2.0 with zero (0) changes. Zero! And I was even able to port most libraries (the ones which don't depend on Windows specific functionality) from Fx 4.5 to standard 1.3 no problem.
      It's been buttery smooth sailing. If the compiler compiles it, it works perfectly. I can't imagine the nightmare of a codebase you must have to be running into any issues beyond minor annoyances.

  27. Oracle Marketing Dream world by michaelcole · · Score: 1

    "The reason is that Java is 20-something years old. It will probably be big and popular in another 20 years. We have to think 20 years ahead." No other technology works that way - unless you have a monopoly or licensing lock-in.

    1. Re:Oracle Marketing Dream world by sjames · · Score: 2

      It's probably worth Oracle considering that it's 20 years old because up until Oracle, it was somewhat open and didn't try to make you rewrite everything to please the new version.

      But since they're Oracle, they'll blame someone else when the new version tanks.

  28. The real problem... by ilsaloving · · Score: 3, Interesting

    The real problem, and this is a problem that many newly created languages and systems have decided to happily and neglegently copy, is the fact that Java was the first language to merge it's grammar and it's libraries under a single banner.

    It was an idiotic idea then, and it's an idiotic idea now. Because of this one core terrible decision, backwards compatibility is now a nightmare for literally anything that follows this ridiculous paradigm.

    With C/C++, there is the core language. Because of that modularity, each can be updated independently of the other unless the core language introduces a breaking change. Which it generally doesn't, because the people overseeing C still have the ethics required to put their target audience first before their own personal convenience.

    1. Re:The real problem... by Areyoukiddingme · · Score: 1

      With C/C++, there is the core language. Because of that modularity, each can be updated independently of the other unless the core language introduces a breaking change. Which it generally doesn't, because the people overseeing C still have the ethics required to put their target audience first before their own personal convenience.

      The people overseeing C still have the required ethics. The people overseeing C++ have created std::initializer_list and the camel's nose is now inside the tent.

  29. Write Once, Run Sometimes , Somewhere by Anonymous Coward · · Score: 0

    Write Once, run on the correct version of the JVM, with the correct libraries, with the correct patches, with the right OS, if the stars align, and the correct sacrifices are made.

    Java solves all the problems all you need is:

    -At least a 3Ghz CPU, with at least 4 cores
    -At least 16GB of RAM
    -At least 20Gb of disk space
    -At least 3 different versions of the JVM, and compatibility libraries
    -A little bit of patience

    "Hello World" compiles and runs in just MINUTES on the configuration above.

  30. Microsoft did it the correct way by turp182 · · Score: 1

    Rather than break the .Net Framework, they created .Net Core (which is cross platform). Both are being extended separately and in different functional directions (with a growing shared functionality referred to as .NetStandard).

    Here's a nice summary of this situation:
    https://stackify.com/net-core-...

    Further, Visual Studio Code and Community aren't Eclipse...

    --
    BlameBillCosby.com
  31. Legacy code ... by Anonymous Coward · · Score: 0

    but many developers are stuck on the five-year-old Java 8

    One of the ways this is going to bite people is legacy code ... we recently had to update from Java 7 stuff to Java 8 due to known security issues, and there was always the fear it would break something.

    Pretty much you can find yourself with an older app you can't replace, which relies on an older Java ... and then you are screwed.

    I'm starting to say "Wait, that runs on Java? Then no, we can't install it" because I now consider Java to be a poisoned environment -- especially with Oracle following their usual douche-y progression and saying you don't get updates without a support contract.

    OK, fine, Java is dead to me, apps written in Java are verboten in my professional lide, and Java is simply going to die on the vine from a combination of bit-rot of older apps, and now being in the hands of assholes.

    Java is dying because of Oracle, so the sooner you get away from it the better.

    Me, if I see some component someone wants to install which relies on Java, I pretty much will loudly say "totally unsupportable in the long run, too much risk to install".

    Fuck you, Oracle.

  32. Java 10 by DrStrangluv · · Score: 1

    They should have named it "Java 10", to signify a greater jump, and to avoid breaking changes with all of code out in the wild that looks for "Java 98" to indicate the old version.

  33. Even Oracle Doesn't Want You Downloading Java 9+ by rsmith-mac · · Score: 3, Interesting

    I'm not surprised that Java 9 and later is seeing limited traction, especially since you still have to jump through hoops to download the JRE for Java 9 or later.

    If you actually go to Oracle's Java.com runtime download site, they suggest the latest version of Java 8.

  34. Re:Even Oracle Doesn't Want You Downloading Java 9 by Anonymous Coward · · Score: 0

    You could download the latest OpenJDK 8 or OpenJDK 11 from adoptopenjdk.net both are LTS (long term support) versions.

    This is assuming you don't want to pay for commercial support.

  35. "Billions of lines of code" by gavron · · Score: 1

    Java doesn't have "billions of lines of code" and worse yet, anyone attempting
    to use that as justification for "something" needs to be replaced by a real software developer.

    E

    1. Re:"Billions of lines of code" by Anonymous Coward · · Score: 0

      Java doesn't have "billions of lines of code"

      No, it has billions and billions of lines of code.

    2. Re:"Billions of lines of code" by UnknowingFool · · Score: 1

      Considering how he was talking about how Java 9 changes broke 3rd party code, it seems logical he’s talking about everything built on Java and not Java itself. And yes that would be billions of lines.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    3. Re:"Billions of lines of code" by UnknowingFool · · Score: 1

      If he’s talking about code written in Java (specifically how Java 9 changes broke legacy code), then he’s right. Also he’s not using it as a justification. He’s saying it was an unfortunate side effect of the changes. It’s not new in the software world where a major revision will break things.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  36. Sure by Anonymous Coward · · Score: 0

    That is why all important stuff is still done in C, C++ and Ada.

    Corporate beancounting is done in Java, true.

    1. Re:Sure by DickBreath · · Score: 1

      Corporations are optimizing for Dollars not for cpu cycles and bytes. Java is way more economical than C and C++.

      A long time ago, in a galaxy far, far away . . .

      CPUs were very expensive. It would take the annual salary and benefits of a good sized team of programmers to buy a CPU.

      Today one developer's salary + benefits for a single month can buy a sweet box. And a very sweet box for two months worth.

      Programmers are now the expensive resource. Not machines.

      A Java programmer can ask for more memory and get it, because they can work at a higher abstract level and beat their C/C++ programmer to market, and laugh all the way to the bank. I know it is sad that we're not focused on saving every possible byte and cpu cycle. But that's the real economics. A business person would laugh at your argument. It's not the 1980s any more where every cycle / byte mattered.

      --

      I'll see your senator, and I'll raise you two judges.
    2. Re:Sure by Anonymous Coward · · Score: 0

      Today one developer's salary + benefits for a single month can buy a sweet box

      If you were developing code to sell the aeronautics industry then improving the code execution times by 1% would likely save each of your clients enough to buy a 'sweet box' each month. But you might have 100 clients. So even if 10% that improvement for your clients is captured as company value for the vendor that certainly beats just one 'sweet box' a month.

    3. Re:Sure by DickBreath · · Score: 1

      That is a perfect example of why there is no single programming language that is prefect for everything. If there were, we would all already be using it.

      So why should people bash Java because they work in an area where Java might not be the best choice? Obviously Java is heavily and widely used, so there must be SOME reason for that. And the fact that it tops job boards for years in a row. I'm not saying everyone has to like Java. Just quit making up crap. If it were so horrible it would not be used.

      --

      I'll see your senator, and I'll raise you two judges.
    4. Re:Sure by Anonymous Coward · · Score: 0

      Yeah, and that's how you end up with companies like Snapchat that spend HALF A BILLION DOLLARS A YEAR on cloud services.

      A programmer is more expensive than one CPU but much cheaper than a datacenter.

      Fun fact - Amazon initially had the same problem - years and years ago they kept trying to build their way out of performance deficits and this was killing them financially, so eventually they had to stop, regroup and re-code things smarter.

      Maybe (probably) Java is the right choice because it is fast on the server and it supports modern concepts like Unicode which C does not but this idea that performance problems can be ignored because programmers are cheaper is idiotic.

    5. Re:Sure by DickBreath · · Score: 1

      You don't need a datacenter unless you need to scale up significantly.

      You can google and youtube for it but . . . in 2012 Twitter rewrote from Ruby On Rails to Java. You should listen to their reasons why. They went to Java because they needed to handle a billion tweets per day. Each one has to be routed to phones, email addresses, and other things in near real time. Yes, they need a datacenter, but not because they use Java. They use Java because it was MORE efficient. It is in fact much more efficient. That's why it is number one. The people who are using it and spending significant money on it are not stupid as apparently you are.

      --

      I'll see your senator, and I'll raise you two judges.
  37. Confusion = audit opportunities and fines! by Fencepost · · Score: 2

    I can't help but feel that Oracle has gone out of its way to make the whole end of life for Java 8 and changes in licensing going forward as complex and confusing as possible, and given that it's Oracle I have to feel like it's intentional - probably in hopes of being able to extract usage fees from any commercial users who keep installing updates.

    --
    fencepost
    just a little off
  38. Just switched back from JDK 11 to JDK 8 by reiscw · · Score: 2

    I've had a lot of issues with the post-8 versions of the Oracle JDK. I'm a high school teacher and a graduate student in computer science. In classes at my university, we've been using it a lot because databases are my area of focus. Last semester we were pretty much working with relational databases, and we used Java to write web applications using Spring. This semester we are working with NoSQL databases. I spent a couple of hours last week trying to get HBase working with JDK 11, and found quickly that the message in a lot of forums is "don't bother trying, you're doomed." Since I don't really want two installations of the JDK on my machine, I reverted back to JDK 8.

    At school, our gradebook application is actually written in Java. You could run it from a terminal or command prompt (I use Linux, Mac, and Windows at school) with a "javaws launchGradeBook.jnlp" command (and it really ran the same in all three environments). In Java 11, javaws isn't around anymore, so that doesn't work. There's a workaround for our gradebook, but it's still annoying because I do a lot of my grading of student work from the command line. In Linux this isn't a huge deal because OpenJDK also supplies javaws, but in Windows/Mac it's a pain.

    The biggest annoyance, though, is that the java-package package (which supplies the make-jpkg command) in Debian (and Debian derivatives) still doesn't apparently work on post-8 versions. Don't get me wrong, I use OpenJDK too, but I've had some issues with it and I like to have the Oracle JDK around as a deb file I can install.

    1. Re:Just switched back from JDK 11 to JDK 8 by urusan · · Score: 1

      Oracle changed their licensing recently, you really need to look into it:
      https://java.com/en/download/r...
      https://www.oracle.com/technet...

      Also, OpenJDK is now open source releases of the Oracle JDK except without the Oracle enterprise support.

    2. Re:Just switched back from JDK 11 to JDK 8 by Anonymous Coward · · Score: 0

      I find https://sdkman.io/ quite nice when I want to quickly switch between Java versions.

  39. Easy answer by Anonymous Coward · · Score: 0

    Q: Why use lambdas? A: You give a name to something when it has proven important enough to give a name to.

    Lambda expressions are awesome and a long overdue language feature.

    That neither you nor the PP understand this means you have something new to learn. Go for it.

    1. Re:Easy answer by WaffleMonster · · Score: 1

      Q: Why use lambdas? A: You give a name to something when it has proven important enough to give a name to.

      This isn't a reason it's utter gibberish.

      Lambda expressions are awesome and a long overdue language feature.
      That neither you nor the PP understand this means you have something new to learn. Go for it.

      Lambda expressions are crack for undisciplined lazy coders.

    2. Re:Easy answer by hazardPPP · · Score: 1

      Q: Why use lambdas? A: You give a name to something when it has proven important enough to give a name to.

      Er, I can always give a name to something in Java. Without lambda expressions.

      I'm not talking about lambda expressions in general. I'm talking about them in Java. They're fucking up the established language paradigm. If someone wants to write in a functional language, let them go write in something other than Java. There are plenty of functional programming languages out there. Leave my OO Java code alone.

    3. Re:Easy answer by tepples · · Score: 1

      What is the procedure for devising a meaningful name for those methods that have not yet "proven important enough to give a name to"?

    4. Re:Easy answer by Anonymous Coward · · Score: 0

      Same AC here...

      Er, I can always give a name to something in Java. Without lambda expressions.

      That's not my point. Almost the opposite, in fact. The point is that you don't have to invent a name if you have lambda expressions. Naming things is costly and each name you don't need is a win.

      I'm not talking about lambda expressions in general. I'm talking about them in Java. They're fucking up the established language paradigm.

      Why are lambdas OK in other languages but not Java? I see them as a win in every language they exist in. I want them in more languages (even C). They are an absolute win and have no drawbacks. (Causing swearing in grumpy programmers is not a drawback that I recognise.)

      If someone wants to write in a functional language, let them go write in something other than Java. There are plenty of functional programming languages out there. Leave my OO Java code alone.

      Oh, you have some sort of anti-FP thing going on. Any code that can be easily expressed in FP terms is an improvement over OO style code. FP is not the enemy. It is a useful technique with many advantages. The disadvantages generally only turn up when you meet an FP zealot who won't accept any non-FP code at all. That's hardly what's going on in Java though. It's more that Java is catching up with some of the features of Scala.

  40. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  41. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  42. Re:Even Oracle Doesn't Want You Downloading Java 9 by Anonymous Coward · · Score: 0

    That link is very old. I have always used Oracle Technology Network (OTN) for Java downloads from Oracle: https://www.oracle.com/technetwork/java/javase/overview/index.html where Java 11 is very much recommended. All extremely large companies with very large web presence have a lot of old sub-sections in web sites.
    And now the OpenJDK as supplied by Oracle is usually recommended. See this article.
    http://www.javamagazine.mozaicreader.com/NovemberDecember2018/Default/52/0/4097901 for easy understanding, and this one for a more complex treatment.
    https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244

  43. Re:Even Oracle Doesn't Want You Downloading Java 9 by Anonymous Coward · · Score: 1

    The licensing changes are a problem.

  44. Faster by manu0601 · · Score: 1

    the language and platform is evolving faster than ever

    The point is that it would be nice if the language and platform could actually run faster.

  45. javaws was also removed by Anonymous Coward · · Score: 0

    I have lots of legacy apps out there that still use Java Web Start. I believe it was removed in 10+ but I'm still sticking with 8 for those apps.

  46. out of touch with c# by Anonymous Coward · · Score: 0

    You do realize that C# runs on Linux and OSX. For f*ck sake, OSX has a Visual Studio (not just Visual Code). Also, since Java has started withering on the vine there has been many open source libraries for C# and .NET being developed. Even Microsoft has started to do this.

  47. Rewrite by Anonymous Coward · · Score: 0

    With the amount of time required to massage apps to use java 9, if we're going to make that effort we'll rewrite in something else.

  48. Food for thought by Anonymous Coward · · Score: 0

    You realize that the java work India is doing is for 'merkin companies right? India just supplies a demand, a demand created by 'merka and its use of java.

  49. Yes, new java did break things. by Jastiv · · Score: 1

    I still havn't fixed the javaeditor for Wograld yet although it should be easy to do. It worked under java 8, and now under java 11, its all messed up. They changed something about how types work so everything has to have a type, even if it is just a wildcard.

  50. No JWS by Anonymous Coward · · Score: 0

    No Java Web Start - no reason to use Java.

    Want smart clients - use Android?

  51. Re:Even Oracle Doesn't Want You Downloading Java 9 by Anonymous Coward · · Score: 0

    Oh really, I just run

    dnf install java-11-openjdk.x86_64 java-11-openjdk-devel.x86_64

    and it's installed

  52. License woes by Anonymous Coward · · Score: 0

    Oracle's license changes make using anything newer than 8 a headache.

  53. Re:It will probably be big and popular in another by Anonymous Coward · · Score: 0

    I really like Java, but finally got fed up. The inclusion of JavaFX was very convenient (if you wanted OpenGL support, just download the Oracle JRE). Oracle incorporated JavaFX for a number of years but have now removed it from the JRE and pushed it to the open source community. So, now the convenience is gone.

    In the near future, Swing and AWT are supposed to get pushed to the open source community and no longer be part of "Java". Evolution will decide what sticks around (I imagine Swing and AWT are not at risk, but JavaFX will probably die off since most of it is crap compared to Swing aside from the inclusion of built in "OpenGL" support). Great, so lets go back to 1997'ish, pre Java 1.2 (if I remember), and now I need to download extra libraries to run an application that, for more than two decades, only required the JRE.

    I get it - Oracle is focusing on their bread and butter - the back-end. Shit, I really liked Java, but I've decided to drop it and only use it when necessary to support an existing infrastructure. I'm just not going to support new development with it and will find other shit to work on.

    Luckily, C++ has evolved over the years and can be a very pleasant language to program in. I always hated it until the C++ 11 standard. Now I actually like it.

    I don't get the Pythong rage. The only positive thing I can say about that language is it has some nice libraries for presenting data. Otherwise, it seems like a waste of time.

  54. Would you like to install Java today? by Anonymous Coward · · Score: 0

    Lot's of glowy words. Now all we need to figure out is why Java (any version) will not install on Windows 7 x64? Admin or otherwise.

    1. Re:Would you like to install Java today? by DickBreath · · Score: 1

      Java is pretty dang simple to install onto Windows. Maybe you're getting your Java from the wrong place? Java is so easy to install onto Windows that even a PHB could do it -- I think.

      --

      I'll see your senator, and I'll raise you two judges.
  55. We will do it live by Anonymous Coward · · Score: 0

    I am a Java programmer. I have moved on to Haskell for personal projects and Python for office projects.

  56. True since Java 1.4! by Anonymous Coward · · Score: 0

    Maybe earlier. There were game breaking changes in every major revision of Java after 1.4. Some resulted in code not running at all, others in changed object dependencies which lead to inconsistent results, still others silently produced the wrong results, sometimes deep inside of code nobody understood anymore.

    End result: Java versions that are insecure and less featureful are STILL IN USE TODAY because Java didn't live up to its write once run anyways Mantra, and the only safe way to run it is on a PC with every revision installed as a different runtime environment with all package dependencies companies to that exact version. Something that is almost impossible to achieve without running very specific versions on each version of the JRE/JDK.

    Much like DotNet, it has failed at one it was supposed to do, in large part due to the object orientation making cascade changes that result in ABI and sometimes even API incompatible code.

  57. What influences Java's popularity? by SpaghettiPattern · · Score: 1

    Think about why Java's "still around" for a minute. It probably serves a purpose or two. IMHO Java's purposes are pretty banal but valid nevertheless.

    Java's main purpose lies in openness. As in you can't get strong armed by one player. The second purpose is in Java's type safety. Application programmers won't screw up badly. And so, you can setup an organization with a handful of programmers that actually know what they do and a huge load of application programmers with families, mortgages and lives.

    Java's success also has to do with being first to market with the mentioned traits. Don't what would have happened if today's languages would have been around 20 - 25 years ago. But Java still develops and would still be a serious contender in such an hypothetical case.

    So Java is the new Cobol. That's being said since the turn of the century and that's pretty much true. With deep pockets and employing huge amounts of programmers, finance influences language popularity massively.

    To me, Java is good enough but I don't sell my soul to it. I keep my core code -which contains my unique data structures and algorithms- well away from anything else. Thus minimizing dependency on anything external.
    Recently I -somewhat reluctantly- moved from Java 8 to Java 10/11 and I merely had to update a few dependencies. I also had a few test classes using reflection that started show warnings which I had to deal with to completely clean up my code.

    I look at other languages respectfully. I see them serving purposes, changing our way of thinking and simply having fun. We're standing on the shoulders of giants but we still are at the beginning of our quest.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  58. For a certain definition of 'dying' by DrYak · · Score: 1

    https://jaxenter.com/java-slippery-slope-downward-trend-133843.html

    ( ^- FTFY )

    If you define 'dying' as 'it's not what most of the new hip project a born with',
    yes under that very strict and very precise definition, Java is dying.

    A long time ago (e.g.: right about the time Java was migrated into a cross-platform thing for PDAs and feature-phone, and was still taught at the university), it was popular to use it when you wanted to build something cross-platform, an app that runs on both PC and Mac (and Linux) (think all the GUI that where written for server-mode clones of e-Donkey, etc), a portable game that runs on multiple pocket devices (<-that why Android was born among Java).

    Nowadays, most new hip things tend to be started in Python (currently starting to overtake the previous JavaScript/node.js over popular thing)

    But in General ?
    No.
    Java is headed the same direction as COBOL before it.
    It used to be popular a long time ago, now business have giant legacy codebases they are reliant on, and in the business world, those code bases are going to be maintained for at least the next couple of decade.
    ( ^- which is also why Oracle is thinking about modularity and long term maintainability)

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  59. There's a Java 9? by sabbede · · Score: 1
    Could have fooled me. I just now went to Java.com, and what did I find? 1.8.202.

    Did they expect developers to update to 9 without end users having a version 9 JRE?

  60. Yep, still on 8 by Anonymous Coward · · Score: 0

    9 was a trainwreck from a dev perspective. It's going to take a major effort to recode around the stuff it broke on the projects I work on. With Oracle now changing the licensing too, it may be the right time to just leave Java behind and recode for a new platform instead.

  61. COBOL by Anonymous Coward · · Score: 0

    In direct contrast I recently compiled quite a few COBOL programs that were last amended sometime in 1979 (an old school project for a stock control system that I recently recovered from floppies) I used the GNU COBOL compiler and there were zero compilation errors and no refactoring work required. The program then ran as expected.

    In contrast you'll be lucky to compile a piece of Java that was written 6 months ago without work.

    There's a reason COBOL isn't going anywhere soon.

  62. My current take on the status of java. by Anonymous Coward · · Score: 0

    I'm still learning and reading the book on java 1.0 chapter 1!

    So I'll get there someday to the latest and greatest, since before I knew it there was java 2.0 and now this new fangled Java 9.0...
    I'm waiting on the new and improved version java 10.0, so to get prepared for it and be ahead of the game since Im outdated, I bought the java 10.0 book that was out there before I realized it was a misprint/renamed and was really java 1.0. So the java versioning is just one big recursive loop...from what I have already read in chapter 1 of my new book, but then again that was what my old book said too! :)

  63. Uni-as-votech is to fill a job fair by tepples · · Score: 1

    A university is not a vocational school. It's not your job to teach what's popular.

    Employers expect recent graduates to have both university knowledge and vocational school knowledge. They'll choose to hire at job fairs at universities that give both kinds of knowledge over those that don't prepare students for work.

    1. Re:Uni-as-votech is to fill a job fair by pauljlucas · · Score: 1

      Employers expect recent graduates to have both university knowledge and vocational school knowledge.

      Obviously, this varies widely by employer. Better companies like to hire smart people knowing theyâ(TM)ll fairly easily be able to pick up whatever language is being used.

      They'll choose to hire at job fairs at universities that give both kinds of knowledge over those that don't prepare students for work.

      This also varies widely by university. At places like MIT, CMU, Stanford, Berkeley, CalTech, etc., companies want to hire anyone since they were obviously smart enough to get into those places in the first place.

      --
      If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
  64. Re:Even Oracle Doesn't Want You Downloading Java 9 by tepples · · Score: 1

    Based on the transition of commercial use of Java 8 to a pay model, I think Oracle wants home and small business users to use OpenJDK builds of the JRE.