mrkeyoor.com_
Tue 01 Sept 17:43 UTC
Dev Toolsevaluationupdated 26 Aug 2026

kotlin review

Kotlin is JetBrains' concise, multiplatform programming language and the main repository for its compiler, standard libraries, and supporting build infrastructure. It helps teams share code across JVM, Android, iOS, desktop, web, and native targets while still allowing platform-specific work where needed.

+16stars / 7d
Verdict

Our 19-second install succeeded with 24 npm packages, but there was no build or test target in the measured WASM browser workspace. Use Kotlin when Android, JVM interoperability, or shared multiplatform code is a core requirement and your team can accept a large, sophisticated toolchain. Do not read the easy npm install as evidence that contributing to the 4.26-million-line compiler repository is easy.

We ran it

Lab card: what happened when we ran kotlinScreenshot of kotlin (kotlinlang.org)
Install✓ · 19s24 packages · 12 MB
Buildn/ano build script
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo106970 files~4,256,137 lines of source · 305.2 MB · 0 CI workflows · tests dir

Answers from our run

Does kotlin build from source?

Dependencies installed in 19 seconds (24 packages), and the project has no separate build step. We cloned commit b86f0bf into a clean Debian container with 3 CPUs and no project-specific setup.

Does kotlin have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does kotlin have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use kotlin?

Beginners looking for a small repository to learn compiler internals from

What are the alternatives to kotlin?

OpenJDK, Scala 3, Swift. Our 19-second install succeeded with 24 npm packages, but there was no build or test target in the measured WASM browser workspace.

Setup2/5Small npm leaf installs fast; the full monorepo needs substantial tooling
Docs4/5Clear contributor links and build guidance, with some details split out
Community5/553,351 stars, a same-day push, and broad official channels
Maturity5/5JetBrains-backed language with active releases and multiplatform scope

Discussed on

  1. hnKotlin 1.0 Released: Pragmatic Language for JVM and Android379 points
  2. hnKotlin 1.4225 points
  3. hnKotlin 1.0.5 is here185 points
  4. hnThe Kotlin Language: 1.0 Beta Is Here178 points
  5. hnKotlin 1.1 Released with JavaScript Support, Coroutines and more168 points

Who it’s for

Android teams that want first-class Kotlin language tooling
JVM teams seeking a more concise alternative to Java
Product teams sharing logic or UI across multiple platforms
Compiler and language-tooling contributors prepared for a very large codebase

Who it’s NOT for

Beginners looking for a small repository to learn compiler internals from
Teams expecting the whole project to build from a single lightweight npm command
Projects that need a tiny dependency footprint or quick source builds
Organizations unwilling to manage multiple JDKs, Gradle, and platform-specific toolchains

Setup reality

Our run installed the npm workspace under wasm/wasm.debug.browsers/ successfully in 19 seconds, adding 24 packages and using 12 MB, but it found no build or test script, so both stages were skipped. That is much narrower than building Kotlin itself: the README directs contributors to Gradle, can auto-provision required JDKs, warns that initial IntelliJ dependencies are large, and gives separate instructions for Kotlin/Native. Expect a serious monorepo setup, not a 19-second end-to-end compiler build.

Kotlin is a language platform, not a drop-in library

Kotlin is a full programming-language ecosystem maintained by JetBrains and contributors. This repository contains the machinery behind the language, not a small package an application developer casually embeds. Its remit includes the compiler, standard-library work, Gradle integration, tests, and platform-specific components. The practical promise is concise code with JVM interoperability plus a path to share business logic, and sometimes UI, across Android, iOS, desktop, web, and native targets. That breadth explains both Kotlin's appeal and the intimidating shape of its source tree.

The project has 53,351 GitHub stars, dates back to 2012, and was pushed on August 26, 2026, the day of this review. Its latest listed release is v2.4.10 from July 14, 2026. Those are much stronger health signals than a star count alone: the repository is old enough to have institutional weight, yet current development is plainly active. Kotlin also points users toward an official site, getting-started material, API references, a playground, a forum, Slack, YouTube, a blog, and a dedicated issue tracker.

Our run installed one small workspace, not the compiler

We cloned commit b86f0bf into our unprivileged Debian sandbox with 3 CPUs and 8 GB of RAM. The checkout held 106,970 files, about 4,256,137 lines of source, and occupied 305.2 MB. Our automation identified an npm project at wasm/wasm.debug.browsers/. Installing that workspace succeeded in 19 seconds, produced 24 packages, and consumed 12 MB on disk. The npm audit reported 0 known vulnerabilities across all severities.

There was no npm build script or target in that workspace, so our build stage was skipped. The same was true for tests: a tests directory existed, but there was no npm test script or target for our runner to invoke. We therefore measured no compiler build and no passing test count. The scan also found 0 CI workflow files and no Dockerfile. These are observations from our box, not claims that Kotlin lacks CI or tests; the README links to TeamCity and documents several Gradle test tasks.

