Web development on Linux


Development on Linux

I have been developing software and websites for more than ten years now (with a break in between), and I have had the opportunity to use both Windows and Mac as well as Linux.

While I have primarily used Windows and Mac, during the last period where I worked closely with system administrators and did much more backend development than frontend, I felt the need to switch to something more performance-oriented for these activities.

Beginnings

I started my career as a .NET developer. I used a PC with the marvelous Windows XP.

It truly was wonderful—stable, fast, capable of doing everything.

At that time, I used Visual Studio and developed management and CRM software for the Windows platform, so I was obliged to remain in the Microsoft environment.

Then I started developing some websites, always for the same company. Being proficient in .NET, we began developing with ASP, a language very similar to Visual Basic.

I remember that at the time, changing the operating system never even crossed my mind. Linux was still quite challenging, Mac was expensive, and neither allowed for developing software for Windows, so the matter ended there.

My first Mac

With the first money I saved, I decided to buy my first Mac: a MacBook White.

I was fascinated by the Apple environment.

I made the purchase mainly to use it for recording music; I had no intention of using it for development.

I tried it at the beginning, but everything I was used to using didn’t exist for Mac. Visual Studio wasn’t available for Mac, and our sites ran on Windows servers, so there was nothing to be done.

I contented myself with the fantastic artistic department of the bitten apple. There was no comparison; drawing, video, and music software were decidedly on another level.

A period of pause

Then I stopped programming for a few years. I did something completely different; I graduated in a humanities subject and completely disconnected from computers.

I continued to use the Mac as a personal laptop, but I only used it for university and free time, and here I began to miss Windows.

The Office suite, the possibility of finding thousands of software for any type of problem, games, and much more were missing on the Mac…

So when the MacBook White finally died of old age (7 years of good service), I bought a Windows laptop.

Return to Windows

When I bought my current laptop, I was still studying and had not yet resumed my career as a developer, but I wanted to return to programming, to write some code, to develop something from scratch.

So I went to Unieuro and bought the laptop with the best value for money.

Resuming development

A year later, I started developing seriously again, and I felt great on Windows; after all, that’s where I had started, and I felt at home.

Thanks to XAMPP, I could set up my own lamp stack in 5 minutes and start tinkering with WordPress, Laravel, and create my projects the way I prefer: using core PHP.

As I caught up with the times and learned to use the new tools, I increasingly realized that Windows was no longer the ideal choice for me.

I was no longer creating management software but web applications, and the web runs on Linux.

I started using Node.js and various JavaScript tools that work from the command line, and gradually, I began to discover how limiting PowerShell could be…

Then I expanded my skills as a backend developer, and here I had to make the leap to a more performant terminal, and that’s when I discovered Linux.

I started using WSL, but it was all a bit too messy for my taste, so I switched to Linux proper.

Arrival at Linux

It wasn’t love at first sight.

I started installing Ubuntu as a virtual machine with VirtualBox to try to tinker a bit with the penguin.

The first impact, perhaps also due to a lifetime spent on other systems, was quite tragic

Everything I wanted to do, I had to configure; there was very little that worked right away, and for a while, I abandoned the idea of Linux.

Then little by little, I reapproached it, trying to adapt my way of thinking to this system, and everything changed.

The trick is to stop wanting Linux to resemble Windows or Mac OS, but to try to understand what it really is; then you can appreciate its infinite qualities.

Installing libraries, managing components, using command-line software, everything is much easier on Linux, everything works on the first try.

Configuring Vagrant correctly on Windows took much more time than on Ubuntu, and so much more.

Most of the time, all you need to do is run a command from the terminal, and voilĂ , everything works perfectly.

As a developer from now on, I think I will only use Linux distros, leaving a partition with Windows in case I have to do specific work with Photoshop (currently happily replaced with Pixlr) or other software available only for Windows.

In addition to being better from a developer’s perspective, there is also the whole issue of open source behind it, the largest community project in history, the opposition to multinational corporations, the fight against planned obsolescence of laptops, and much more, but this is not the time to address these issues.

Conclusion

As a developer, I would suggest that anyone switch to Linux (except those developing for iOS or specifically for Windows). Certainly, the beginning is not easy; you need to tinker a bit, bump your head a few times, but once you get into the right mood, everything flows smoothly and quickly.

For now, I’m getting along very well with Ubuntu because I like Gnome. I tried other distros, but in the end, there isn’t much difference; everything can be installed on any distro. So I went for Ubuntu for its stability.

I have been using it as a primary system for a couple of months now, and I think it will remain so for a long time. This way, I can finally free myself from Apple’s pressing marketing, which, to be honest, is a constant temptation but would end up making me a slave to the apple… You know that if you buy a Mac, you want an iPhone, then an iPad, and an Apple Watch, and in the end, you always use the same three apps…

Even Windows laptops are becoming increasingly beautiful and tempting, with hardware that seems to age faster and faster. Of course, if you put an i7 in an ultrabook without a cooling system, you either melt the PC or castrate it and turn it into an i3. In the end, it’s all marketing…

With Linux, on the other hand, you can take an i5 from any generation, throw in an **SSD

** and 8GB of RAM, and you’re good for years without performance issues and more.

Of course, there’s the problem of battery life, which is not as well optimized on Linux… But in the end, I use Linux for work, connected to the power, and when I want to chill on the couch, I can use Windows and enjoy a few more hours away from the cables.