The rise of the super editor
When I first learned to program in the late 90s, it was with JavaScript. I was 16 years old, and I did not understand the underpinnings of programming and the tooling that is behind. I remember searching Yahoo and Altavista for explanations on what is a compiler and how does it work. In the end, I ended up learning JavaScript, because you only needed an editor (the good old Notepad did the job) and a browser.
As I progressed in my journey, I learned C. It was in those early years that I met my first IDE DJGPP. I was happy to have the syntax highlight, a compile button and a console telling me what had happened. It was not too much, but it was useful. To be clear, I did not know what the rest of the stuff was for. It took me years of practice to get acquainted with the different tools of the trade, and to settle on an IDE for the years to come.
IDEs are excellent tools but they come with some caveats. They are heavyweight. They consume both a lot of space in memory and also they are bloated with features for all different aspects of development. Sometimes, there are aspects that you don’t even use. Even with those caveats, IDEs are excellent for the heavy duty programmer, you launch them in the morning, you do your work all day and you close it.
There was however always another approach. The pimp-your-editor approach. You could start from a very simple but extensible editor and customize it until it has most of what you need but it is still lightweight and not bloated. This approach has its caveats also, customizing your editor not always works as expected. I, for example, never managed to make my editor work with my favorite programming language. Whenever I made it work with other programming languages, the experience was sub-optimal and in the end, I preferred the full power of the IDE, which always seemed to work.
However, in the last years, a new approach was born. VSCode appeared in 2015 packaging the pimp-your-editor approach nicely and working out of the box. It includes out of the box the basic functionality of an IDE and does not appear bloated with functionalities that you might not need. The team, lead by Erich Gamma, seems have found the right balance between an IDE and a text editor.
However, VSCode lacked something. It was not web ready. Even though it was based on web technologies, it was not usable on the web, it was still a desktop application. Theia IDE was born out of this need. It lowered even more the barrier of entry by allowing the user to run it entirely on the browser. VSCode, has since added this feature and is also web ready now. Jetbrains has also jump on the train with a new product Fleet,that introduces the same concepts to the Jetbrains eco system.
Conclusion
So, we have moved a lot since the late 90s. If I started to code right now, I wouldn’t even need Notepad and a browser as I needed back then, just a browser would be enough to get started. The question right now is, what is the next point of friction that will be removed? Companies like Gitpod are taking this technology to the next level by offering to package the development environment as a service, accessible with one click from the web browser. What do you think the next move will be? What do you think will lower even more the barrier to entry, both for new developers and old ones?