We talked with 11 business professionals who have been involved with the Java ecosystem for most, if not all, of their career and asked them about some of the real-world problems being solved by Java.
Specifically we spoke to:
Anthony Kilman, Tech Lead, AppDynamics |Gil Tene, CTO, Azul Systems |Bhartendu Sharma, Vice President of Operations, Chetu |Charles Kendrick, CTO and Chief Architect, Isomorphic Software | Fred Simon, Co-Founder and Chief Architect, JFrog | Ray Auge, Senior Software Architect, Liferay |Michael Hunger, Lead Developer Advocate, Neo Technology |Brandon Allgood, PhD, CTO, Numerate | Dr. Andy Piper, CTO, Push Technology | Jonas Bonér, Founder and CTO, Typesafe | Toomas Rὅmer, CTO and Founder, ZeroTurnaround |
Here’s what they told us:
- Big server side, Big Data, large websites, and it serves as the platform for Twitter. This is where Java shines. IoT, Android mobile platform - you can use the same language for the mobile and big data server side.
- Pre-cloud convergence virtualizing and commodity hardware which evolved into the cloud. Enables you to create a computer network without regard to the software. Ability to create a local environment and then push to where you need to use it. A distributed computing system. Able to become active on AWS much more quickly.
- Java is so well established, there is nowhere it cannot have an impact. It’s even getting into embedded systems. It’s a great software development means to an end, it solves management problems in software development by making it easy to get things done, it’s easy to find developers.
- Java is the safest, most stable enterprise software that can scale. Twitter moved from Ruby to Scala and Java because of scalability, stability and velocity of programming.
- The platform is very efficient dealing with complexity. Able to run on a wide variety of platforms. Java can work with anything capable of running on different hardware platforms.
- Not a substantial shift since 1995. It’s a very stable enterprise software. Only since IoT and mobile are we seeing more/different problems being solved by Java. Java is more long-term oriented and not as appropriate for rapid development. We’re working with a major pizza chain to communicate with their ovens to control temperature, humidity, cooking time and maintenance.
- Two things:
- The library ecosystem of Java and open source. We are participating in the higher quality of those libraries. For years we consumed them and didn’t always contribute back to them. We are doing so now as members of the Eclipse Foundation and Apache giving back wherever we can now. This is mutually beneficial for us as a company and for our developers. We’re pleased to be able to give back and even “pay it forward.”
- OSGi modularity layer for Java. Founded in the late 1990’s by IBM, Sun and others to build modular software. It has been evolving and as the product becomes more complex, it became difficult to navigate the maintenance field and stay nimble. It allows us to develop high-end functionality and export to Java allowing us to push the boundaries.
- Reactive applications empower people to respond in a timely fashion by scaling up and out via the cloud. Resilient systems can be too coarse to get up and running quickly. Reactive applications are elastic and power mission critical industries.
- Java has the biggest code bases at the biggest enterprises. It can be used almost anywhere from IoT to servers - everywhere. Often people don’t see this. They assume all level stuff is written in C or C++. They assume server pages get more attention on the internet like Cobol running financial backends.
- Java powers Android OS, Amazon Kindle as well as enterprise databases and processing high volumes of data (Hadoop and Cassandra are written in Java, Spark is written in Scala, a JVM language). Security, stability, scalability all leverage capabilities of the Java platform (i.e. high-speed trading). Because of its performance, robustness, and ability to run everywhere, you can use Java to develop in Windows or OSX.
- Java is great for server-side use in the enterprise, specifically large-scale, database-oriented systems involving integration between multiple services or platforms, and distributed transactions.
What are some of the real-world problems you see being solved by Java?