The Bottom Turtle is Microsoft, and That's Okay
As a developer, I recently discovered that Windows is now the best platform for development. Microsoft has embraced Linux and its associated technologies, offering the Ubuntu repository and the Windows Subsystem for Linux, which enables developers to access Linux commands and the command-line interface. With popular commands such as cd, ls, chmod, and chown, I'm able to do a lot without being a hardcore programmer. Read my blog to find out why I believe Windows is the best development platform.
Windows is Now the Best Platform for Development: My Experience with Microsoft Embracing Linux
By Michael Levin
Tuesday, November 29, 2022
On any line you want was a big deal.
Linux, Python, vim & git… I’m talking about a philosophy not too far off from the Unix Philosophy. What that is is debated because the Wikipedia page screwed it up. Currently in public mode… cause everything here goes… miklev.in/blog
Microsoft no longer treats it’s 72% of users like 2nd class citizens. WSLg comes to Windows 11 first, and seemingly after awhile, only. When we’re talking Linux, yeah it’s a kernel. And no, it’s not a Desktop. But come on, folks. It is the commands and the command-line interface (whether DJ Ware likes me calling that or not).
Windows is the best dev platform these days. Why? Because Linux isn’t non-native. It’s weird, but NT is paying off. Whereas Apple took up Unix and hasn’t provided a free and open source software repository (repo), Microsoft took up Linux and offers the Ubuntu Repo. And almost everything about Windows is acceptable, and it comes pre-installed on all the cheap high-quality laptops. Yeah, all the counter arguments, I know. And that hardware (native Linux) is in my future.
It’s turtles all the way down. There’s a bottom turtle when it comes to hardware, and hardware is almost always proprietary, so why not the bottom turtle too? And that’s NT. NT is like a hypervisor. Few want to call it an operating system, the thing that manages resources, divvying out system space on today’s multi-core processors. But it’s an OS. We call it a hypervisor, and really that’s the “New Technology” of NT was to isolate running code from each other and allow that divvying out of resources to occur (better than Unix).
That has really benefited the Windows Subsystem for Linux. It’s exactly the kind of thing NT was made for. Mac doesn’t offer FOSS. Yes, Homebrew, I know. But put Homebrew up against the Ubuntu software repo, inheriting from the Debian software repo (Debian is the FOSS brains behind Ubuntu). Debian are some of the best good folks of the FOSS community. Read their charter, or whatever. They are as close is it gets to massively influential without being corporate corrupt.
Linux, Python, vim & git. Microsoft bought all of it. But you can’t buy Linux. But you can join the Linux Foundation and throw your weight behind Ubuntu (vs. RedHat). Derivative Linuxes get to focus on things like drivers. That makes these repos popular because they run on a lot of hardware and support a lot of peripherals. That’s not easy. That may be the hardest part. All different is different. Broad hardware support is difficult in the FOSS world, and that’s what Ubuntu does (Canonical). Ubuntu’s repo system isn’t POSIX-compliant. If you read the POSIX standard, it’s gotta come with RPM (RedHat Package Management) system. Debian don’t. Ubuntu either. So technically, all us Ubuntu-users are not POSIX-compliant.
Microsoft made all those goodies previously on just Windows 11 available suddenly on Windows 10. Wow, did I have to adjust my tooling. I had to give up my fixation on LXD Linux Containers for awhile, because just plain old WSL had everything I needed. I still hate the API (command-line syntax) versus LXD’s (lxc). lxc execute jupyter – su –login ubuntu
sed & awk are not as popular as they used to be. Modern all-purpose programming languages have mostly taken their place in the hearts and minds of developers, but there’s hardly any getting away from commands like:
After a time, you understand Linux (Unix) in general, and you can do a lot of things casually, without being a hardcore programmer (career programmer). Programming is just literacy. Think in Linux, Python, vim & git. I’ll talk more some other time about why Python & git. I think Linux & vim are obvious enough from videos like this.
So don’t hate Microsoft. They make the bottom turtle. Let FOSS be your turtles all the way up. Unless you’re a Graphic Designer, in which case you need Adobe.