C# ON SUICIDE WATCH

Give me one good reason you're still using C# or Java instead of the beautiful Russian masterpiece that is Kotlin.

Protip: you can't

have you considered using C++ instead?

Unity

Go away ivan

do you think Kotlin would run on IKVM?

have you considered rust?

Why would I use Rust over Kotlin? I can't compile Rust to JVM or Android.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>he uses phones

I got a business to run.

Kotlin feels like a gimped Scala to me. Explain why you prefer it for me? In case the question is naive, I'll add that I'm only a beginner.

Kotlin feels like Java with 50 layers of runtime checks for every action added.

And if you don't believe me, just look at the Java code it emits. It's fucking dreadful.

Yeah I was looking at the output too. The implementation is definitely bound securely to userland. But what about the language itself? What are your feelings on its design?

I love the logo

Yea I also kinda feel like Kotlin is just a meme

Can't speak for OP. But, Kotlin's goal is to retain 100% interop between Java. So, unlike Scala, you can truly seamless switch between the languages.

Great for migrating old code bases and existing devs from Java/C#.

The language is amazing, it's like an even better C# for the most part.

But seriously, that runtime is cancer. I can't use abstractions that are THAT expensive.

I don't know. To me, it feels a lot more like a safer and cleaner C# that someone put on the JVM.

What in particular do you like about the language?

It is going to be obsolete like in 10-15 years ir not sooner

I need a language that's not just nice, but that also performs well.

Unlike something like Rust that was designed to be statically safe (if it builds, it's probably fine), Kotline uses expensive runtime checks on every fucking function.

Kotlin is an absolute beauty of a language design.

General consensus of this thread seems to be saying the JVM runtime sucks, but given that Kotlin has a multi-target compiler this doesn't really feel like a problem to me

Mostly reified generics

First class C#-style getter/setters

Data classes - no need to override to string, equals, etc

Named parameters - no more wither functions just clone(coolParam = coolNewVal)

Groovy DSL-style builders

Infix notation - see above ^

Null safety

Extension functions

Operator overloading

Better alternative to Javadoc

Type inference

Braceless single-expression functions

Object classes - no need to do a bunch of boiler for singletons

Go-style coroutines without the need to call yourself a gopher

Transpiles to JS surprisingly well

Almost no jobs in my country. There are a few but those all require me to do Java as well.
So C# will have to do for now.

Absolutely love the language. Won't ever come back to java.

>beautiful Russian masterpiece that is Kotlin

JetBrains is a Czech company. They outsourced the Kotlin project to Russia because Russian PhDs in PLT/compilers are cheaper.

Jetbrains is still trying to force its shit? pathetic.

Need C# since everyone at the office uses it.

I'll give you 3
1). It does what I need it to and works, if it aint broke dont fix it
2). Most API's I use use c#. When I want to integrate something, I want to do it based on the features it offers, I dont want to search for an API that will likely be completely irrelevant to what I want to use just so it works with Kotlin or whatever
3). Most important of all, a lot of these niche languages Sup Forums talks about are just that, niche. If I have an issue in c#, I can google it and I can guarantee there'll be a solution. With these niche, small community languages, I cant.

Excuse me have you considered Ceylon?

In my toy language, I use similar type intersection/union semantics. I think this mechanism should be incorporated into Rust.

> I think this mechanism should be incorporated into Rust.

Oh yes... Increase the complexity to become the next clusterfuck.

That's why Java is heavily conservative.

With the Google cosign there won't be a lack of information for long.

>2017
>not using rust lang

>Kotlin is a statically-typed programming language that runs on the Java virtual machine
>Java virtual machine

EL
EM
AYYYYYYY (lmao)
OH

Oh look it's one of those dick waving competition threads.

This. seeSharpoo is actually comfy

> Kotlin feels like a gimped Scala to me
It more or less is that.

Just imagine you have a company with a lot of Java programmers. You see they're wasting too much time with some of Java's syntactically inefficient aspects.

But if you handed them Scala some people would actually use it fully and the rest of the team wouldn't understand or be willing to learn all the newfangled high power Scala stuff. And you'd be stuck enforcing god knows how many code conventions.

Ergo you pick Kotlin, the gimped Scala that very average persons with no particular motivation might easily use instead of Java. That's more or less what this is about.

Scala also is a moving target - they are trying to get *a lot more* right than Java or Kotlin, and it turns out not every attempt at doing something difficult is successful rapidly, so that means many changes.
Keeping Scala codebases updated was so far a high-effort affair. Even if it also has yielded REALLY fantastic tools like sbt and amazing stacks like Spark or Slick or Play and such.

kotlin is an overengineered piece of shit