Resources

A first look at Positron - Julia Silge

Description Positron is a next generation data science IDE built by the creators of RStudio. It has been available for beta testing for a number of months, and R users may have wondered if they should try it or if it will be a good fit for them. This new IDE is an extensible tool built to facilitate exploratory data analysis, reproducible authoring, and publishing data artifacts, and it is an IDE that supports but is not built only for R. How should an R user think about Positron, compared to the other options out there? In this talk, learn about how and why Positron is designed the way it is, what will feel familiar or new coming from other IDEs such as RStudio, and when (or if) people who use R should consider giving it a try. You’ll hear about different choices when it comes to defaults and ways of working, such as how to think about your projects or folders and how to manage multiple versions of R. You will also learn about new functionality for R users and package developers that we have never had before, like new approaches for managing R package tests and the ability to customize an IDE using extensions. If you are curious about Positron and how it fits into the R ecosystem, you’ll come away from this talk with more details about its capabilities and more clarity about whether it may be a good choice for you. Additional Material or Paper *Visit https://positron.posit.co for documentation and installers *Find us on GitHub at https://github.com/posit-dev/positron *Positron is currently available on Posit Workbench in preview

Aug 1, 2025
19 min

image: thumbnail.jpg

Transcript#

This transcript was generated automatically and may contain errors.

Hi, I'm so pleased to be here at the virtual day for USAR this year to give you a first look at Positron. My name is Julia Silge and I have been working in data science for about the last 10 years, for about the last 5 years as largely a tool builder for building tools for other data scientists to use. I work at Posit PBC these days, formerly known as RStudio, and there I worked on R packages for machine learning and modeling, R and Python packages for ML Ops, but for about the last two years I have been working on Positron, which is this new next-generation IDE for data science that I'm excited to get to give you a glimpse of today.

That's a little bit about me and I'm gonna say kind of what I think you are like so that you can understand the perspective which I am speaking here about Positron. I'm assuming you are an R user, you have probably used RStudio, perhaps you have dabbled in another editor or IDE, but I'm assuming that largely most of your R usage happened in RStudio.

What is Positron?

So let's dig into Positron. Positron is a new next-generation data science IDE. It's been available for a beta testing for about the last year and just this summer Positron has moved to stable releases, so out of our beta period. It's an IDE, which stands for integrated development environment, and that's a piece of software that allows you as a user to yourself develop software. So this example, this screenshot, shows someone using Positron together with Quarto. They're writing a report in Quarto using R and you can see the source code on one side and then the rendered report over on the other side.

So this is an IDE. There's a ton of IDEs out there in the world and over the course of this talk I want to tell you what's new and or different and or special about Positron so you can understand why we're building it, how an R user should think about Positron compared to the other options that are out there for you, and whether it might be a good fit for you or whether it's something you don't need to worry about.

An IDE built for data science

The first thing I want to emphasize is that Positron is an IDE specifically for doing data science. So at the company where I work at Posit, we have extensive domain knowledge in data science tooling. We know that someone who is writing code for data analysis or data science or machine learning, that person is different from someone who is writing general-purpose code like writing code for a website or a mobile app or something. We're huge proponents of code first data science as opposed to, you know, pointy clicky kinds of tools but tools that are built for a typical software engineer who is writing code for, you know, some sort of general purpose, those kinds of tools are often not a good fit for someone who is writing code to analyze data.

So all across our org, pretty much every single thing we make or do or build is informed by how how deeply we know and believe in these things that the code first data science and also people who are doing data science are different from software engineers. So we believe by thinking about these two things, we can make you as a data practitioner more productive by building tools that are specifically for you and the kind of tasks you need to do. And that's exactly why we're building Positron, this new IDE. There isn't something quite like Positron out there which is one platform where you can do all of your data science.

There isn't something quite like Positron out there which is one platform where you can do all of your data science.

A polyglot IDE

So that's the first thing. The second thing I want to tell you is that Positron is a polyglot or multilingual IDE. It's currently built today with support for both R and for Python. A lot of environments that are built that are specifically built for data analysis are built to use one language for scientific computing. Tools you may have heard about or use yourself that fall into this category include RStudio, include MATLAB. There's a lot of these where the environment is built just to use one language for scientific computing. These of course are tools people are hugely productive with, but there also are limits to these kinds of tools or IDEs, especially for that proportion of people who use multiple languages for data science.

