Embracing Lightweight Development with Separate Apps on Linux

As a programmer, I’ve come to appreciate the benefits of using separate apps on Linux instead of traditional integrated development environments (IDEs). My approach is rooted in the Unix philosophy, which emphasizes one small tool doing one job well. This allows me to have multiple windows for different tasks, each optimized for its specific function.

I can easily switch between running Vim as a shell window, testing my program, and running file manipulation programs. If I need to run another task, I can simply open another terminal window without any issues. My workflow is more nimble and efficient compared to traditional IDEs, which often require installing unnecessary components that I don’t use.

I’m a fan of Python and tend to write smaller scripts or use interactive Python, which means I only need the default interactive interpreter or IPython. I also prefer to work with Jupyter notebooks for documentation and sharing purposes. Since my primary focus is on statistics and data analysis, I can troubleshoot any errors immediately without needing a debugger.

One of the advantages of using separate apps is that I can choose my own tools and switch them out whenever needed. For example, I’ve switched from the Python interpreter to IPython for syntax highlighting and easy recall, as well as running system commands directly within IPython. Additionally, I’ve used Mamba instead of the package manager for data analysis and science packages.

My comfort with these tools allows me to set up a new system quickly and easily, as I know exactly how everything works. This approach also enables me to multitask efficiently, using multiple windows and tabbed terminals to run different programs simultaneously. With Linux’s ability to launch processes easily, I can take full advantage of this lightweight style of development without the overhead of a traditional IDE.

While others may prefer the “one tool does it all” approach offered by traditional IDEs, my experience has shown that separate apps provide a more efficient and flexible workflow. I’m happy to stick with my current setup, which allows me to focus on programming without unnecessary distractions or complexity.

Source: https://www.howtogeek.com/why-linux-is-my-ide