Best OS for programming? Mac vs Windows vs Linux debate settled
Summary
TLDRThe video script discusses the significant choice a programmer faces when selecting an operating system (OS), highlighting the profound impact it has on their work and mindset. It humorously explores the journey of using Mac, Windows, and Linux, with anecdotes from the speaker's experiences. The video emphasizes the strengths and weaknesses of each OS: Mac's high-quality hardware and Unix-based software, Windows' flexibility and evolving developer-friendly features like the Windows Subsystem for Linux (WSL), and Linux's open-source nature and server dominance despite its complexity and steep learning curve. The speaker also touches on the importance of having a versatile IDE like JetBrains, which supports development across all three platforms. The summary concludes with a playful flowchart to help programmers decide which OS to choose based on personal preferences and circumstances.
Takeaways
- đ» **Choice of OS**: The choice between Mac, Windows, or Linux is crucial for programmers as it impacts the development environment and potentially the programmer's identity within the tech community.
- đ **Apple Ecosystem**: Choosing a Mac means joining the Apple ecosystem, which is known for its proprietary nature and limited upgrade options.
- đ ïž **Linux Freedom**: Linux offers the most freedom and flexibility, allowing users to compile the kernel from scratch and customize their system deeply, which can be a mark of a 'true' programmer.
- đ„ïž **Windows for Work**: The speaker's first job involved using Windows and technologies like Java and Oracle, indicating its prevalence in certain corporate environments.
- đ **Mac for Mobility**: The Macbook Pro was chosen for its portability and ability to work on the go, highlighting the benefits of Apple's hardware for remote work.
- đ§ **Linux for Learning**: Using Linux can lead to a deeper understanding of how computers work due to its requirement for more hands-on configuration and management.
- đ ïž **Server Dominance**: Linux dominates the server market due to its reliability, open-source nature, and lack of cost, making it essential for programmers to learn for server-side development.
- 𧩠**Complexity of Linux**: The complexity of setting up and managing a Linux system can be a barrier to entry, but it is also a learning opportunity for those aiming to become proficient system administrators.
- đ° **Cost Considerations**: Macs are expensive and have limited upgrade options, whereas Windows can be run on any hardware, allowing for more flexibility and cost-effectiveness.
- đ **Learning Curve**: Each OS has its own learning curve; Windows with its updates and file path syntax, Mac with its Unix base and developer tools, and Linux with its terminal commands and customization.
- đ **Windows Subsystem for Linux (WSL)**: WSL allows running a full Linux distro within Windows, offering the benefits of both operating systems and simplifying the development process for those who need access to Linux tools.
Q & A
What is the significance of choosing an operating system as a programmer?
-Choosing an operating system is significant because it impacts the programmer's workflow, the tools they use, and their development environment. It also affects the subconscious as it shapes the way they interact with technology over thousands of hours.
What does the speaker imply by referring to the 'Windows Collective hive mind'?
-The speaker is suggesting that by agreeing to use Windows, one becomes part of a larger community or 'hive mind' that is influenced by Microsoft's ecosystem and proprietary standards.
Why did the speaker switch from a MacBook Pro to a Linux-based system?
-The speaker switched to a Linux-based system because they realized that many hardcore developers were using Linux, and after their MacBook Pro stopped working, they built a PC and installed Ubuntu, which allowed them to experiment with different distributions of Linux.
What is the speaker's opinion on the term 'GNU/Linux'?
-The speaker refers to 'GNU/Linux' as a system that is not an operating system by itself but a free component of a fully functioning GNU system, made useful by the GNU C libraries, shell utilities, and vital system components.
What are the advantages of using Windows for development according to the speaker?
-The speaker mentions that Windows has evolved to become more developer-friendly, with features like the Windows Subsystem for Linux (WSL), which allows running a full Linux distro inside Windows, and the ability to install on any hardware for easy upgrades.
How does the speaker describe the process of setting up a Linux system?
-The speaker describes the process as complex, involving choosing a family of distributions, selecting a specific distribution within that family, choosing a desktop environment, and using the terminal to resolve dependencies, compile software, and update file permissions.
What are the drawbacks of using Linux for personal computing mentioned by the speaker?
-The speaker mentions that Linux has a small market share in personal computing, leading to limited support for commercial software, a lack of drivers for certain hardware, and a higher learning curve for users not familiar with the system.
What is the speaker's view on the use of Windows for development?
-The speaker acknowledges that while Windows has had a contentious history with open-source software, it has made strides in becoming more developer-friendly, especially with the introduction of WSL and other modern development tools.
What are the benefits of using a MacBook Pro for development?
-The benefits include high-quality hardware, a Unix-based operating system, and developer tools like Zell, Git, and Vim that come pre-installed. Additionally, the macOS ecosystem is designed to work seamlessly out of the box, reducing the need for extensive configuration.
How does the speaker describe the terminal experience on a Mac?
-The speaker describes the terminal experience on a Mac as nice, with good-looking tools, although some tools can be annoying to use, such as Finder.
What is the speaker's recommendation for an IDE that works across different operating systems?
-The speaker recommends JetBrains IDEs, particularly WebStorm for web development, for their sophisticated code completion, integrated tooling, and the addition of an AI assistant that can offer suggestions and understand the context of large projects.
Outlines
đ€ The Choice of Operating Systems for Programmers
The video discusses the significant decision programmers face when choosing an operating system (OS) among Mac, Windows, or Linux. The presenter humorously refers to the 'collective hive mind' of Windows users and the 'cult of Apple' when getting a new Macbook. They share their personal journey through using Windows for work, enjoying the portability and development experience on a Macbook Pro, and eventually embracing Linux for its open-source freedom. The video emphasizes the importance of having a versatile IDE that works across all platforms, highlighting JetBrains IDEs for their reliability and powerful features. It also touches on the cons of Mac, such as expensive hardware with limited upgrade options and the closed ecosystem, while praising its Unix-based software and developer tools.
đ Linux: The King of Servers and Customizability
The presenter delves into the world of Linux, highlighting its dominance in server environments due to its free, open-source, and reliable nature. They discuss the complexity of setting up and customizing a Linux system, which involves choosing from various distributions and desktop environments. The video suggests that using Linux can lead to a deeper understanding of how computers work and can be particularly beneficial for server deployment and penetration testing. Despite its learning curve and lack of support for commercial software and hardware drivers, Linux offers flexibility and powerful developer tools. The video also briefly mentions other open-source kernels and humorously addresses the pain points of Windows development, including the cost of Windows Pro, the prevalence of 'crapware,' and privacy concerns. It concludes with a flowchart to help viewers decide which OS to choose based on their financial status, relationship status, and personal beliefs about system design.
Mindmap
Keywords
đĄOperating System (OS)
đĄWindows Collective
đĄApple Cult
đĄLinux Kernel
đĄGNU/Linux
đĄWindows Subsystem for Linux (WSL)
đĄIntegrated Development Environment (IDE)
đĄMacBook Pro
đĄUbuntu
đĄDebian
đĄRight to Repair
Highlights
The choice between Mac, Windows, or Linux is a crucial decision for programmers, impacting not only the operating system they will use for thousands of hours but also their subconscious.
Using Windows may lead to joining the 'Windows Collective hive mind', while using a Macbook can feel like joining the 'cult of Apple'.
Compiling the Linux kernel from scratch is suggested as a way to break free from proprietary systems and become an 'open source freedom fighter'.
The speaker has experienced the 'pleasure and pain' of all three operating systems over a decade and considers FreeBSD superior.
The speaker's first job involved using Windows and technologies like Java and Oracle database to build websites.
After being fired from the first job, the speaker transitioned to remote work using a Macbook Pro for Ruby on Rails development.
Linux is recognized as the choice of 'hardcore developers', and the speaker built their first PC and installed Ubuntu after their Macbook Pro failed.
GNU/Linux or 'G Plus Linux' is not an operating system by itself but a component of a fully functioning GNU system.
The speaker uses Windows with the Windows Subsystem for Linux (WSL) for development and keeps a MacBook Pro for traveling.
An IDE that runs on all operating systems is essential, and JetBrains IDEs are recommended for their sophisticated code completion and integrated tooling.
Mac OS is praised for its Unix-based system, developer tools, and nice terminal experience, but criticized for its high cost and lack of upgradability.
Linux is king on servers due to its free, open-source nature and reliability, but it can be complex for personal use.
Linux offers the most flexibility for customization and can teach users a lot about how computers work.
Commercial software support and hardware drivers are often lacking in Linux, and its market share for personal computers is low.
The Windows Subsystem for Linux (WSL) allows running a full Linux distro inside Windows, combining the best of both operating systems.
Windows is not a 'walled garden' and can be installed on any hardware, offering easy upgrades and customization.
The final decision on which operating system to use depends on personal preferences, financial status, and whether one values a system 'designed by God himself'.
Transcripts
Mac windows or Linux that's the single
biggest Choice you'll ever make if you
decide to become a programmer not only
will you spend tens of thousands of
hours with your OS but it also has a
profound impact on your subconscious by
clicking I agree to the terms and
conditions you are now forever a part of
the windows Collective hive mind when
you unbox that Sleek new Macbook you
unknowingly just join the cult of apple
and the only way to break these
proprietary shackles is to compile the
Linux kernel from scratch to call
yourself an open source freedom fighter
who will be your supreme leader jobs
dates or tour vaals in today's video
we'll look at the differences between
Mac windows and Linux from the
perspective of a software engineer for
more than a decade I've enjoyed the
Pleasure and Pain of all three of these
operating systems and have realized that
FreeBSD is superior to all of them but I
don't want that secret to get out in
many years ago when I got my first real
job I was assigned a Windows machine and
got introduced to beautiful Technologies
like Java and Oracle database from my
cubicle I use these tools to build
crappy websites for a failing Fortune
500 company it sucked but luck through
divine intervention I was fired from
that job and started doing remote work
full-time with my brand new Macbook Pro
this bad boy had a dual core CPU and a
full gigabyte of ram I traveled around
the country from Starbucks to Starbucks
drinking so lattes while developing Ruby
on Rails applications on my MacBook but
eventually I realized that the real
hardcore developers were using Linux as
fate would have it my MacBook Pro
stopped working right on schedule
exactly 2 years after I bought it so
that's when I built my first PC from
scratch and installed Ubuntu around this
time Richard stallman called at spyware
so I experimented with a bunch of other
dros but have mostly stuck with Debian
what I'm referring to as Linux is in
fact G new Linux or is I've recently
taken to calling it G Plus Linux the
ganu plus Linux system Linux is not an
operating system unto itself but rather
another free component of a fully
functioning gnu system made useful by
the ganu cor Libs shell utilities and
vital system components comprising a
full OS as defined by posix what I've
learned over the years is that there's
no perfect OS like today I use windows
but use the windows subsystem for Linux
for development and always keep a
MacBook Pro along with my ski goggles
available for traveling now when using
three different operating systems it's
important to have an IDE that runs on
all of them and there's nothing better
than Jeet brains idees the sponsor of
today's video their legendary family of
integrated development environments are
used by millions of developers every day
and famous for their sophisticated code
completion and integrated tooling as a
web developer I'm a big fan of webstorm
which contains everything you'll need
for the craziness of JavaScript
development but can Now understand and
write code even faster thanks to the AI
assistant it's a programming optimized
model that can offer suggestions
describe your code and write your code
while understanding the context of a
large project but most importantly the
IDE is reliable and fun to use it's got
an intuitive minimal interface but tons
of power under the hood so you don't
need to install a bunch of plugins to
start being productive and best of all
you can try out Jeet brain's idees for
your favorite programming language with
a 30-day free trial use the link in the
description deson but now let's talk
about the pros and cons of developing on
a Macintosh Apple by far makes the best
hardware but to obtain it you must pay a
large tribute like $1,000 just for a
stand in addition another major drawback
is that you can't upgrade these machines
if you want to add more RAM storage or
gpus the upgrade options are extremely
limited on top of that that ecosystem is
designed to lock you in if you want to
build apps for iOS or the Apple Vision
Pro you'll almost certainly need to own
a Mac and if your Hardware ever breaks
you'll find that the components are
glued or soldered into place which means
it's impossible to repair without going
to the Apple Store and there's been a
lot of controversy around the right to
repair but nobody really wants to repair
their old MacBook by the time it breaks
there's going to be some awesome new
thing that you'll just have to buy but
more important than the hardware is the
software and one thing that's really
nice about Mac OS is that it's Unix
based Unix has been around since the 70s
and has a really nice file system design
that uses forward slashes and Mac comes
with a bunch of good developer tools out
of the box like Zell git vim and so on
in addition you can use package managers
like Homebrew to easily install and
manage different development tools the
terminal experience on a Mac is nice and
tools in the guey look really nice
although they can be pretty annoying to
use I'm looking at youf finder but most
importantly everything works out of the
box with zero configuration Mac OS
prevents you from going down
customization rabbit holes spending days
configuring Pointless Stuff on your
machine instead of writing code that's
actually useful but if you want to get
really good at computers you'll need to
learn Linux on the server Linux is King
the vast majority of servers running in
the cloud powering the world's
infrastructure run Linux and that's
because it's free open- source and
reliable however very few normies
actually use it for their personal
computers why is that it has to do with
complexity to use Linux you first need
to choose a family like Debian Arch red
hat genu and many others then you have
to choose a drro in that family like
under Red Hat you've got Enterprise
Linux vedora Centos Rocky Linux and many
others then you'll have to choose a
desktop environment like gnome KDE and
so on then finally you'll need to open
up the terminal type in a bunch of
commands to resolve dependencies compile
things from Source update file
permissions then a few weeks later you
should be good to go some dros are
designed to be extremely userfriendly
like the Debian based Linux Mint but if
you really want to be an apex Alpha
programmer you'll likely want to go with
something in the arch family allowing
you to legally say I use Arch by the way
not only is Linux free but it offers you
the most flexibility for customizing
your machine and in turn you're likely
to learn a lot more about how computers
actually work when you use it and if you
really want to get into something like
penetration it dros like Cal Linux are
highly optimized for that activity in
addition if you're deploying
applications on Linux servers you'll be
much more familiar with the Linux
ecosystem when you use it every day and
there's all kinds of amazing developer
tools you can use on Linux that may have
a higher learning curve initially but
can dramatically improve your
productivity but there are quite a few
drawbacks the support for commercial
software like Adobe products and a large
number of games and drivers for Hardware
is just nonexistent Linux only has a
single-digit market share of personal
computers and many developers just
choose to ignore it all together but
Linux is not the only open source kernel
if you're really Brave you can use other
kernels like open BSD Minix or redo but
then you'll really be on your own and
ultimately when you have to configure a
lot of things by hand it makes the
entire system more brittle which means
you'll eventually break something stupid
and end up spending two days debugging
your bash profile which is one of the
leading causes of a neck beard Linux can
be painful at times but you need that
pain to grow you don't know real pain
though until you've tried to develop on
windows at first you're going to need to
charge your mom's credit card $199 for
Windows Pro then when you install it
it's going to try and sell you a bunch
of crapware like Microsoft Office and
one drive even if you decline you'll
still need to log into a Microsoft
account is so it can spy on you in
perpetuity in order to resell you that
same crapware every day for the rest of
your life when you boot it up you'll
find artificial intelligence everywhere
you'll need a co-pilot just to manage
all your co-pilots now if you're coming
from Unix you'll notice some weird
things like it uses backs slashes for
file paths and every day or two the
system will shut down an update to make
sure you have the latest spyware
installed when it comes to open source
software Dev Vel mment Microsoft has
some skeletons in the closet in the 9s
it had a strategy to embrace Open
Standards extend them in incompatible
ways in order to extinguish them later
on and Balmer once called Linux a cancer
how much do you think this Advanced
operating environment is worth but
nowadays things are different even
though I hate Microsoft I use Microsoft
VSS code to write my Microsoft
typescript code then push it to
Microsoft GitHub and install my
Microsoft mpm packages then deploy it to
Microsoft Azure from my Microsoft
Windows machine at some point Microsoft
realized the way to win over developers
was to become less like Windows and more
like Linux and the killer feature for
that is the windows subsystem for Linux
which allows you to run a full Linux
drro inside of Windows not just an
emulated one which gives you the best of
both worlds you can use all your
favorite Linux terminal apps and even
run Linux guy apps like VLC and in
the past I used to dual boot Windows and
Linux but WSL has made that unnecessary
it's not perfect and there are some
random issues that come up and WSL can
be painfully slow at times but it's a
pretty awesome feature overall and one
huge benefit of Windows over Mac OS is
that it's not kept in a Walled Garden
Windows is proprietary but it can be
installed on any hardware which means
you can easily upgrade your RAM CPU GPU
Etc but now that brings us to the final
question which tribe should you join
well I've created a handy flow chart to
help you choose the first question is
are you rich if you answered yes then
the answer is pretty easy Mac OS but if
you answered no the next question is do
you have a girlfriend Andor Al life if
you answered yes then Windows is the
optimal choice then your final question
should be do I want an operating system
that's designed by God himself if you
answered no then Linux is your best
choice but if you answered yes then the
obvious choice would be Temple OS
5.0 / 5 (0 votes)