This can happen literally on the same project. Your project can combine two languages. It can happen over the span of a week or weeks as you move from one project to another that may use different languages. Almost certainly it's going to happen over the span of your career. I know this has been true for me in my career that I have used different languages over my professional life, and it's true for most of us. I know many of you are already familiar with this. You do things like build R packages that have C code in them, or you build complex shiny apps and so you both write R and JavaScript, or maybe you are someone who uses R in addition to Python.

By contrast, with the IDEs or editors that are built for one language, Positron is built with front-end user-facing features that are about the tasks you need to do when you're analyzing data and doing other data-specific kind of work, and then back-end language packs that provide the engines for all of those features and tasks. In this screenshot, you see that. You see a console for iterative running of code. You see a place for your plots, a place for your variables, a place in addition to where you're actually editing your main source code here. You'll notice that this is all running on Python, though, not on R. Even though it looks a lot like RStudio, it's running Python. If you are someone who uses more than one language in your day-to-day work, then Positron is built with you and your needs in mind.

New language tooling for R

One of the big investments we needed to make in order to build Positron was new modern language tooling for R. Positron has a brand new Jupyter kernel for R that's called Arc. A Jupyter kernel is software that provides R a way to talk back and forth with a front-end. If you hear Jupyter kernel, you might think Jupyter Notebook. In that case, that is an example of a front-end, but how we use it in Positron is that Positron as a whole is the front-end. The kernel allows the back-end language runtime, R, to talk back and forth so that the front-end knows what to do when R does something there. It gives you things like completions, diagnostics, debugging, just a ton of features that improve the experience of writing R code.

In this screenshot, I've got one of the R packages that I maintain up here, and this is showing me debugging the function that I wrote in the R package. This is possible because of this new modern language tooling for R that we've been able to invest in. The exciting thing is that it is a Jupyter kernel, so it can be used anywhere a Jupyter kernel can be used. The Positron team has also built a new formatter for R that's called AIR. These are both examples of how the architectural decisions around Positron let us build modular, reusable pieces of modern language tooling that can be used in multiple contexts. AIR is really interesting because it works great in Positron, but it also works great in RStudio. It also works great in VS Code. It also works great from the command line. It's exciting to me as someone who loves R to see how the architectural decisions we've made allow us to bring things to the whole R community. To learn more about AIR, I would draw your attention to another useR! talk happening in person on August 10th by my co-workers Lionel, Henry, and Davis Vaughn.

Familiar and extensible

The third thing I want to highlight about Positron is that it is both familiar and extensible. It's familiar to many of you who are watching this video because it is inspired pretty directly by RStudio. Many of the people working on Positron right now are the same exact people who have worked on RStudio. Here you see what that means. This is a very RStudio-like interface where you see a console, you see a source editor, you see a very interactive help pane, but it's being used with Python instead of with R. If you are someone who has wanted to work with Python and just always felt like, I wish I had something like RStudio, then this is great news for you.

However, for some of you, this may bring up feelings of concern, of anxiety. You may be curious about what is happening to RStudio. RStudio is incredibly stable, solid software. It has well over a decade, I believe well over 15 years actually, of real-world use on it. It is true that as of today, Posit is investing more in this new IDE, Positron, than in RStudio. That is true. However, we expect people to use RStudio for many, many years to come. We're committed to maintenance for RStudio in the long haul. If RStudio meets your needs today, do not have FOMO. You should not feel any worry or anxiety about continuing to use it because it is going to continue to be there for you.

If RStudio meets your needs today, do not have FOMO. You should not feel any worry or anxiety about continuing to use it because it is going to continue to be there for you.

That's about Positron feeling familiar. Positron also feels familiar to some of you who are listening to this because it's built on the open-source components that make up Visual Studio Code. Positron is a fork of the open-source project that Microsoft uses to make their proprietary builds of VS Code. This is an architectural decision that was made as we're exploring this idea of building a new IDE. Building on Code OSS, as it is known, allows us to focus on the data science features, not the sort of general features that all kinds of people who write code need. Not, how do we make an editor where people can edit code? We don't have to worry about that. We just kind of make a deal where we say, okay, we will accept largely how things work in VS Code, and we add on top of that the things that are specific about what someone doing statistical analysis needs. That lets us focus on the kinds of things we have expertise in and that we want to be able to focus on.

The other thing here is that building on Code OSS opens up the wide world of VS Code compatible extensions for users who want a data science IDE instead of a general-purpose IDE. If you're coming from RStudio, this ability to customize your IDE is new and may be a reason that you might want to try out Positron. Extensions exist for everything from any theme you can possibly imagine to customize how it looks to support for data platforms that you want to access, like Databricks and Snowflakes. Actually, you also can build extensions yourself. The barrier to entry to building an extension is lower than what it would have taken to customize RStudio, for example, there.

