LLVM is the unsung hero of all new programming languages. Rust, Kotlin, Swift, Zig wouldn't exist without it.
Discussion
Go would still exist though
I'd take JavaScript over all those put together.
JavaScript is awesome for anyone not building mission critical software.
Is programming language the prerequisite for mission critical software or skill issue?
Both. Would you have coded BitcoinCore in JavaScript?
Imagine the mess of trying to validate the chain with full byte-parity on all JavaScript VM implementations before each release.
There is a reason JavaScript most code only works on either Chrome or Node these days...
🤣
True. Go sucks though.
nostr:nprofile1qqsyeqqz27jc32pgf8gynqtu90d2mxztykj94k0kmttxu37nk3lrktcpzemhxue69uhk6mr9dd6juun9v9k8jtnvdakz7qg4waehxw309a6x2um59eex2ctv0yhxcmmv9uq3kamnwvaz7tm5dpjkvmmjv4ehgtnwdaehgu339e3k7mf0f6aqk5 nostr:nprofile1qqsdlumwtmnqqdqnhzn2yc2azuftg57z380wq47fp62pds7tme2n7gsppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qgnwaehxw309ahkvenrdpskjm3wwp6kytcjt2gde
yep, go is written in go
i was learning how to write compilers in my early 20s using bison/flex and such, and in the book i was working from it explains the bootstrapping process, once you have a compiler written in the language it compiles, you have a compiler that can compile itself and who cares about complicated generic tools when you already invented the best language anyway
Kotlin?? Kotlin native?
Yep, Kotlin has been compiling to native using LLVM for a while. It seems to work pretty well.
Kids don't listen to the creepy old man above ^^.
Kotlin exists just fine without LLVM. Per default it compiles to Java bytecode whereas LLVM compiles to machine code.
There is no "default" compiler in Kotlin. You have to pick a compiler based on your target binary type. The JVM-stack is just the older one.
The older one, yes and as far as I can see from my vantage point also the stack of choice for at least 90% of commerical and community projects.
From the 5 use case presented here https://kotlinlang.org/docs/getting-started.html#console only half of one (cross-platform iOS) needs native.
That makes it "default".
And that also means without LLVM Kotlin would not just technically function just fine, the community/industry would continue to exist just fine.
It's true that most of Kotlin usage is for the JVM. But Multiplatform is changing that. In the last 3 years JVM-based code became a massive drawback to any Kotlin app, triggering massive rewrites in the most used Java codebases.
I know people in health care, for instance, that are currently migrating massive amounts of EHR code (10s of millions of lines of code) into Kotlin just because of native.
Kotlin was born out of spite for Java. And that is still true today. It only got to exist because of Android's preference for Kotlin. But that wasn't enough to establish itself. Since 2018, when Jetbrains introduced the idea of Native with LLVM, the entire ecosystem got 10xed to become a real language (instead of just another JVM flavor, like groovy).
The LLVM turned Kotlin from a fringe flavor language to a real one.