The contributor path is explicit but heavyweight

The README gives Unix, macOS, and Windows entry points through the Gradle wrapper, then names useful tasks such as dist, install, coreLibsTest, gradlePluginTest, and compilerTest. It explains that Gradle toolchains select and auto-provision required JDKs from Eclipse Adoptium, while experienced contributors can instead supply JDKs through environment variables. That is unusually concrete for a compiler repository. Windows users also get a warning about long paths, and Kotlin/Native contributors are directed to a separate README rather than being handed a misleading universal recipe.

The cost appears on the first configuration. Kotlin says intellij-core and idea-full downloads are large and documents 60,000 ms socket and connection timeout settings for slow links. Dependency verification checks MD5 and SHA-256 hashes, with a supplied script for regenerating metadata when a build change genuinely requires it. These controls are sensible for a mature toolchain, but they add ceremony. A new contributor must understand Gradle, JDK selection, repository-specific tasks, and possibly Maven or native tooling before making useful progress.

Multiplatform reach is the clearest reason to choose it

Kotlin's strongest documented differentiator is the ability to share code across platforms without pretending every platform is identical. The README explicitly presents Kotlin Multiplatform and Compose Multiplatform for Android, iOS, desktop, and web, and links separate guidance for sharing code across all or only similar platforms. For an organization already shipping Android or JVM software, this offers an incremental route: retain native flexibility while consolidating business rules, networking, models, or selected UI layers.

That value does not make every project a good fit. The repository's 4.26 million lines and 408 open issues signal scale, not simplicity. The GitHub metadata supplied to us says the license is unknown, while the README badge identifies Apache License 2.0; a legal review should verify the actual repository files rather than relying on either summary. Documentation is plentiful but distributed across the Kotlin site, JetBrains help, subproject READMEs, TeamCity, and YouTrack. Finding the right layer may take time.

Community health looks strong despite a large issue queue

A same-day push, a v2.4.10 release roughly 6 weeks before this review, and 53,351 stars point to an actively maintained project with substantial adoption. The 408 open issues are not automatically a warning for a language of this scope. They are better read alongside fresh code activity and the project's separate YouTrack workflow. The listed Lobsters discussion about Java and Kotlin intelligence reaching LSP-based editors also suggests interest beyond the traditional IntelliJ audience, though 13 points and 17 comments are only a discussion signal, not proof of product quality.

The public support surface is broad: official learning resources, community chat, a forum, videos, API documentation, and visible TeamCity builds. The source README is contributor-oriented rather than a complete adoption guide. Application teams should begin at kotlinlang.org and their target-platform documentation; compiler contributors should expect the repository instructions to be only the first layer of a larger engineering system.

It belongs at the center of a JVM or multiplatform stack

In a real stack, Kotlin sits above the JDK and alongside Gradle, platform SDKs, and IDE tooling. On Android or server-side JVM projects, it can coexist with Java rather than forcing a wholesale rewrite. For multiplatform products, common modules can hold shared logic while Android, iOS, desktop, and web modules retain platform-specific integrations. Compose Multiplatform can extend sharing into UI, but teams should choose that scope deliberately instead of assuming one interface layer will suit all 4 target families.

The decision is straightforward: choose Kotlin for its ecosystem fit and cross-platform code-sharing model, not because this monorepo is easy to build. Our 19-second npm result proves only that one browser-debug workspace installs cleanly and audits at 0 known vulnerabilities. Teams merely consuming Kotlin can rely on packaged compilers, plugins, and official guides. Teams changing the language itself need serious build capacity, patience for large dependencies, and comfort navigating a mature compiler codebase.

Alternatives

ProjectWhat it isPick it when
OpenJDK gh↗The reference implementation of Java and the JDK.pick this instead when maximum JVM convention, Java compatibility, and minimal language-layer change matter most.
Scala 3A statically typed JVM language with advanced functional and type-system features.pick this instead when expressive functional programming and a richer type system outweigh Kotlin's gentler learning curve.
Swift gh↗Apple-backed language and compiler with strong native-platform roots.pick this instead when Apple platforms are the center of the product and cross-platform JVM compatibility is secondary.
Rust gh↗A systems language focused on memory safety without garbage collection.pick this instead when predictable native performance and low-level control matter more than JVM and Android integration.

What people are saying

  1. [velocity-scout] JetBrains/kotlin
  2. [lobsters] IntelliJ IDEA Goes LSP: Java and Kotlin Intelligence Comes to VS Code, Cursor, and Agentic Flows

Sources

  1. JetBrains/kotlin on GitHub
  2. Kotlin official website

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →