RE

Roman Elizarov

Ruso

Roman Elizarov es un destacado ingeniero de software, conocido por su trabajo en el lenguaje de programación Kotlin, donde ha sido Project Lead y Lead Language Designer en JetBrains, además de ser el autor de las corrutinas de Kotlin. También es un experto en concurrencia y optimización de rendimiento en Java y JVM, y enseña programación concurrente y distribuida en ITMO.

Obras en el archivo

12 títulos

Este trabajo explora algoritmos sin bloqueos (lock-free) para las corrutinas de Kotlin, centrándose en la implementación de estructuras de datos concurrentes escalables utilizando operaciones atómicas como el compare-and-swap (CAS) de una y múltiples palabras.

Este libro, basado en una charla de KotlinConf 2017, ofrece una inmersión profunda en el diseño e implementación de las corrutinas de Kotlin en la JVM. Explica sus objetivos de diseño, cómo se implementan, la diferencia entre CPS y CSP, y cómo se representan las funciones de suspensión en la JVM.

Este artículo técnico de Roman Elizarov explora la distinción entre 'coroutine context' y 'coroutine scope' en Kotlin Coroutines, dos conceptos fundamentales que a menudo se confunden debido a sus similitudes.

Structured concurrency

2018·divulgacion

La 'concurrencia estructurada' en Kotlin, promovida por Roman Elizarov, es un modelo que organiza las operaciones concurrentes en una jerarquía padre-hijo para mejorar la fiabilidad y la gestión de recursos en la programación asíncrona, utilizando corrutinas para evitar fugas de memoria y manejar excepciones de forma predecible.

Este artículo de Roman Elizarov celebra el primer aniversario de la 'Structured Concurrency' en Kotlin, una técnica que asegura que las coroutines no se pierdan, que las excepciones se propaguen y que se gestionen los ciclos de vida de las operaciones concurrentes de forma predecible y segura.

Este póster presenta un diseño de canales sin bloqueos para la programación concurrente que utiliza el modelo de procesos secuenciales comunicantes (CSP), una alternativa a la manipulación de estados mutables compartidos.

Este artículo técnico de Roman Elizarov explora la evolución de las herramientas de comunicación asíncrona en Kotlin, explicando cómo los 'shared flows' han reemplazado en gran medida a los 'broadcast channels', al tiempo que destaca el rol continuo de los 'regular channels' para casos de uso específicos.

Kotlin and Exceptions

2020·divulgacion

El artículo "Kotlin and Exceptions" de Roman Elizarov explora el manejo de excepciones en Kotlin, comparándolo con el enfoque de Java y las excepciones "checked", y sugiere un uso idiomático de las excepciones en Kotlin, principalmente para errores de lógica de programa.

Este documento explora el diseño e implementación de la programación asíncrona en Kotlin, que utiliza corrutinas para la asincronía, destacando su flexibilidad, la solución a problemas existentes y las futuras direcciones que la programación asíncrona podría explorar.

Este artículo técnico presenta un algoritmo mejorado para canales rendezvous y con búfer en Kotlin Coroutines, fundamentales para la programación asíncrona mediante paso de mensajes. Propone una solución basada en una matriz infinita con contadores posicionales, logrando una mejora significativa en el rendimiento en comparación con implementaciones anteriores.

Este libro es una guía completa del lenguaje Kotlin, que lleva a los lectores desde los fundamentos hasta la creación de aplicaciones de calidad profesional, con un enfoque en las características únicas de Kotlin, incluyendo coroutines, flows y concurrencia.

Autores relacionados

Aparecen junto a Roman Elizarov en búsquedas del archivo