Back to a time when Microsoft was more known for their programming language compilers than video games or cloud computing, it was .NET that unseated COM when it came to building business focused desktop software or web applications. Since then, Microsoft has done a great job at keeping C# up-to-date with modern, emerging trends in computer science.
In more-or-less the same timeframe, Java the programming language was starting to be considered as somewhat legacy but Java the Virtual Machine was experiencing a renaissance with a proliferation of new and innovative programming languages that targeted the JVM. Kotlin quickly rose to the top of the list of Java alternatives.
In this blog, I explore what it is like to develop a feature identical microservice in those two programming languages with their accompanying tech stacks and developer ecosystems. I cover both the developer experience and the performance under load.
type of source | reference link |
---|---|
download | published PDF of the article below |
source code | news feed in C# on ASP.NET |
source code | news feed written in Kotlin on Spring Web-Flux |
intro | C# |
home page | kestrel web server |
home page | entity framework |
home page | visual studio code |
home page | nuget |
home page | .NET Foundation |
intro | JetBrains Rider |
home page | Kotlin |
intro | Spring WebFlux |
intro | Spring Data R2DBC |
intro | Eclipse Temurin |
intro | Amazon Corretto |
download | IntelliJ IDEA CE |
github repo | ktlint |
intro | JaCoCo |
intro | JDK Mission Control |
home page | gradle |
home page | Maven Central |
home page | Project Reactor |
book | The Cathedral and the Bazaar |
Having trouble viewing the embedded document? Feel free to download the PDF for offline viewing.