What is Java 8 and what are its top alternatives?
Top Alternatives to Java 8
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them. ...
The Guava project contains several of Google's core libraries that we rely on in our Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. ...
A library for composing asynchronous and event-based programs by using observable sequences for the Java VM. ...
It is a modern server-side Java template engine for both web and standalone environments. It is aimed at creating elegant web code while adding powerful features and retaining prototyping abilities. ...
It tailors your application for GraalVM and HotSpot. Amazingly fast boot time, incredibly low RSS memory (not just heap size!) offering near instant scale up and high density memory utilization in container orchestration platforms like Kubernetes. We use a technique we call compile time boot. ...
It is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more. ...
It is used for building component-based user interfaces for web applications and was formalized as a standard through the Java Community ...
It is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. It eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. It can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records. ...
Java 8 alternatives & related posts
- Static typing187
- Scala is fun170
- Actor library88
- Solve functional problems84
- Open source83
- Solve concurrency in a safer way80
- It makes me a better engineer17
- Syntactic sugar15
- Type safety10
- First-class functions10
- Interactive REPL9
- Implicit parameters6
- Case classes6
- Rapid and Safe Development using Functional Programming4
- JVM, OOP and Functional programming, and static typing4
- Used by Twitter4
- Functional Proframming3
- Beautiful Code2
- Growing Community2
- Rich Static Types System and great Concurrency support1
- Naturally enforce high code quality1
- Mill build tool1
- Akka Streams1
- Reactive Streams1
- Easy embedded DSLs1
- Freedom to choose the right tools for a job0
- Slow compilation time9
- Multiple ropes and styles to hang your self5
- Too few developers available3
- Complicated subtyping3
- My coworkers using scala are racist against other stuff1
related Scala posts
I am new to Apache Spark and Scala both. I am basically a Java developer and have around 10 years of experience in Java.
I wish to work on some Machine learning or AI tech stacks. Please assist me in the tech stack and help make a clear Road Map. Any feedback is welcome.
Technologies apart from Scala and Spark are also welcome. Please note that the tools should be relevant to Machine Learning or Artificial Intelligence.
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!
- Interface Driven API5
- Easy to setup1
related guava posts
- Reactive Libraries as per Reactive Manifesto1
related RxJava posts
- Its delicous1
related Thymeleaf posts
I need some advice to choose an engine for generation web pages from the Spring Boot app. Which technology is the best solution today? 1) JSP + JSTL 2) Apache FreeMarker 3) Thymeleaf Or you can suggest even other perspective tools. I am using Spring Boot, Spring Web, Spring Data, Spring Security, PostgreSQL, Apache Tomcat in my project. I have already tried to generate pages using jsp, jstl, and it went well. However, I had huge problems via carrying already created static pages, to jsp format, because of syntax. Thanks.
- Open source7
- Integrated with GraalVM7
- Fast startup6
- Low memory footprint6
- Produce native code5
- AOT compilation4
- Hot Reload3
- Boilerplate code when using Reflection1
related Quarkus posts
We use Quarkus with native compilation in GraalVM for our global REST-API "Charon", that can be used by every developer to request user, server and game-data (protected through OAuth2). Quarkus offers a reliable framework, library and stack for high-quality APIs and integrates Vert.x into its core.
GraalVM pushes the performance boundaries even further with the ability to perform ahead-of-time native compilation so we can reach an incredible small memory-footprint and fast bootup-times that we need for our microservices architecture.
related Lombok posts
- Rich and comprehensive Request Life-cycle1
- Very Mature UI framework1
- Server Side component1