August 28, 2020
Download a PDF of this article
It was with a smidge of trepidation that I offered my list of the 25 greatest Java applications, frameworks, platforms, and libraries ever written. After all, developers are a demanding audience. But the article received hundreds of comments on Reddit, Slashdot, Hacker News, and Twitter, and it inspired many letters to the editor. The piece even received happy social media posts from those who made the list, including the US National Security Agency and a.i. solutions.
The US National Security Agency was secretly pleased we noticed its Ghidra binary decompilation tool.
The team from a.i. solutions was happy its DSTE trajectory design tool made the list.
The tenor of conversation was both positive and polite. That speaks volumes about the excellent character of Java developers, don’t you think? But, developers being who they are, opinions on what should have made the list abounded.
The good news is, Java has transformed the world. The bad news is, my list didn’t represent enough of the world beyond the United States. For example, there’s the Java code written to manage the Brazilian Healthcare Information System and the Brazilian tax system (Duke’s Choice Award winner in 2005). There’s also DHIS2, a Java-based national health management information system (in fact, the largest in the world) that helps 72 low- and middle-income countries representing 30% of the world’s population. Its new COVID-19 surveillance package is optimized for mobile use and helps governments track the pandemic in their communities.
Thanks for the memories
Many commenters enjoyed the ramble down memory lane. For example, Peter Van Wazer recalled that in the late 1990s, he was on a team of 20 IBM programmers who wrote Thin Client Manager, which, he said, was “the first large-scale business app written in Java.”
Van Wazer was one of the first to learn Java at IBM’s Rochester, Minnesota, division, home of the AS/400 minicomputer. He coded the thin-client task manager in Java to present a set of interfaces that each task must implement to get and send information to network stations. Errors were caught by the task manager so a runtime failure would not bring down the entire application.
“Sun Microsystems told my manager that the task manager was the first Java framework written and exactly what they had in mind for the Java language,” Van Wazer recalled.
Today, still in Rochester, Van Wazer is a contract Java developer working for the Mayo Clinic.
Developer software for the win
Other than the Brazilian software mentioned above, which was gently pointed out by Java Champion and Microsoft Java Product Manager Bruno Borges, what else was missing from the list of 25 Java greats?
Java Champion Vlad Mihalcea proposed the Hypersistence Optimizer, which helps developers navigate the difficult mapping of Java objects to relational databases via the Java Persistence API or Hibernate (itself a tool that more than one reader felt should have made the list).
Another Twitter commenter said I should have included Cassandra, the Spring Framework, Apache Spark, the Hazelcast open source in-memory data grid, and Apache Kafka. I agree, but I was trying to stick to 25!
Linotte, a Java-based language that teaches programming with code that is entirely in French, popped up in a Twitter thread about my article. That reminded me of VRL-Studio, a Java-based visual programming environment from Java Champion Michael Hoffer, a research scientist at Goethe University in Frankfurt, Germany.
Banking on financial software
On Twitter, a reader pointed out that the thinkorswim desktop trading app was entirely written in Java. I was happy that TD Ameritrade confirmed that fact; indeed, Charles Schwab, which purchased TD Ameritrade in 2019, plans to adopt the thinkorswim software.
Reader Victor Duran suggested a Java app called Swish, which, he said, “made the entire Swedish economy go cashless.” Swish handled 25 billion Swedish krona in May 2020; that’s a little more than 2.8 billion US dollars. According to a company spokesperson, parts of the back end are written in Java.
Games and visualization
There are many Java games to choose from, of course, but I was called out for not including Runescape and Old School Runescape, two popular Java-based applications that entertain millions to this day.
Frequent Java Magazine contributor Ian Darwin wrote that the Java-based CrossFire is one of the top programs in the world for creating crossword puzzles, and it is used by many of the experts who create puzzles for the New York Times, the Washington Post, the Times of London, and other publishers. It even has a custom export format for New York Times puzzle creator Will Shortz, he said. “And it’s cross-platform, of course.”
A Redditor lamented the absence of Jake2, a port of the Quake2 game engine that is no longer maintained. However, the Jake3 web page also links to the Lightweight Java Game Library, which appears to be alive and replete with cross-platform, GPU, and virtual reality bindings such as Vulkan, OpenCL, OpenAL, and LibOVR.
Art of Illusion is a free, open source studio that can do advanced modeling and rendering such as subdivision surface-based modeling, animation from skeletons, and the creation of textures and materials via a graphical language.
One commenter nominated Project Looking Glass. Inactive since 2006, Project Looking Glass was a Sun-sponsored 3D desktop environment first developed by Hideya Kawahara and demonstrated at LinuxWorld Expo 2003 in San Francisco. Looking Glass influenced many aspects of subsequent user interfaces.
Reversible windows in Project Looking Glass
As a commenter pointed out, mobile apps for both WordPress and Telegram are written in Java—and Telegram’s encrypted, self-destruct chat feature makes it one of the most popular apps in the world with more than 400 million active users.
Science and AI applications
In the final category, several researchers at CERN pointed out that some Large Hadron Collider (LHC) software and other data analytics software are written in Java. That includes the LHC Logging Service, which captures and stores the LHC data. As you can see in this 2006 paper, the LHC Logging Service has been using Java for many years.
Reader Mike Tung told us about the company he founded, Diffbot: “We use AI to build the world’s largest autonomous knowledge graph, now exceeding a billion entities and a trillion facts. We run probably one of the largest Java infrastructures, using AI primarily written in Java, on thousands of CPU cores to crawl and analyze the entire web,” Tung explained.
Tung added that the author of the fastest pure Java matrix multiplication library is on the Diffbot team, as well as the creator of a well-known Java-based knowledge graph.
That reminds me of something new from Oracle Labs: The Tribuo machine learning library has tools for classification, regression, and clustering, along with interfaces that let you use scikit-learn and PyTorch in your Java programs.
And there’s one more: Aftab Ahmad wrote, “I am surprised to see nothing regarding human brain data. The 1990s decade was the decade of the brain, besides Java.”
Ahmad is preparing to teach a graduate-level course for engineering students who want to learn Java as their first language. He’s looking for a good API worthy of a substantial research project.
Perhaps one option is a 2013 Duke’s Choice Award winner, the Neuroph Java neural network framework. There’s even a tutorial on how to build an artificial brain with it. Do you know a better option? Let us know!