2 ms·
Personally Kotlin/JVM. Gradle gets the job done, incremental (and concurrent) builds are fast, etc. You can also use just plain Java if you prefer if you really
by jpgvm 4y ago
Personally Kotlin/JVM. Gradle gets the job done, incremental (and concurrent) builds are fast, etc. You can also use just plain Java if you prefer if you really want a very fast compile time.
Arguably Golang is decent here but it's not my cup of tea for other reasons but you do have to admit it has a very fast compiler and the way it's package system works makes for good incremental build support.
.NET has always been very good in this regard.
Rust is a bit slower on the compiler end but it's still very good, incremental support is good etc.
All of these languages can also either produce code that works on all targets (JVM/.NET) or cross-compile natively (Go, Rust). This matters for packaging and deployment as half of devs use MacOS but deployment target is usually Linux and increasingly containers. Being able to construct Docker containers directly from artifacts without needing Dockerfiles is a huge win and all of the above languages support that via one tool or another (Bazel, Jib, etc).
Literally any of these blow TS out of the water for DX, performance and tooling.
Unless you are chained to TS for browser reasons or isomorphic code requirements it's just not worth it on the server.
- davidatbu 4y agoThank you very very much for taking the time to write that out!