[Yandex Cloud documentation](../../../index.md) > [Yandex Cloud Functions](../../index.md) > Developing in Kotlin > Overview

# Developing in Kotlin: Overview

With Cloud Functions, you can run applications written in [Kotlin](https://kotlinlang.org/docs/home.html).

#|
|| **Name** | **Kotlin version** | **JVM version** | **Operating system** | **Preloaded** | **Supported by Cloud Functions** ||
|| kotlin20 | 2.0 | 21 | Ubuntu 22.04 LTS | No | Yes ||
|#

You can add an [SDK library](https://github.com/yandex-cloud/java-sdk) to the runtime to work with the Yandex Cloud API. For more info on how to use the SDK, see [Using the SDK](sdk.md).

When creating a function version, the [builder](../../concepts/builder.md) will automatically install all declared dependencies required for the function. To learn more about requirements for declaring dependencies, see [Building and managing Kotlin function dependencies](dependencies.md).

The runtime automatically loads your code and invokes the [request handler](handler.md) you specified. The handler arguments depend on the [Kotlin programming model](model/index.md) you use.

Cloud Functions automatically captures the application's standard output streams and sends them to the centralized logging system in Yandex Cloud. This system also logs entries about the start and end of each function execution, as well as any errors that occur during execution. For more information about the log format, see [Kotlin function execution logging](logging.md).

To learn more about programming in Kotlin or how certain constructs work, we recommend taking [this tour of Kotlin](https://kotlinlang.org/docs/kotlin-tour-welcome.html).