Glenn Engstrand

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

C# vs Kotlin

Having trouble viewing the embedded document? Feel free to download the PDF for offline viewing.