When comparing ASP.NET MVC vs Kotlin, the Slant community recommends Kotlin for most people. In the question“What is the best programming language to learn first?”Kotlin is ranked 12th while ASP.NET MVC is ranked 46th. The most important reason people chose Kotlin is:

Since Kotlin is made by Jetbrains (the developers of IntelliJ IDEA) so it stands to reason that the IntelliJ support for Kotlin is also great. Besides that, Kotlin also works well with existing Java tools such as Eclipse, Maven, Gradle, Android Studio, etc...

Pros

Pro

Mature

The framework has many build-in tools, and many packages have been written targeting the framework.

Pro

Cross platform

.Net Core can work on any platform.

Pro

Widely used

It's pretty easy to find a job with it and there's plenty of documentation and tutorials around.

Pro

Fast

Asp.NET Core on Linux is fast accordingly to TechEmpower benchmarks.

Pro

Extensive documentation

There are a lot of resources available to get help.

Pro

Asp.NET core provides balance between magic/agility and craftsmanship

You can get ordinary details quickly but with complete freedom to make your craft, knowing everything that is happening underneath the cloths. The highly modular system makes it possible to scale small applications to large ones with ease.

Pro

It has more users than any other backend web framework

Getting your next contract is easy with this on your CV.

Pro

Great tooling support

Since Kotlin is made by Jetbrains (the developers of IntelliJ IDEA) so it stands to reason that the IntelliJ support for Kotlin is also great. Besides that, Kotlin also works well with existing Java tools such as Eclipse, Maven, Gradle, Android Studio, etc...

Pro

Easy adoption for existing Java programmers

Kotlin runs on the JVM and Java interoperability has been one of the main objectives since the language was born. It runs everywhere Java does; web servers, mobile devices (Android), and desktop applications. It also works with all the major tools in the Java ecosystem like Eclipse, IntelliJ, Maven, Ant, Gradle, Spring Boot, etc.

All of this makes adoption extremely easy even for existing Java projects. On top of this there's also ensured Type safety and less boilerplate code needed.

Pro

Easy to learn if you have prior programming experience

Kotlin's syntax is extremely easy to understand. The language can be picked up in a few hours just by reading the language reference.

Pro

No runtime overhead

The standard library is relatively small and tight. It mostly consists of focused extensions of the Java standard library and as such adds no additional runtime overhead to existing Java projects.

Pro

Officially supported for Android development

Starting with version 3.0 of Android Studio, Kotlin support will be built-in. This means that it's now easier than ever to use Kotlin for existing Android projects or even start writing Android apps only with Kotlin from scratch.

This also means that Kotlin and Kotlin plugins for Android Studio will be fully supported in the future and their likelihood of being abandoned is quite small since Google is fully embracing the language for their Android ecosystem (alongside Java and C++).

Pro

Low-risk adoption for existing Java codebases

Since it has such a good interoperability with Java, Java libraries, and Java tools. It can be adopted for an existing Java codebase at little to no cost. The codebase can be converted from Java to Kotlin little by little without ever disrupting the functionality of the application itself.

Pro

Does not impose a particular philosophy of programming

It's not overly OOP like Java and it does not enforce strict functional paradigms either.

Pro

Is built to solve industrial problems

Kotlin has been designed and built by developers who have an industrial background and not an academic one. As such, it tries to solve issues mostly found in industrial settings. For example, the Kotlin type system helps developers avoid null pointer exceptions. Reasearch languages usually do not have null at all, but APIs and large codebases usually need null.

Ad

Cons

Con

Expensive

You need to have the plate to maintain a site.

Con

Core and full ASP.NET are bit confusing sometimes

While not in feature parity (yet) they are still apart and support sometimes funky combinations of features - full ASP.NET has all the bells and whistles but doesn't offer cross platform so you may have to do some research what you really need. That being said, it got a lot better in 2.0.

Con

May be hard for programmers already used to imperative style to learn functional programming from Kotlin

Since Kotlin does not enforce any particular paradigms and is not purely functional, it can be pretty easy to fall back to imperative programming habits if a programmer comes from an imperative background.

Con

The need for Java interoperability has forced some limitations

The need to make Kotlin interoperable with Java has caused some unintuitive limitations to the language design.

Alternative Products

Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.