# jetbrains/kotlin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jetbrains-kotlin).**

52,880 stars · 6,332 forks · Kotlin

## Links

- GitHub: https://github.com/JetBrains/kotlin
- Homepage: https://kotlinlang.org
- awesome-repositories: https://awesome-repositories.com/repository/jetbrains-kotlin.md

## Topics

`compiler` `gradle-plugin` `intellij-plugin` `kotlin` `kotlin-library` `maven-plugin` `programming-language` `wasm` `webassembly`

## Description

Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It functions as a cross-platform development toolkit that enables the sharing of business logic across mobile, web, and server-side environments by compiling a unified intermediate representation into platform-specific machine code, bytecode, or source code.

The project distinguishes itself through a multi-target build orchestration model that manages complex compilation units and hierarchical source sets. Developers can define common interface logic that is satisfied by platform-specific implementations through an expected-actual declaration mechanism. This architecture is supported by a native interoperability layer that parses header files to generate bindings, allowing direct communication between managed code and existing C or C++ libraries.

The ecosystem includes comprehensive infrastructure for managing project dependencies, build tasks, and environment isolation. It provides specialized configurations for targeting diverse execution environments, including mobile application development, browser-based deployment, and server-side systems. The build system utilizes an incremental graph to track dependency changes, ensuring efficient compilation across varied hardware and operating systems.

## Tags

### Development Tools & Productivity

- [Multiplatform Project Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/declarative-configuration-frameworks/multiplatform-project-configurations.md) — Centralizes definitions for targets, source sets, and compiler settings to streamline the management of shared and platform-specific code. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Incremental Build Engines](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/build-optimization-engines/incremental-build-engines.md) — Minimizes build times by tracking dependency changes and selectively recompiling only the modified components.
- [Multi-Target Build Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/cross-platform-orchestrators/multi-target-build-orchestrators.md) — Orchestrates complex project structures to compile a single codebase into multiple binary targets for various operating systems.
- [Native Binary Toolchains](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/binary-compilation-toolchains/native-binary-toolchains.md) — Compiles source code into platform-specific native binaries while managing seamless interoperability with low-level system code. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Build Orchestration Models](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/declarative-configuration-frameworks/build-orchestration-models.md) — Provides a configuration model to manage complex compilation units and platform-specific dependencies within a single unified structure.
- [Web Build Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/web-build-configurations.md) — Configures build definitions and environment settings specifically tailored for packaging web-based application assets. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Build Task Runners](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-lifecycle-orchestrators/build-task-runners.md) — Automates build, maintenance, and lifecycle commands to verify project health and readiness throughout the development process. ([source](https://cdn.jsdelivr.net/gh/JetBrains/kotlin@master/README.md))
- [Cross-Platform Toolkits](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/integrated-development-environments-toolchains/development-toolkits/cross-platform-toolkits.md) — Bundles a suite of tools that enable the sharing of business logic across mobile, web, and server-side environments.
- [Compilation Unit Managers](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/build-optimization-engines/compilation-unit-managers.md) — Groups source code into distinct units to handle specialized build requirements and ensure proper association with main project files. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Compiler Configurations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/compiler-configurations.md) — Modifies internal compilation flags and module resolution logic to suit diverse project requirements and target architectures. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Toolchain Managers](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/toolchain-managers.md) — Standardizes the provisioning of build-time dependencies to maintain uniform development environments across distributed teams.

### Programming Languages & Runtimes

- [Compiler Backends](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compiler-backends.md) — Transforms unified intermediate representations into optimized machine code, bytecode, or source code for diverse execution environments.
- [Statically Typed Languages](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/type-systems/type-checking-disciplines/statically-typed-languages.md) — Maintains type safety through rigorous static analysis during compilation to ensure reliable execution across multiple virtual machines and platforms.
- [Foreign Function Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/foreign-function-interfaces.md) — Parses header files to generate language bindings that enable memory-safe communication between managed code and native libraries.
- [Native C Interoperability](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/native-c-interoperability.md) — Integrates existing C and C++ libraries into modern codebases to leverage high-performance native functionality.

### Software Engineering & Architecture

- [Multiplatform Code Sharing](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development/multiplatform-code-sharing.md) — Facilitates architectural patterns that allow common business logic to run seamlessly alongside unique, platform-specific implementations. ([source](https://kotlinlang.org/docs/reference/mpp-share-on-platforms.html))
- [Cross-Platform Development](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-development.md) — Enables developers to write logic once for reuse across mobile, web, and desktop applications, significantly reducing code duplication.
- [Hierarchical Source Sets](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/hierarchical-source-sets.md) — Structures source code into tree-based hierarchies where shared logic is inherited by specific platform modules.
- [Project Organization](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/repository-maintenance/project-organization.md) — Organizes source code into logical, hierarchical structures to manage shared and platform-specific resources effectively. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))

### DevOps & Infrastructure

- [Dependency Scoping](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/dependency-scoping.md) — Restricts the visibility and availability of dependencies to specific project modules to ensure clean, isolated build environments. ([source](https://kotlinlang.org/docs/reference/mpp-supported-platforms.html))
- [Build Execution](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-infrastructure/build-execution.md) — Executes automated scripts to manage dependencies and compile source code into reproducible binaries for multiple target platforms. ([source](https://cdn.jsdelivr.net/gh/JetBrains/kotlin@master/README.md))

### Part of an Awesome List

- [Developer Tools and Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools-and-frameworks.md) — Programming language for modern cross-platform development.
- [Programming Languages](https://awesome-repositories.com/f/awesome-lists/devtools/programming-languages.md) — Statically typed programming language for the JVM and Android.

### Mobile Development

- [Android Libraries](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-libraries.md) — Delivers modular components and reusable code snippets tailored for building high-performance mobile applications.