Now, when folks hear about extensions or if they already know about extensions, sometimes those folks ask, why not just build extensions? Why not just, instead of forking the whole thing and making a new thing, a new thing here, Positron, why not just build extensions that would allow VS Code to be usable for data science? Now, we thought very carefully about that. We thought, think carefully about the features that are part of Positron itself versus what we do with integration with extensions. So, we love extensions. We make extensions. So, we at Posit have created and maintain extensions for Quarto, for Shiny, for Publishing, to Posit Connect. This screenshot shows that. Someone is mid-deployment, just in the process of publishing this Quarto dashboard to Posit Connect. We are all in on extensions, huge fans of the extension ecosystem. However, because we have learned about extensions, we also know about the limits of what an extension can do and not everything that we believe we need for a first-class data science IDE can be built into extensions. So, we're all in, but we think very carefully about what goes in the core of Positron itself and what can be an extension. If you want to think about it in a very shorthand, when we need more of the UI to be integrated and connected, then it needs to be in the core of the product rather than in an extension.

Building on top of Code OSS, something else this lets us do is it gives us opportunities to provide functionality for our users that just has not been available to RStudio users. So, one example of this is the Test Explorer for R packages. So, this screenshot shows an R package that I maintain, and what we see here is there's this rich UI for running and understanding your package tests, and this kind of thing has never been available in RStudio. The way this works is that Code OSS provides the front end here, the UI, and then we build out a back end for how our packages get parsed and understood by this kind of UI that we have here. Specifically for R packages, as someone who maintains a number of them myself, I'm really excited about what Positron offers to folks who are building these packages that then get to be used by the whole R community.

AI and LLM integration

Now, if I'm here on a video talking about a new IDE in 2025, I know one of the very first questions that a lot of you have is how and in what ways Positron is set up to work with LLMs. So, like I mentioned before, Positron is not a general-purpose software engineering IDE. So, if you are familiar with other forks of VS Code, like Cursor and Windsurf, we don't see those as our direct competitors because those are general-purpose software engineering IDEs. Instead, our goals are to build an IDE for data science specifically, something that is useful for statistical analysis. And how we think about AI integration and LLM code assistance, it's deeply informed by this perspective on data science that we have. We want to ask, what do people doing statistical analysis need when it comes to LLMs? What are the legitimately useful applications for LLMs in such an IDE?

I personally would make, if I were to make a list of that, of things that are legitimately useful today, one would be initial exploratory data analysis with new data sets, just like that, like quick, like let's write a bunch of code to find out what's in a data set. Another example that I think is legitimately useful today, generating test cases, like writing tests for, say, an R package, generating comments. Another thing is navigating and understanding a complex code base. That's another example that I think is legitimately useful for people, for example, who use R today.

So, we at Posit, we are not training new models, but rather we're building tools on top of these classes of models and on top of the model providers. So, in this IDE, in Positron, what that looks like is these integrations, these IDE integrations. It looks like things like commands that you can use in chat, chat participants that you can go on to make this very data science aware LLM integration. So, this screenshot shows me using Positron Assistant, as it is known. So, the assistant is over there on one side. I've got my console, and then I'm seeing the results of the code that the assistant is running. So, Positron Assistant can be run in three modes, ask, edit, and agent. Here, I'm using it in an agent mode, where I actually let the assistant run code iteratively in the console, and both the assistant and I see the results. This is powerful because it is built for data science, because it is deeply integrated into the ideas as a whole. So, like, here is an example of something I typed here, where I say, oh, okay, that last plot you made, let's make that again. But this data set is about Pokemon from a recent Heidi Tuesday. It's like, okay, I want to, like, let me please make that plot again, but with, like, a different variable. And then here is the assistant's response here, where it generates code for me, and then I can click a button to run it in the console there.

This is powerful because it is built for data science, because it is deeply integrated into the ideas as a whole.

So, if you want to learn more about what the rise of these models mean for our users, I would point you to the first keynote for UseR this year by Hadley Wickham about using AI in the R ecosystem. So, if you are interested now in trying out Positron, I would point you to positron.posit.co for documentation and installers. I would invite you to join us on GitHub with any feedback that you have, questions, bug reports, et cetera. If you're a customer of Posit's, Positron is currently available on Posit Workbench in preview. And with that, I will say, thank you very much.