Notes on Positron

Positron is a new R and Python IDE from Posit. You can read more about the new editor here. You will most likely be familiar with Posit if you use RStudio. I stopped using RStudio a while ago and I now use Visual Studio Code for everything I do in R and Python. As such, I am not surprised that Posit is building a new IDE based on VS Code, although I did not expect it. I have now tried out Positron (2024.06.1-27) on my MacBook Pro (Apple M2), and in this post I will share a few first impressions in the form of thoughts, questions and observations.

If you are happy with VS Code, stay with VS Code. I have used VS Code as my primary text editor since I switched from Atom many years ago. There is simply no good reason to make the switch to another editor right now, even if most of what you do in VS Code might be related to data science tasks in R and Python. That is, the USP of Positron is that you do not need to engage with setting up VS Code to use R but you can get straight into business (similar to RStudio). In other words, if you are already up and running with R and Python in VS Code, you will not – as of right now – gain a lot, if anything, from switching to Positron. I can use Positron, but it cannot replace VS Code for now (and I am not interested in using multiple IDEs anymore).

If you use RStudio or/and PyCharm, check out Positron. Positron is as close to plug-and-play as you can get when it comes to R and Python in the same IDE. If you are using RStudio for R and PyCharm for Python, Positron might be exactly what you have been waiting for to have everything under the same roof. The few times I have tried out running Python within RStudio, I have not been impressed (it felt very much like running Python in a non-Python friendly place). (RStudio is optimised for R, and that is totally fine.) Bear in mind that Positron is still an early stage project under active development, but if you are fine with being part of the journey, I do not see any reason why you should not try it out.

Positron takes up more space than VS Code. With more than one terabyte of storage space on my Mac, and with most of the data I work with being hosted in cloud environments, I should not really care that much about the size of software, but I do. I like the fact that Visual Studio Code.app “only” takes up 367.4mb of space, whereas RStudio.app is 1.39gb. In comparison, Positron.app is 1.06gb. It makes sense that Positron takes up more space than VS Code, especially as the former comes with a series of plugins and additions, but it is surprising that it is almost three times larger. Of course, you also still need to install R and Python separately (and ipykernel as well for Python), so that is not what is taking up additional space. I am not sure why this is the case, but I would be interested in finding out.

Positron is really, really good. I really like the feel of Positron. It just works, and it works well. It comes with great defaults for anything from indentation to the size of the figures in the plots panel (something I struggle with now and again in VS Code). I have not tested out a lot of features, packages and edge cases in Positron, but my first impression is that Positron is a lot better than RStudio, especially when it comes to running Python. As Sharon Machlis writes in the article on InfoWorld: “If you are working on a project that combines both R and Python scripts, which I increasingly do as an R user working with generative AI, the IDE also easily pops up the correct console when you switch between scripts in both languages.” I tried this and I was impressed by how smooth it worked switching between R and Python and running code in the console. 10 out of 10.

Positron could be the future IDE for teaching statistics. If I were to teach a class using both R and/or Python, I would definitely consider Positron (while most likely wait for the software to be out of early development). There are two reasons for this. First, if you teach a course on statistics in R, the students will not face opportunity costs when it comes to learning Python (at least not when considering an IDE). Second, it finds a good balance between flexibility and defaults by design. This makes it a lot easier for students to get started with without having to install a series of plugins and experiment with JSON files in VS Code.

I still prefer the terminal over the console. One thing I like about VS Code is being able to run my R code and Python code directly in the terminal without sending my code to a separate console. I get that this is what makes it a lot easier to get started with Positron, but I find the terminal much easier to work with now, including working with multiple terminals and knowing the dependencies of my code.

It is not yet clear why Positron is a ‘next-generation’ data science IDE. Positron is being promoted as “a next-generation data science IDE”, which currently seems more related to marketing than actual product features. Posit is definitely in the right place to bring together R and Python, and while it might be a step in the right direction compared to RStudio, time will tell whether it is indeed the next generation of a data science IDE.

The future is unclear. What is the future of RStudio? In the FAQ for Positron, it says that they are committed to maintaining and updating RStudio, but I doubt everything is the same with the arrival of Positron. Will it still be a priority to facilitate working with Python in RStudio? I doubt it. To a question on Hacker News related to the longer term feature parity with VS Code, a software engineer from Posit says that they will merge upstream from VS Code every month. While this sounds sensible, it does leave some uncertainty in terms of what exactly Positron will look like in the future, and in particular how different it will be from VS Code.

What about Julia? As part of the documentation on GitHub, to the question “Is Positron for me?“, it says that Positron might be a good fit for you if “you use Jupyterlab for data science (Python or R) and are ready for a more powerful, fully featured IDE.” This made me consider why Positron is not seen as a data science IDE for Julia + Python + R, but primarily Python + R. I mean, there are good reasons to focus on Python and R, but Julia is definitely part of the data science space (and will be more so in the future). There is a GitHub issue for Positron where a user suggests integrating Julia as well, and it looks like there are future plans for supporting Julia and other relevant data science languages. However, I do wonder whether it would be easier to see Positron as a replacement of Jupyter if the former supported Julia already, and whether it will only be more difficult to provide such support as the development now is focused upon providing a good user experience for R and Python.

Do try it out on your own. Even if you are not on the market for a new IDE, I will still recommend trying out Positron. In the same way you learn more about your own country when visiting another country, you can learn a lot about your current IDE by trying out another IDE. Again, I really like Positron and I can easily imagine a lot of people will find it useful. You can get the most recent version of Positron here.