POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

De Kotlin y Go a Clojure: 8 meses en Nubank

## De Kotlin y Go a Clojure: 8 meses en Nubank

Publicado el 17/08/2025

Hola, equipo y lectores

Hace 8 meses comencé la transición a Lead Software Engineer en Nubank. Venía de un entorno dominado por Kotlin y Go y aprender Clojure supuso un cambio de paradigma. Aquí comparto la experiencia en español mostrando, en palabras y fragmentos, las diferencias y lo que hace a Clojure tan atractivo.

En este recorrido comparo tres problemas sencillos resueltos en Go, Kotlin y Clojure y destaco enfoques y sintaxis.

Problema 1 Saludo simple y estilo sintáctico

Todo empieza por el clasico Hola Mundo. Go es explícito y orientado a herramientas robustas. Un ejemplo conceptual en Go seria `fmt.Println( Hola Mundo )`. Kotlin es moderno y conciso con una sintaxis familiar para programacion orientada a objetos, por ejemplo `println( Hola Mundo )`. Clojure introduce la sintaxis LISP con codigo como datos y llamadas en prefijo, por ejemplo `(println Hola Mundo)`. La concision de Clojure destaca porque evita ceremonias como declarar un paquete o una funcion main para un script simple.

Problema 2 Transformacion de datos: agrupar y sumar ventas

Supongamos los datos `[{producto: A, valor: 10}, {producto: B, valor: 20}, {producto: A, valor: 5}]`. En Go lo habitual es un enfoque imperativo: crear un mapa y recorrer la lista acumulando valores con un bucle for. Es eficiente pero verboso. En Kotlin se puede usar una API de colecciones funcional y expresiva: `vendas.groupBy { it.producto }.mapValues { it.value.sumOf { it.valor } }`. En Clojure la transformacion de datos es el nucleo: usando composicion y operaciones de coleccion se puede describir una pipeline clara, por ejemplo `->> vendas (group-by :producto) (map (fn [[producto lista]] [producto (reduce + (map :valor lista))])) (into {})`. La semantica describe paso a paso: agrupar por producto, sumar valores y convertir en mapa, como seguir una receta.

En resumen, Go exige explicitud, Kotlin aporta elegancia funcional sobre JVM y Clojure permite pensar en transformaciones de datos de forma directa y expresiva.

Problema 3 Concurrencia: incrementar un contador de forma segura

Trabajar con estado compartido revela diferencias de diseño. En Go la concurrencia se apoya en goroutines y para estado mutado usamos mutex: crear un contador entero, lanzar 1000 goroutines y proteger la suma con un sync.Mutex. En Kotlin la respuesta son las coroutines y utilidades de sincronizacion para coroutines, por ejemplo un Mutex de kotlinx.coroutines y realizar withLock al incrementar. En Clojure la estrategia es abrazar la inmutabilidad y usar constructos para el estado cuando es necesario: un atom y swap! permiten actualizaciones atomicas sin locks manuales. Con 1000 futures que ejecutan swap! el contador llega a 1000 y el codigo de negocio permanece limpio y conciso.

Las tres lenguajes resuelven seguridad y concurrencia, pero Clojure reduce ruido en el código de negocio al delegar la complejidad en primitivas atomicas.

Conclusiones tecnicas y personales

Ir de Kotlin y Go a Clojure me dio una nueva forma de pensar sobre la programacion: menos rituales, inmensa expresividad para transformar datos y modelos de concurrencia que encajan con la programacion funcional. Clojure no reemplaza las ventajas de sistemas tipados y herramientas de Go o Kotlin, pero añade una forma directa y poderosa de expresar soluciones.

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida que acompana a empresas en su transformacion digital. Somos especialistas en software a medida, aplicaciones a medida, inteligencia artificial y ciberseguridad. Ofrecemos servicios cloud AWS y Azure, servicios de inteligencia de negocio e implementacion de soluciones como Power BI para analitica. Implementamos agentes IA y soluciones de ia para empresas que automatizan procesos y mejoran decision making. En Q2BSTUDIO diseñamos software a medida y aplicaciones a medida integrando inteligencia artificial y ciberseguridad desde el diseno. Nuestros servicios cloud AWS y Azure permiten escalabilidad y resiliencia, mientras que los servicios de inteligencia de negocio y Power BI convierten datos en insights accionables. Si buscas IA para empresas, agentes IA o soluciones de software a medida, Q2BSTUDIO dispone de expertos en inteligencia artificial, ciberseguridad y servicios cloud para llevar tu proyecto a produccion.

Contacto y cierre

Si te interesa explorar migraciones, arquitecturas orientadas a datos, o construir aplicaciones a medida con capacidades de inteligencia artificial y ciberseguridad, ponte en contacto con Q2BSTUDIO. Y tu, has aprendido alguna nueva forma de pensar al dominar un lenguaje distinto? Me encantaria leer tus experiencias.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio