Dev tools · alternatives · 2026
24 alternatives to Derive4j – Java8 support for ADTs, pattern matching, and more
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses. - derive4j/derive4j
Derive4j is a Java 8 annotation processor that automatically generates code for algebraic data types, including constructors, pattern matching, folds, optics, and typeclasses. It targets Java developers who want… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Derive4j – Java8 support for ADTs, pattern matching, and more launched in 2015; newer entries below may have overtaken it.
- 1IW
https://www.manning.com/books/data-oriented-programming-in-j... This book is a distillation of everything I’ve learned about what effective development looks like in Java (so far!). It's about how to organize programs around data "as plain data" and the surprisingly benefits that emerge when we do. Programs that are built around the data they manage tend to be simpler, smaller, and significantly easier understand. Java has changed radically over the last several years. It has picked up all kinds of new language features which support data oriented programming (records,…
2024 · its alternatives →
- 2

- 3

🥞Data Structures and Algorithms explained and implemented in JavaScript + eBook - amejiarosario/dsa.js-data-structures-algorithms-javascript
2019 · github.com · its alternatives →
- 4AI
2015 · jsblocks.com · its alternatives →
- 5

Scala-like pattern matching for Java 8. Contribute to johnlcox/motif development by creating an account on GitHub.
2015 · github.com · its alternatives →
- 6

grumpyrest is a Java REST server framework that does not use annotations, automatic dependency injection or reactive streams, and minimizes the use of reflection. I created this because I got fed up with annotation-mad frameworks that you cannot easily understand, step into or reason about. grumpyrest uses the type system to guide JSON mapping and validation, and (possibly virtual) threads for parallelism. It's for grumpy people who don't like what REST server programming in Java has become. I made this because I intend to use it in one of my own projects, but at the same time I want to make…
2023 · github.com · its alternatives →
- 7CD
2012 · scattered-thoughts.net · its alternatives →
- 8

We're building a different kind of JavaScript engine, based on data-oriented design and willingness to try something quite out of left field. This is most concretely visible in our major architectural choices: 1. All data allocated on the JavaScript heap is placed into a type-specific vector. Numbers go into the numbers vector, strings into the strings vector, and so on. 2. All heap references are type-discriminated indexes: A heap number is identified by its discriminant value and the index to which it points to in the numbers vector. 3. Objects are also split up into object kind -specific…
2024 · github.com · its alternatives →
- 9

JAX in pure JavaScript, as a flexible machine learning library and compiler.
Jan 2026 · ss.ekzhang.com · its alternatives →
- 10

A lightweight single-header pattern-matching library for C++17 with macro-free APIs. Try it at https://godbolt.org/z/8YMr8Kz8j
2022 · github.com · its alternatives →
- 11

A fast functional language based on two level type theory - ehatti/peridot
2022 · github.com · its alternatives →
- 12

Optimizer library for tail recursive calls in Java bytecode - Sipkab/jvm-tail-recursion
2020 · github.com · its alternatives →
- 13

Find the origin of any character in the DOM
2019 · fromjs.com · its alternatives →
- 14

Deep learning is a fast-growing field within artificial intelligence, and deep neural networks have seen rapid adoption in recent years. Successes in machine vision, speech recognition and natural language processing show the technology is ripe for adoption by enterprise. Eclipse Deeplearning4j targ
2017 · projects.eclipse.org · its alternatives →
- 15FS
Hi HN! I've been working on the fuse programming language, it's a statically typed purely functional language with higher-kinder types and ad-hoc polymorphism. It compiles to the GRIN whole-program optimizer, producing LLVM-generated native code. Fuse supports ADTs, Generics, Type Methods, Traits, Pattern matching etc. all in a functional style with no mutations. I’ve been developing the language for 5 years, with code written in Scala. I’ve started coding the language from the base of System F that was implemented as part of the book: Types and Programming Languages (tapl). And then…
Aug 2026 · fuselang.org · its alternatives →
- 16

Typed, functional (folds, scans) stream processing backed by Andrew Gallant/burntsushi's regular expressions library. There's a guide here! https://vmchale.github.io/jacinda/
2024 · hackage.haskell.org · its alternatives →
- 17

Hello all To preface this is just something I've been making as a learning exercise, so all feedback is appreciated. This is a tool that converts JSON schemas into TypeScript utility classes for use in Deno. Automatic Type Generation: Typescript interfaces for the compressed and uncompressed versions of your data. Compression & Decompression: Compress and decompress your data. Validation: Built-in data validation using Ajv ensures your data adheres to the schema. Reusability: Once generated, the utility classes can be used in other Deno projects. It currently only supports a subset of JSON…
2023 · github.com · its alternatives →
- 18

Powerful pattern matching for Javascript. Contribute to natefaubion/matches.js development by creating an account on GitHub.
2012 · github.com · its alternatives →
- 19

This is a hobby project of mine that I started a few years ago to learn about programming language implementation. It was created 95% without AI, although a few recent commits include code from Gemini CLI. I started out following Crafting Interpreters, but gradually branched off that until I had almost nothing left in common. Tech stack: Rust, Cranelift (JIT compilation), LALRPOP (parser). Original title: "A small programming language where everything is a value" (edited based on comments)
Jan 2026 · github.com · its alternatives →
- 20

Hi HN, I built a code generator plugin for IntelliJ that uses LLMs to create repetitive Java code like implementations, tests, and fixtures — based on custom natural-language patterns and annotation-based references. Most tools like Copilot or Cursor aim to be general, but fail to produce code that actually fits a project structure or passes tests. So I made something more explicit: define patterns + reference scope, and generate code consistently. In this demo, 400 lines of Java were generated in 20 seconds — and all tests passed: https://www.youtube.com/watch?v=ReBCXKOpW3M…
2025 · github.com · its alternatives →
- 21

With this standalone compiler, you can rely on all Java 11 javac features to be available, even when using newer Java versions. Specifically, this allows you to: - compile code even if your Java environment isn't a full JDK (Java JRE, for example!) - target Java 1.7 for compilation without any warnings or restrictions. - use the Compiler Tree API without resorting to --add-opens trickery that may eventually fail in newer Java releases - build a modified compiler with additional features or custom tweaks I made this after finding that the otherwise superb "jsweet" Java-to-JavaScript…
2023 · github.com · its alternatives →
- 22
- 23

🧩 Shape-Safe Symbolic Differentiation with Algebraic Data Types - breandan/kotlingrad
2021 · github.com · its alternatives →
- 24

Writing SQL using Java syntax. Contribute to braisdom/ObjectiveSql development by creating an account on GitHub.
2020 · github.com · its alternatives →
Also compare
- I Wrote a Book on Java alternatives
- GPT-J alternatives
- Data Structures and Algorithms in JavaScript alternatives
- An Isomorphic JavaScript Framework Faster Than React alternatives
- Motif – Scala-like pattern matching with Java 8 alternatives
- Java REST without annotations, DI nor reactive streams alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →