Positron – el IDE de próxima generación para ciencia de datos
(positron.posit.co)- Positron es el IDE de próxima generación especializado en ciencia de datos que Posit, la empresa creadora de RStudio, ha desarrollado recientemente
- Este IDE soporta R y Python de forma nativa y es una plataforma multilenguaje (polyglot) diseñada para entornos de ciencia de datos donde se usan varios lenguajes en combinación
- En términos de arquitectura, está basado en Code OSS de VS Code, lo que ofrece un entorno familiar y gran capacidad de extensión, además de incorporar funciones especializadas para científicos de datos como gráficas, variables, ayuda y explorador de datos
- A través del nuevo kernel de R Ark y del soporte de sintaxis R con Tree-sitter, mejora notablemente la ejecución de código, el autocompletado, la depuración y la exploración de documentación, e incluso permite depurar código mixto de R y C++
- RStudio sigue manteniéndose y recibiendo soporte de forma estable, pero se espera que Positron, con su enfoque en multilenguaje, extensibilidad y arquitectura moderna, se convierta a largo plazo en el centro del entorno de desarrollo para ciencia de datos
Introducción a Positron y por qué es necesario
- Como IDE especializado en ciencia de datos, ofrece una experiencia adaptada al trabajo centrado en análisis de datos, a diferencia de los IDE generales para desarrollo de software
- En lugar de apostar por herramientas basadas en GUI, sigue un enfoque code-first, ofreciendo un entorno que mejora la productividad y la reproducibilidad
- Supera la limitación de los IDE tradicionales (RStudio, Spyder, MATLAB, etc.), que estaban centrados en un solo lenguaje, y se adapta mejor a flujos de trabajo reales donde se mezclan varios lenguajes
Características principales
- Soporte multilenguaje: actualmente soporta R y Python, y estructuralmente puede ampliarse a otros lenguajes
- Interfaz familiar pero extensible: ofrece una estructura de 4 paneles similar a RStudio (fuente, consola, variables y gráficas), al mismo tiempo que conserva la extensibilidad basada en VS Code
- Motores por lenguaje (Language Packs): Python y R funcionan como extensiones independientes para mantener la estabilidad del IDE; si ocurre un fallo, no se detiene todo el IDE
Ark para el soporte de R
- Ark (An R Kernel): un nuevo kernel de Jupyter para R que ofrece ejecución de código, autocompletado, diagnósticos y depuración
- También se desarrolló nuevo soporte para la sintaxis R con Tree-sitter, que puede aprovecharse en la búsqueda de código de GitHub y en otros IDE como Zed y Neovim
- Innovación en el depurador: permite avanzar paso a paso directamente desde código R hacia código C++, maximizando la eficiencia de depuración en el desarrollo de paquetes basados en Rcpp/cpp11
Funciones especializadas para ciencia de datos
- Explorador de datos (Data Explorer): va más allá de una simple tabla (grid) y ofrece estadísticas resumidas, revisión de valores faltantes, filtrado múltiple e histogramas tipo sparkline
- Panel de variables (Variables Pane): permite explorar nombres de variables, tipos, vista previa y expansión de diccionarios
- Panel de gráficas (Plots Pane): soporta acumulación y comparación de resultados visuales, así como exportación en formatos como PNG, SVG y PDF
- Panel de ayuda (Help Pane): al escribir
?después del nombre de una función, permite consultar al instante documentación y ejemplos, llevando una ventaja de RStudio también a usuarios de Python
Base tecnológica y arquitectura
- A diferencia de RStudio, no adopta una estructura de proceso único, sino una arquitectura multicapa basada en Code OSS de VS Code
- Uso de protocolos estándar:
- ejecución de código → Jupyter Protocol
- asistencia de código (autocompletado y revisión de sintaxis) → Language Server Protocol
- depuración → Debug Adapter Protocol
- Gracias a esta estandarización, puede interoperar con diversos entornos como Jupyter Notebook y Zed IDE
Comunidad y extensibilidad
- A través de Open VSX Marketplace, se pueden usar numerosas extensiones compatibles con VS Code (aunque GitHub Copilot no está disponible)
- Sus funciones pueden ampliarse mediante extensiones como Quarto, Shiny y conexiones a bases de datos
- Refuerza la personalización del usuario con opciones como tema oscuro, cambios de diseño y compatibilidad con keymaps de RStudio
Relación con RStudio
- RStudio seguirá manteniéndose y recibiendo soporte; gracias a su estabilidad y madurez, muchos usuarios seguirán utilizándolo por un buen tiempo
- Positron se presenta como una nueva opción experimental y muy extensible, proponiendo una ruta de evolución a largo plazo para los IDE de ciencia de datos
Usuarios para quienes Positron es ideal
- Usuarios de VS Code: quienes sienten que faltan funciones especializadas para ciencia de datos
- Usuarios de JupyterLab o notebooks: quienes quieren dar el salto a un IDE más potente y completo
- Usuarios de RStudio: quienes quieren reforzar la personalización y extensibilidad de su IDE
- Usuarios multilenguaje: quienes usan además de Python y R, lenguajes como Rust, C++, JavaScript o Lua
- Usuarios orientados al uso de IA: quienes desean funciones de integración con IA especializadas en ciencia de datos
Perspectivas futuras
- Está previsto el soporte de integración con Posit Workbench y Cloud, y también se están investigando funciones de colaboración como compartir en tiempo real y compartir espacios de trabajo
- Se planea fortalecer el soporte para grandes volúmenes de datos y las capacidades de procesamiento de datos en disco, con integración de DuckDB y Arrow
- Gracias a sus fortalezas en multilenguaje, extensibilidad y protocolos estándar, tiene altas probabilidades de consolidarse como el estándar de próxima generación para IDE de ciencia de datos
2 comentarios
Opiniones de Hacker News
Me decepciona que usen pyright y jedi para las funciones avanzadas; creo que sería mejor usar basedpyright. jedi tiene un soporte del lenguaje Python más débil que pylance o basedpyright. Aunque lo presentan como open source, claramente tiene limitaciones, y la forma en que lo empaquetan tampoco me convence. En mi empresa usamos R Connect Server / Posit Server y, por los precios absurdos, terminamos cambiándonos a otra alternativa solo para habilitar una autenticación en una app interna. Encontramos una nueva alternativa y el equipo de seguridad quedó satisfecho, pero fue un calvario y los usuarios también quedaron muy inconformes. Desde entonces evito los productos comerciales de Posit, y en este caso también me hace dudar bastante esa línea fronteriza tan ambigua
El producto parece estar bien hecho, así que no quiero tirarle demasiado, pero no entiendo cómo haces un IDE de ciencia de datos sin un cliente SQL decente. Puede ser un sesgo mío, pero SQL es una parte realmente importante del flujo de trabajo. Solo por eso ya siento que queda por debajo de PyCharm o Visual Studio (no Code, el VS de verdad). Sé que los IDE completos son herramientas pesadas, pero si solo voy a editar, uso vim; cuando toca trabajar en serio, prefiero usar herramientas potentes
Soy desarrollador de Positron. No estoy completamente en desacuerdo con el primer comentario. Ofrecemos funciones de administración de conexiones en Python y R: connections pane. Tenemos una meta importante de ampliar el soporte de SQL basándonos en funciones que ya hicimos, como el explorador de datos y las conexiones a Observable mediante Quarto. Planeamos invertir en esta área a partir del cuarto trimestre de este año
Parece que este producto está hecho sobre vsc. Imagino que debe existir al menos una extensión decente de cliente SQL
El problema es que no es open source: “No puedes proporcionar el software a terceros como un servicio alojado o administrado que les permita acceder a la funcionalidad principal o a una parte sustancial del software”
Dicen que está construido sobre el open source de VSCode, pero en la página del proyecto no queda nada claro qué funciones o dependencias no son open source o no son gratuitas (suscripción de pago, plan enterprise, cuenta premium, etc.). En ese sentido, estaría bien que explicaran claramente cómo está armado el modelo de ingresos. También creo que incluir un asistente de GenAI dentro del IDE es una señal muy clara de que hay ese tipo de “condiciones”. Es una pena que en el FAQ no se hable nada de eso
Emacs es para mí el único IDE de ciencia de datos realmente de nueva generación y, por supuesto, también de la generación pasada
Me interesa saber qué paquetes y flujo de trabajo usas en concreto. Parece que faltan materiales introductorios que sean fáciles de seguir y bien mantenidos, así que agradecería alguna referencia
Me gustaría saber si puedes explicarlo con un poco más de detalle
Ya parece que estamos condenados a no poder salir nunca de los forks de vscode
Me hizo pensar en el sitio "Days Since Last VSCode Fork". El sitio está aquí, aunque parece abandonado
Creo que el equipo de Monaco hizo un trabajo realmente impresionante. No tengo claro qué parte de la complejidad de VS Code es verdaderamente esencial, pero si alguien hiciera una versión más ligera que ofreciera 90% de la funcionalidad con 10% del código, cambiaría el entorno de edición tanto como lo hizo VS Code. Si además fuera portátil, sería perfecto, aunque parece difícil evitar la dependencia de HTML+JS+CSS. También quisiera mencionar intentos como extensiones con Dear ImGui
Soy usuario académico y uso R studio a diario, mientras que Python lo uso en VS code. Probé posit hace unos meses, pero no tenía suficiente estabilidad para usarlo todos los días y tampoco incluía todos los paquetes que necesitaba. Pienso volver a probarlo pronto. Cuando uso R y Python, mis hábitos están muy marcados y separados, así que para alguien como yo migrar tomaría tiempo. Probé usar R en VS code durante una semana y simplemente no me terminó de encajar. Si el panel de conexiones funciona de verdad de manera fluida, eso sí me entusiasma bastante
Positron también es el nombre de una impresora 3D ultracompacta. Un producto llamado Positron3D redefinió el segmento de las impresoras 3D ultracompactas, y el nombre de un sistema de motores llamado “Positron drive” también me resulta familiar. Un producto hermano es JourneyMaker-Positron. Como versión de menor costo de JourneyMaker, también existe Lemontron, donde puedes imprimir en 3D directamente el armazón sin piezas mecanizadas por CNC
Esta herramienta y su ecosistema no soportan Julia. Hoy en día, cuando se habla de herramientas multilenguaje para ciencia de datos, me parece que R y Python por sí solos ya no bastan. No entiendo por qué no soportan Julia
Soy desarrollador de Positron. Estamos siguiendo las solicitudes de soporte para Julia en un issue aquí, así que pueden dejar su opinión
Julia nunca logró una adopción realmente masiva y ahora más bien va en descenso
Esto se ve prácticamente igual al IDE Spyder que ofrecen Anaconda o WinPython. Tiene editor de código, REPL, inspector de variables, gráficas en línea y todo lo necesario
¿Jupyter no viene integrado?