Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Oracle Java Programming

Oracle Celebrates 'The 25 Greatest Java Apps Ever Written' (oracle.com) 121

Oracle's Java magazine is celebrating the 25th anniversary of the programming language with a list of the 25 greatest Java apps ever written: From space exploration to genomics, from reverse compilers to robotic controllers, Java is at the heart of today's world. Here are a few of the countless Java apps that stand out from the crowd.

The story of Java began in 1991, at a time when Sun Microsystems sought to extend their lead in the computer workstation market into the burgeoning personal electronics market. Little did anyone know that the programming language Sun was about to create would democratize computing, inspire a worldwide community, and become the platform for an enduring software development ecosystem of languages, runtime platforms, SDKs, open source projects, and lots and lots of tools. After a few years of secret development led by James Gosling, Sun released the landmark "write once, run anywhere" Java platform in 1995, refocusing it beyond its original design for interactive television to applications for the burgeoning World Wide Web. By the turn of the century, Java was animating everything from smartcards to space vehicles.

Today, millions of developers program in Java. Although Java continues to evolve at an ever-faster pace, on the occasion of the platform's 25th anniversary, Java Magazine decided to take a look back at how Java molded our planet. What follows is a list of the 25 most ingenious and influential Java apps ever written, from Wikipedia Search to the US National Security Agency's Ghidra. The scope of these applications runs the gamut: space exploration, video games, machine learning, genomics, automotive, cybersecurity, and more.

The list includes Eclipse, Minecraft, the Maestro Mars Rover controller, and "VisibleTesla," the open source app created by an automobile enthusiast to monitor and control his Tesla Model S.
This discussion has been archived. No new comments can be posted.

Oracle Celebrates 'The 25 Greatest Java Apps Ever Written'

Comments Filter:
  • Office Suites (Score:5, Interesting)

    by BladeMelbourne ( 518866 ) on Sunday June 28, 2020 @06:13PM (#60239610)

    I'm surprised OpenOffice/LibreOffice isn't mentioned.

    I'm unsure how much is C++ vs Java, and they are not related to space or science, but still important imho.

    • Isn't is the case that only the database component requires a JVM? Or did they remove even that since the switch from HSQLDB to embedded Firebird?
      • No, the entire scripting was and I think is Java-based. Think the VBA equivalent. Java instead of Basic.
        I think that makes the formulas in Calc Java too, but I'm Not Sure [youtu.be].

        • It always had its own Basic implementation. The component system (UNO) the Basic implementation controls is C++-based. To my understanding you only need Java in OOo/LO if you want either Java or Javascript (via Rhino) to control those components instead of Basic.
        • BTW I've just checked an installation of LibreOffice on a system without Java installed. The scripting engine seems to be working, even if it complains about needing Java for some features.
    • Re:Office Suites (Score:5, Informative)

      by demon driver ( 1046738 ) on Sunday June 28, 2020 @11:42PM (#60240478) Journal

      OpenOffice/LibreOffice is not a Java application, it's mostly just the database component that needs Java. That said, some time around the year 2000, there used to be a pure Java version of its predecessor StarOffice, then still with Sun, that was designed with a client/server architecture that distributed work between the client PC and the server. On the screen, it looked just like StarOffice, it was fast, and I've even seen it running on OS/2 back then. For some time it used to be deployed by a German internet company for their business customers as an online office suite, the client portion of which ran as an applet in the browser, quite similar to what Collabora Office does today. That gem of software engineering never became generally available, though. And as much as I'd like to blame Oracle there, I'm not sure whether it was Oracle or whether it was already at Sun where it quietly and completely disappeared.

    • by DrXym ( 126579 )
      Open/LibreOffice was cobbled together from all kinds of components into a Franken-Office. They needed a database so they strapped on a JRE to use HSQLDB. There are bits of Java, Mozilla, and Python all in there plus the usual support libs - xml, openssl, i18n etc. The Java stuff was mostly just because it was easier to get from an existing Java lib than write from scratch.

      But Java has been removed as a dependency of LibreOffice but it will detect and use it at runtime for some peripheral stuff like JDBC /

      • by DrXym ( 126579 )
        "back in the day", not data. And the Borland (IIRC) Office I'm thinking of was a pure Java implementation which never left beta and came out about the same time as other Java based atrocities like Marimba Castanet.
  • by AlanObject ( 3603453 ) on Sunday June 28, 2020 @06:18PM (#60239624)

    Are we going to get a Java-Is-Dead posting in this thread? Remember it isn't a Java thread in /. unless we do.

    Personally I never thought Java was going to go as far as it has when I first learned of it. But if Sun had managed to monetize it they never would have gone out of business.

    • I've done both C++ and Java and, given the choice, Java every time. C++ has just gotten too complicated.

      That said, I mostly write device drivers and kernel stuff. As Java has neither pointers nor direct memory references, it's a non-starter in that space. But I somehow suspect most Java programmers are perfectly happy not knowing what a pointer is, nor what a direct memory reference is. Let alone a chip's internal register set.
      • Maybe you mean COBOL programmers? Java effectively has pointers almost everywhere, just like Smalltalk, Scheme, Lisp...
        • by sfcat ( 872532 )

          Maybe you mean COBOL programmers? Java effectively has pointers almost everywhere, just like Smalltalk, Scheme, Lisp...

          Java has references, not pointers. Pointers can be manipulated, references can't. Also, LISP has no pointers and neither does Scheme. I don't remember if Smalltalk did or not. Do you mean JNI or something?

          • What I mean is OOPs [pdx.edu], which are universal in Smalltalk, copied almost exactly into Java except for the nine primitive types, and in Lisp and Scheme they're used for non-immediate values. Not sure what you mean by "pointers can be manipulated". Things that *can't* be manipulated would be kind of useless as data.
            • Well,

              Java:

              SomeObject one = new SomeObject();

              one ++; // syntax error

              C++:
              AnotherObjet *two = new AnotherObject(); // see the "*" ? explicit declaration of a pointer

              two ++; // advance pointer to next object ....

              You have no clue about pointers ....

              • by Cederic ( 9623 )

                Moving to Java I missed pointer arithmetic.

                It was a reasonable sacrifice. The simpler code made everything else much easier and there weren't any pointers for everybody else to fuck up.

                • Of course!

                  But my main reason was: it was portable, especially GUI and Internet and threading.

                  I loved C++ - but Java simply beat it.

              • And your point is...? What, that Alan Kay (a Turing Award recipient) and his pals (recipeints of other major major computing awards) were clueless about pointers? Just because they weren't provincial C hackers or something?
                • The point is: Java has no pointers.

                  Claiming a reference and a pointer is the same: is simply wrong.

                  • Uhhh. Java language spec literally says that reference values are pointers to objects.

                    Obviously you'd be correct in your claim if you were saying that C++ references are not C++ pointers (since C++ references are notably NOT defined to be pointers to objects), but I didn't even mention C++ since C++ is a whole different can of worms.

                    • A c++ reference is a "constant pointer".

                      And on calling side for functions you can omit the "&" character.

                      Compiled to machine code a pointer and a reference (C++) are the same like a reference in Java.

                    • A c++ reference is a "constant pointer".

                      Uh, what? No, it's an alias to an existing object! (In the C++ sense of "object", or course.) There's zero requirement for it to be a pointer. For example, where's the pointer in int a{42}; int& b{a};? There isn't any! Any reference to b will compile into the same indexed load from the same stack frame as a reference to a, without any pointers in the way.

                      On the other hand, there IS a 100% requirement for EVERY Java reference value to be an object pointer, without it the language wouldn't work at all.

          • Sorry, that was eight primitive types, of course...
    • by phantomfive ( 622387 ) on Sunday June 28, 2020 @06:43PM (#60239662) Journal

      Are we going to get a Java-Is-Dead posting in this thread?

      I started working on a project to replace all of Java with Rust which is a superior language, but then I recently found Haskell, which is clearly the best language all you noobs, I just can't print anything but it's ok because there's no mutable state (except sometimes).

    • What does Stackoverflow say about it? Because we know if SO says a language is popular, it must be so.

    • Re: (Score:2, Interesting)

      by fermion ( 181285 )
      Java, like Flash, served a critical purpose back when the intertubes were new. It was a very clever implementation, and the code was good, but it just became overwhelmed with security and other issues. It is like watching TV while you drive. Very convenient, but most auto manufactures to not include that ability native in their LCD driver displays.

      I don't even consider Java implementation when I spec out apps to use on the web. There is just going to be too many people who can't run it. HTML 5 seems

      • You're talking about running code under the Java Virtual Machine on the desktop, and that's pretty rare anymore due to all the desktop vulnerabilities that introduced. Most Java is primarily run server-side nowadays, where is is still very popular.
        • Comment removed (Score:4, Insightful)

          by account_deleted ( 4530225 ) on Sunday June 28, 2020 @11:52PM (#60240490)
          Comment removed based on user account deletion
        • No, most Java is Android apps!

          People always forget that Android is
          Linux kernel + mostly Java userspace.

          • Yeah, having zero devices running Android and not being a developer for for it I totally forgot about it. But my original remark was toward the guy talking about running old school Java applets in browsers back in the day.
          • Yup. It's pretty ironic the place where Java has been more successful (at least if you measure it by number of users) is in an implementation not blessed by the original manufacturer (Sun/Oracle). I don't follow Android development closely but I think these days Kotlin is emphasized instead of Java.
        • Java Virtual Machine on the desktop, and that's pretty rare anymore due to all the desktop vulnerabilities that introduced.
          It is absolutely not rare.

          And the vulnerabilities mostly where/are in the browser plugin. How should a Java app on a desktop have any exploitable vulnerabilities if they are not intentionally build in by the programmer?

      • That's kind of ironic, because deploying Java applications is now easier than it's ever been.
        • by fermion ( 181285 )
          Java was primarily created to make coding and deployment easy. The accessibility to the average person is why it is such a good product for teaching coding., It's ease of deployment is why so many corporate interests like it. Like Pascal, it's popularity it tied it's use as a learning language. In the 1970's and 1980's, anyone who was just learning coding for fun learned Pascal. It peaked in the 1980's. As a production language, like Java, it was not so great.
    • If Sun had tried to monetize it the way Oracle is now, it would have died a decade ago. I've made my living for the past several year writing Java. If I can make more money doing that, I will, but I'm thankful that it's not the only language I'm comfortable with.

      It just happened to be the buzz-word language many companies were most familiar with in the web app space. With this new cost, hopefully I can stop using it, and use something less tainted-by-Oracle again.

    • by Waffle Iron ( 339739 ) on Sunday June 28, 2020 @08:06PM (#60239880)

      Are we going to get a Java-Is-Dead posting in this thread?

      Java's not dead.

      It just seems that way because it used up all the memory, and the system has become unresponsive.

    • But if Sun had managed to monetize it they never would have gone out of business.

      They might still have, but perhaps they would have also blessed us all by taking Java with them to the grave.

    • Are we going to get a Java-Is-Dead posting in this thread?

      Java isn't dead, its value is grossly underrated by this linked article. The beauty of Java isn't in the "greatest java apps ever written", that's just stupid, because much better high performance apps have been written in other languages. I mean just compare the technical sophistication of say Roblox compared to Minecraft. No the thing that Java is the champion of is the apps that are mind-numbing to write, the sorts of stuff that would make a high

      • by Cederic ( 9623 )

        compare the technical sophistication of say Roblox compared to Minecraft

        Ah, Roblox, with a game engine written in C++, microservices written in C#, its database written in Java, analytics written in Python and every single team in the company picking their favourite technology to use.

        Technical mess, not sophistication.

        the thing that Java is the champion of is the apps that are mind-numbing to write, the sorts of stuff that would make a highly talented programmer cry

        That's an interesting way to describe the sort of application where the outcome matters more than the technology, where speed of delivery matters more than performance, where maintainability matters more than developer egos.

        You know, the sort of job you lack the s

        • Roblox, with a game engine written in C++, microservices written in C#, its database written in Java, analytics written in Python

          You forgot the main feature which is game logic written in LUA. Your generic project delivery arguments I mostly agree with except delivery time vs performance, I think both have equal weight. The ad hominem sign off was totally justified, I bow to the superior skills of Java programmers, us programmers of other languages are just simple minded folk.

          • by Cederic ( 9623 )

            I bow to the superior skills of Java programmers, us programmers of other languages are just simple minded folk.

            Thus kind of proving my point.

            Good software engineers are good software engineers in any language. I've been a big fan of Java and I've put working software into production in at least eleven languages (and dabbled with a few others).

    • Java is not completely dead yet.
      But Oracle is actively working to kill it by asking for royalties.
      Use it, pay for it -> people move to python.

    • But if Sun had managed to monetize it they never would have gone out of business.
      Sun went out of business because of the dot com bubble crash,
      They sold a lot of hardware to internet companies on credit, which went out of business - SUN never got the money.

      Then their shares dropped to $4 something. And Oracle thought it s a cheap buy. Technically: they actually never went out of business - they got bought.

    • Also, the oblig. post with someone confusing java and JavaScript...

    • Are we going to get a Java-Is-Dead posting in this thread?

      Right after we get the item on "the 25 best ever guilded turds".

    • Java app number one. The Java uninstaller. [java.com]
  • I know for sure (Score:5, Insightful)

    by JustAnotherOldGuy ( 4145623 ) on Sunday June 28, 2020 @06:30PM (#60239648) Journal

    I know for sure that Confluence by Atlassian won't ever be on this list.

    • Darn, I've had to use that more than any of these others (sad head lowering)
    • Atlassian must have an amazing sales team, because somehow they survive when far superior products have been around for over a decade.
      • It's lock-in. They got in early and then made it very difficult to switch to anything else. You can't even highlight text without a plugin and the plugin is expensive beyond all reason.

        In short: It's shit software that costs a ton and is still stuck in the 90s feature-wise.

    • by Kaeleku ( 540168 )
      I actually really like Confluence ... why the hate?
    • If Eclipse can make the list, anything can.
      • Comment removed based on user account deletion
        • And that doesn't make it an insanely bloated hyper-enterprisey nightmare?
          You must be a consultant! ;)

          RAD used to be fun when Delphi did it.

          Nowadays, I mostly generate my UIs right from the (data / session state) model (e.g. SQL DD) as I do the scripting interface and things like dbus and file system structure.
          GUI widgets need to die a firey death, together with non-tiling windowing, one-pointer input, desktops, and anything that is not trivially scriptable or not a file.

        • Last used it earlier this year. It was still a pain in the ass to work with.
    • Yeah, I was expecting a bunch of fart apps.

    • The Java Update Tool thingy that installs itself on windows and mac also won't make the list.

      The Java Update tool made the following changes:
          * Installed an updated Java Update Tool

      (and yeah, I know it's not written in Java, but it's still a PoS)

  • by alw53 ( 702722 ) on Sunday June 28, 2020 @06:48PM (#60239682)
    Changing quickly is not anything to brag about.
  • There must have been some sort of mistake, my first ever application written in JAVA in 2008 is not on this list.
  • A ranking of the 25 greatest Java apps ever written. Way to go, damning them with faint praise.

  • Look -- Squirrel!!

    There's no top-25 Java anything. It's just an attempt at a distraction. Those who accept it and argue about what SHOULD and SHOULD NOT be on "the list" are missing the point. There's no list except what they made up... to distract you.

    Oracle's dogged pursuit of APIs as copyright-protected code will destroy the software industry as we know it.
    Larry Ellison is a sociopath, and he gets a thrill out of "messing" with other people -- the bigger, the better.

    Stop begging the question -- nobody

  • Apps (Score:2, Insightful)

    by mydn ( 195771 )
    "Apps". Jesus Fuckin' Christ.
    • I find the term quite acceptable since I realized it is always a pejorative, used to deliberately highlight the distinction between them and proper programs (as in: tools).

      "Apps" is the term for monolythic non-scriptable non-combinable mostly one-trick-pony GUI programs.
      They are as harmful as they are stupid.

      There's an app for everything because there HAS to be an app for every permutation of functionality, because you cannot just glue small tools (that do one thing and do it right) together as there is no

      • If it is in Java, it is basically always scriptable.
        Does it run on a Mac, it is basically also always scriptable.

  • by Locutus ( 9039 ) on Sunday June 28, 2020 @11:11PM (#60240408)
    and like others not mentioned.. They were NOT mentioned and are still under development unlike some which were listed.

    Sweet Home 3D is a free interior design application
    that helps you draw the plan of your house, arrange furniture on it and visit the results in 3D.
    http://www.sweethome3d.com/

    Art of Illusion is a free, open source 3D modelling and rendering studio. Many of its capabilities rival those found in commercial programs. Highlights include subdivision surface based modelling tools, skeleton based animation, and a graphical language for designing procedural textures and materials.
    http://www.artofillusion.org/

    Any other Java based applications people like and are still using?

    LoB
    • I always liked Netbeans better than Eclipse. But it's on the list. Sadly, it stopped receiving corporate support and due to that it's practically dead.
      I mean, it's opensource and there's some volunteers developing it but it'll never be enough to be competitive with other, bigger, better-sponsored, IDEs.
  • Not Jitsi Meet. The original Jitsi, from a time when people still used brains, and it was popular too [youtu.be].

    And I forgot what that mldonkey GUI was called that got me through the 2000s... But it was as essential as a browser.

    Also, Eclipse should be in the anti-list to this. I've never seen a more bloated enterprisey trainwreck in my life, and I used to work with Lotus Notes. :)

    • Eclipse is an IDE, supporting many languages and has thousands of plugins.

      It does what it is supposed to do. No one forces you to install any "bloat plugins".

      Not liking it, is ok. But talking bad about it, neglecting its many many superb features is just brain dead.

      • Eclipse served me will during my J2EE and PHP dev days. Sure it's not as nice as JetBrains' offerings, but for a free IDE I found it to be pretty gd good.
  • People always forget that Android's user space and apps are almost completely Java . . .

    Remember how slow those first smartphone CPUs were? Yet, the flashy UI was 60fps smooth and responsive.
    I bet she even wrote that list on an Android tablet.

    Yeah, not so slow and bloated now, is it?

    • Android has its own VM and uses a different bytecode than standard JVMs. Hence it was faster and snappier than "standard Java".

  • by thegarbz ( 1787294 ) on Monday June 29, 2020 @04:44AM (#60241078)

    No. JUST NO! Why did you have to bring this up. I've only just forgotten. *sob*. Why now. *sob*.

  • ... debug everywhere!
  • I'm surprised at the lack of runescape on that list.
  • by UnknownSoldier ( 67820 ) on Monday June 29, 2020 @09:02AM (#60241754)

    Most people don't give a fuck if C++ or Java was used for their application. All they care about is:

    * Is it stable?
    * Is it fast?
    * Is it easy to use?
    * Is it inexpensive?
    * Is it lean?

  • I knew it was goign to be littered with lies when the very first one said "Java became the first programming language to expand humanity’s planetary reach" (in 2004) .. which is obviously just a big lie. What the heck were previous space probes or vehicles such as Voyager, Lunar Lander, Galileo, Viking etc. written in? Chopped Liver? They all had microprocessors and programs.

You are always doing something marginal when the boss drops by your desk.

Working...