Alternatives to Java 8 logo

Alternatives to Java 8

Scala, RxJava, guava, Thymeleaf, and JSF are the most popular alternatives and competitors to Java 8.
259
208
+ 1
0

What is Java 8 and what are its top alternatives?

It is a revolutionary release of the world鈥檚 no 1 development platform. It includes a huge upgrade to the Java programming model and a coordinated evolution of the JVM, Java language, and libraries. Java 8 includes features for productivity, ease of use, improved polyglot programming, security and improved performance.
Java 8 is a tool in the Java Tools category of a tech stack.

Top Alternatives of Java 8

Java 8 alternatives & related posts

Scala logo

Scala

4.1K
3.2K
1.5K
4.1K
3.2K
+ 1
1.5K
A pure-bred object-oriented language that runs on the JVM
Scala logo
Scala
VS
Java 8 logo
Java 8

related Scala posts

Marc Bollinger
Marc Bollinger
Infra & Data Eng Manager at Thumbtack | 4 upvotes 233.3K views
atLumosityLumosity
Node.js
Node.js
Ruby
Ruby
Kafka
Kafka
Scala
Scala
Apache Storm
Apache Storm
Heron
Heron
Redis
Redis
Pulsar
Pulsar

Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

To find out more, read our 2017 engineering blog post about the migration!

See more
Tobias Widmer
Tobias Widmer
CTO at Onedot | 4 upvotes 88.2K views
atOnedotOnedot
React
React
Redux
Redux
Scala
Scala
TypeScript
TypeScript
Cassandra
Cassandra
Apache Spark
Apache Spark
Amazon S3
Amazon S3
Blueprint
Blueprint
npm
npm

Onedot is building an automated data preparation service using probabilistic and statistical methods including artificial intelligence (AI). From the beginning, having a stable foundation while at the same time being able to iterate quickly was very important to us. Due to the nature of compute workloads we face, the decision for a functional programming paradigm and a scalable cluster model was a no-brainer. We started playing with Apache Spark very early on, when the platform was still in its infancy. As a storage backend, we first used Cassandra, but found out that it was not the optimal choice for our workloads (lots of rather smallish datasets, data pipelines with considerable complexity, etc.). In the end, we migrated dataset storage to Amazon S3 which proved to be much more adequate to our case. In the frontend, we bet on more traditional frameworks like React/Redux.js, Blueprint and a number of common npm packages of our universe. Because of the very positive experience with Scala (in particular the ability to write things very expressively, use immutability across the board, etc.) we settled with TypeScript in the frontend. In our opinion, a very good decision. Nowadays, transpiling is a common thing, so we thought why not introduce the same type-safety and mathematical rigour to the user interface?

See more
RxJava logo

RxJava

147
76
0
147
76
+ 1
0
Reactive Extensions for the JVM
RxJava logo
RxJava
VS
Java 8 logo
Java 8
guava logo

guava

121
104
4
121
104
+ 1
4
Google Core Libraries for Java 6+
guava logo
guava
VS
Java 8 logo
Java 8
Thymeleaf logo

Thymeleaf

68
67
2
68
67
+ 1
2
A template engine for Java
Thymeleaf logo
Thymeleaf
VS
Java 8 logo
Java 8
JSF logo

JSF

67
55
0
67
55
+ 1
0
It is used for building component-based web interfaces
    Be the first to leave a pro
    JSF logo
    JSF
    VS
    Java 8 logo
    Java 8
    Lombok logo

    Lombok

    61
    26
    0
    61
    26
    + 1
    0
    Get rid of boilerplate code, Spice up your java
      Be the first to leave a pro
      Lombok logo
      Lombok
      VS
      Java 8 logo
      Java 8
      MyBatis logo

      MyBatis

      50
      36
      2
      50
      36
      + 1
      2
      SQL Mapper Framework for Java
      MyBatis logo
      MyBatis
      VS
      Java 8 logo
      Java 8
      Jackson logo

      Jackson

      48
      24
      0
      48
      24
      + 1
      0
      A suite of data-processing tools for Java
        Be the first to leave a pro
        Jackson logo
        Jackson
        VS
        Java 8 logo
        Java 8