Jump to content

MacOS vs Linux Mint? Will learning Linux make me a better coder? And pedestrian concerns.

I'm kind of in this person's position so I won't repeat his/her complaints about soldering down components. One other issue that I have is a lack of stability in macOS. My first real Mac was a 2019 16" MBP and it came with Catalina 2019. Since then, I've seen Big Sur 2020, Monterey 2021, Ventura 2022 and now upcoming Sonoma 2023. This is getting ridiculous!!! It really is.

 

I was a PC user all my life and I switched to Mac in ~2018 when I began teaching myself to code. I began by learning SQL since it was very closely related to MS Excel, which I had to use daily in my past industry. I then followed up with Python and began learning pandas, numpy, and matplotlib and even a bit of Airflow. But I'm not a programmer by training/education. So, will moving to Linux force me to be a better coder? Is it simply understanding the command line or is there something else like troubleshooting when installing things? A popular YouTuber said, "Linux is great, if you don't value your time." What does he mean by the maintenance? I've tried Windows WSL and I understand having to install things twice but what about standalone installation? 

 

If I have an x86 laptop and I spec it up with 64GB of RAM and 2TB SSD, will it run just as good as an Apple Silicon Macbook with similar specs? I have an M1 Macbook Air and it is impressive that this little machine is so powerful and so power efficient. I understand that Linux has much lower system requirements but does that translate into more battery life for an equivalently powerful PC? I picked this computer at random. What kind of battery life can I expect with this machine? I know these seem like superficial issues but they really do affect your overall experience with Linux. I've watched a lot of videos on Vanessa and Victoria (I love the names) and the UI is simply fantastic and everything OSX should be. But I also can't deny the efficiency of ARM. It seems to be the future. 

 

So, I'm not exactly clear on what to do here. Appreciate your thoughts on the gibberish above.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, MrMitty said:

So, will moving to Linux force me to be a better coder?

A programmer per se? No, not really, but it'll help you to understand how your code is being deployed, how to deploy it, how to debug system resource usage stuff and whatnot, so while it won't actually help you improve to write actual code, it'll for sure help you understand what goes around to get your code up and running.

5 hours ago, MrMitty said:

Is it simply understanding the command line or is there something else like troubleshooting when installing things?

Mostly command line for your coding stuff, and some troubleshooting like in any OS.

5 hours ago, MrMitty said:

A popular YouTuber said, "Linux is great, if you don't value your time." What does he mean by the maintenance?

I guess that's more relevant for those users who just want to browse the web or play games, often facing issues that they're not used to deal with on windows, which leads them to waste time trying to solve it. For someone who's actually working with this kind of stuff, I wouldn't say it's a waste of time by any means tho.

5 hours ago, MrMitty said:

I've tried Windows WSL and I understand having to install things twice but what about standalone installation? 

I've had only headaches when I had to use WSL in a previous workplace, and used it for less than a month before I got permission to have a standalone install, so I can't really comment much on WSL other than I don't like it (fwiw, I'm a daily linux user for the past... 10 years or so, and really have no need for windows).

5 hours ago, MrMitty said:

will it run just as good as an Apple Silicon Macbook with similar specs?

No, there's no laptop that matches AS currently, sadly.

5 hours ago, MrMitty said:

I understand that Linux has much lower system requirements but does that translate into more battery life for an equivalently powerful PC?

Not really, no, there's only so much the software can do.

 

5 hours ago, MrMitty said:

I picked this computer at random. What kind of battery life can I expect with this machine?

A gamery laptop? Maybe 4 hours or so? You got an awful example for battery life lol.

If it helps you, I have a LG Gram 14" with a 10th gen intel and I can get around 8~12 hours of battery life. On my work's MBP 14" M2 Pro I can get anywhere in between 7 to 15 hours of usage.

 

If you want a good laptop, look into actual macbook competitors, so premium notebooks and not those gamer ones. Most of those are trash when it comes to build quality and battery life, and the GPU is utterly useless for programming (for GPU-related tasks, you're better off with a cloud machine or remote desktop anyway).

5 hours ago, MrMitty said:

But I also can't deny the efficiency of ARM.

It really doesn't have much to do with ARM, it's just that Apple made a good SoC, picking ARM was just a coincidence. You don't see any other ARM CPU that is as good, and they likely could've done a chip as good in any other ISA.

6 hours ago, MrMitty said:

o I won't repeat his/her complaints about soldering down components

If that's an issue for you, so your only good options are either the framework or those HP business laptops. All others have most of the components soldered. I personally don't care at all, but keep this in mind when looking for your options.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Overall your questions are vague and mostly don't have solid answers. No, Linux will not force you to be a better programmer or even a programmer at all. Using the command line is not programming. You may get a bit into scripting if you like to tinker and customize but you can largely do the same on Windows and Mac. Both of which also have plenty of programming tools available.

"An x86 laptop" is not specific enough. You have to check reviews for battery life for each laptop or at least pay a lot of attention to the battery included and the chipset. Anything marketed for gaming or workstation will have relatively poor battery life as it focuses on performance. Nothing truly beats Apple at this specific game right now. There are ARM devices that can run Linux if you look hard enough but they tend to be relatively low performance.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, igormp said:

A programmer per se? No, not really, but it'll help you to understand how your code is being deployed, how to deploy it, how to debug system resource usage stuff and whatnot, so while it won't actually help you improve to write actual code, it'll for sure help you understand what goes around to get your code up and running.

Mostly command line for your coding stuff, and some troubleshooting like in any OS.

I guess that's more relevant for those users who just want to browse the web or play games, often facing issues that they're not used to deal with on windows, which leads them to waste time trying to solve it. For someone who's actually working with this kind of stuff, I wouldn't say it's a waste of time by any means tho.

I've had only headaches when I had to use WSL in a previous workplace, and used it for less than a month before I got permission to have a standalone install, so I can't really comment much on WSL other than I don't like it (fwiw, I'm a daily linux user for the past... 10 years or so, and really have no need for windows).

No, there's no laptop that matches AS currently, sadly.

Not really, no, there's only so much the software can do.

 

A gamery laptop? Maybe 4 hours or so? You got an awful example for battery life lol.

If it helps you, I have a LG Gram 14" with a 10th gen intel and I can get around 8~12 hours of battery life. On my work's MBP 14" M2 Pro I can get anywhere in between 7 to 15 hours of usage.

 

If you want a good laptop, look into actual macbook competitors, so premium notebooks and not those gamer ones. Most of those are trash when it comes to build quality and battery life, and the GPU is utterly useless for programming (for GPU-related tasks, you're better off with a cloud machine or remote desktop anyway).

It really doesn't have much to do with ARM, it's just that Apple made a good SoC, picking ARM was just a coincidence. You don't see any other ARM CPU that is as good, and they likely could've done a chip as good in any other ISA.

If that's an issue for you, so your only good options are either the framework or those HP business laptops. All others have most of the components soldered. I personally don't care at all, but keep this in mind when looking for your options.

Thanks so much for the answers above! 

 

Ultimately, why should a person switch from macOS to Linux? More privacy? More stability? And the ability to have an upgradeable PC? If my goal isn't to become an expert in Linux or servers, is it still valuable to learn your way around the command line? Will I be more employable as a web developer or data analyst if I learn Linux or am I am spreading myself too thin?

 

I see it two ways, it will either make me all-around better understand my OS or it may distract me from actually learning a particular language or tool like Python or Tableau. I think this is what that YouTuber was getting at but he stated it horribly. And speaking on this, the reason why I had tried WSL is that I needed PowerBI (or Tableau) but neither was available on Linux so I would have to spin up a VM. That's a major downside and a reason why macOS can be beneficial, which is software support for proprietary programs. I know I can't natively run PowerBI on Mac but I can at least run Tableau. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, MrMitty said:

Thanks so much for the answers above! 

 

Ultimately, why should a person switch from macOS to Linux? More privacy? More stability? And the ability to have an upgradeable PC? If my goal isn't to become an expert in Linux or servers, is it still valuable to learn your way around the command line? Will I be more employable as a web developer or data analyst if I learn Linux or am I am spreading myself too thin?

 

I see it two ways, it will either make me all-around better understand my OS or it may distract me from actually learning a particular language or tool like Python or Tableau. I think this is what that YouTuber was getting at but he stated it horribly. And speaking on this, the reason why I had tried WSL is that I needed PowerBI (or Tableau) but neither was available on Linux so I would have to spin up a VM. That's a major downside and a reason why macOS can be beneficial, which is software support for proprietary programs. I know I can't natively run PowerBI on Mac but I can at least run Tableau. 

MacOS is locked down and controlled by Apple, whereas Linux is open.

CMI is useful.  It's not hard, you type in commands instead of clicking on things. 

Having basic knowledge of Linux won't make you a better web dev or data analyst.  Linux is just an operating system.  It's a tool than enables a computer to function.
 

If you have a need for certain tools to do you work, by all means learn them and become proficient, but if you don't need it, why bother?

 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, MrMitty said:

Ultimately, why should a person switch from macOS to Linux? More privacy?

Personal preference, I'd say 😛

I pretty much prefer linux to mac, and I do use both on a daily basis, but that's me (and I believe I am in the minority). Linux is also better for some stuff like ML (something that I do work a lot with), so there's that. Adding more context into that, I'm a data engineer and am doing my master's in machine learning, so linux is really useful for me. Can't use beefy Nvidia GPUs on a Mac, and windows is a pain for me haha

6 minutes ago, MrMitty said:

And the ability to have an upgradeable PC?

I guess that's not really related to linux, but rather AS Macs vs PCs in general, and even many modern laptops come with tons of soldered stuff.

8 minutes ago, MrMitty said:

If my goal isn't to become an expert in Linux or servers, is it still valuable to learn your way around the command line?

It may be useful in the long run if you want to deploy your own stuff or get stuff done without needing to rely solely on the DevOps team of your company. I certainly do tons of linux-adjacent stuff on a regular basis, but many webdevs don't even touch the ambient where their applications are hosted.

 

With a Mac you still have to deal with the CLI anyway, so I'm not sure if you would gain much (if at all) by switching to a worse machine (hw-wise) with linux.

10 minutes ago, MrMitty said:

Will I be more employable as a web developer or data analyst if I learn Linux or am I am spreading myself too thin?

If you're already good enough as a webdev of data analyst, then sure, it may be helpful. Otherwise, focus on getting better in those areas beforehand (which does seem to be the case here).

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

42 minutes ago, ToboRobot said:

Having basic knowledge of Linux won't make you a better web dev or data analyst.  Linux is just an operating system.  It's a tool than enables a computer to function.
 

If you have a need for certain tools to do you work, by all means learn them and become proficient, but if you don't need it, why bother?

Can it make you more employable even if you're not going to do backend or security work? 

Link to comment
Share on other sites

Link to post
Share on other sites

34 minutes ago, MrMitty said:

Can it make you more employable even if you're not going to do backend or security work? 

If you aren't going to use a skill, it doesn't really help you gain employment does it?

Focus on relevant skills

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, ToboRobot said:

If you aren't going to use a skill, it doesn't really help you gain employment does it?

Focus on relevant skills

I had an interview with a large bank. It was for a jr data engineering role. I thought I had the prereqs down, especially with Airflow but then the interviewer asked if I knew my way around UNIX CLI. I didn't lie, I said I know just enough to create folders and navigate through file system but I would rather use a GUI. The interviewer was really turned off by this. Needless to say, I didn't get the job. 

 

But for data analyst jobs, I've not had issues with my current skills. No one has asked me about Linux. Just requests, pandas and some BI tool. 

Link to comment
Share on other sites

Link to post
Share on other sites

33 minutes ago, MrMitty said:

I had an interview with a large bank. It was for a jr data engineering role. I thought I had the prereqs down, especially with Airflow but then the interviewer asked if I knew my way around UNIX CLI. I didn't lie, I said I know just enough to create folders and navigate through file system but I would rather use a GUI. The interviewer was really turned off by this. Needless to say, I didn't get the job. 

 

But for data analyst jobs, I've not had issues with my current skills. No one has asked me about Linux. Just requests, pandas and some BI tool. 

oh, yeah, for data engineering you WILL need to know your way around linux, but a jr DE role doesn't really make much sense IMO since you need to have a good grasp of databases, unix stuff, backend development and cloud systems all at once, which is not something that really makes sense to ask a Jr to know.

 

But for a DA role, yeah, you only need to mess with the data and leave your engineer to take care of it, specially in bigger companies. In smaller ones it's not unusual for the analyst to also play the role of an engineer.

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, igormp said:

oh, yeah, for data engineering you WILL need to know your way around linux, but a jr DE role doesn't really make much sense IMO since you need to have a good grasp of databases, unix stuff, backend development and cloud systems all at once, which is not something that really makes sense to ask a Jr to know.

 

But for a DA role, yeah, you only need to mess with the data and leave your engineer to take care of it, specially in bigger companies. In smaller ones it's not unusual for the analyst to also play the role of an engineer.

It was definitely a weird interview - almost as if the interviewer already had another candidate in mind.

 

If that's the case for data engineering, then I should look into Linux Mint more seriously. Perhaps play round with LM on my NUC. I don't want to be a data scientist as it will require more math and stats. 

Link to comment
Share on other sites

Link to post
Share on other sites

19 minutes ago, MrMitty said:

It was definitely a weird interview - almost as if the interviewer already had another candidate in mind.

 

If that's the case for data engineering, then I should look into Linux Mint more seriously. Perhaps play round with LM on my NUC. I don't want to be a data scientist as it will require more math and stats. 

A scientist usually has to deal with some levels of machine learning or simpler stuff, but an analyst should also have a reasonable grasp in stats, like dealing with cohorts, p-values and whatnot.

 

If you plan to be a DE someday, not only you'll need to know your way around linux (no one is going to even ask it, it's a prerequisite), but many other DevOps-related stuff (docker, k8s, CI/CD stuff, IaC, etc etc), and how to get stuff done in cloud environments (which gets pretty easy once you understand the underneath systems that power those platforms).

FX6300 @ 4.2GHz | Gigabyte GA-78LMT-USB3 R2 | Hyper 212x | 3x 8GB + 1x 4GB @ 1600MHz | Gigabyte 2060 Super | Corsair CX650M | LG 43UK6520PSA
ASUS X550LN | i5 4210u | 12GB
Lenovo N23 Yoga

Link to comment
Share on other sites

Link to post
Share on other sites

Learning Linux will not make you a better programmer.

 

Though, if you're technically-inclined, you are definitely going to enjoy using Linux.

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/14/2023 at 7:46 PM, igormp said:

If you plan to be a DE someday, not only you'll need to know your way around linux (no one is going to even ask it, it's a prerequisite), but many other DevOps-related stuff (docker, k8s, CI/CD stuff, IaC, etc etc), and how to get stuff done in cloud environments (which gets pretty easy once you understand the underneath systems that power those platforms).

I think this is a key bit of advice.

 

These things all run on Linux. And the skills that you need to customize your desktop environment with gsettings are the same ones you need using other CLI tools. Piping the output of one command into another, creating and restoring from configuration backups, searching log files in order to debug something, these are the same whether you're trying to change your desktop wallpaper based on the weather or setup a reverse proxy for some web service. And then cloud orchestration tools like ansible or kubernetes are really just trying to make it easy to do the same kinds of setup or multiple VMs. 

 

But if you want more direct practice, forget about your desktop OS and setup a home lab. Check out awesome-selfhosted, find a project that's solving a problem you have and try to get it running at home on your LAN. You don't need a new computer, as VirtualBox running on your current machine will do just fine.

 

I learned lots about Linux by customizing, and breaking, my desktop. But I learned way more operating the 19 self-hosted services I've got on my LAN than I did from the desktop.

Link to comment
Share on other sites

Link to post
Share on other sites

  • 3 weeks later...
On 8/14/2023 at 2:34 AM, MrMitty said:

Be careful with TechLead. He really went down hill since his wife left him.

Now, doesn't change his past advice. But also, he uses Linux to run his own website. Just simple PHP on IBM cloud. This is probably the video.
 

 

On 8/14/2023 at 10:45 AM, MrMitty said:

Will I be more employable as a web developer or data analyst if I learn Linux or am I am spreading myself too thin?

What others have said.

Almost all web servers and large data farms use Linux. They really do not have a choice as nothing else gets close to what Linux offers. You may not interact with that, but the knowledge of how to SSH and debug things in a bash shell is an important skill in today's environment.

I would recommending listening to Coder Radio which discusses this a lot. I do not use a Mac. Michael does use one and he prefers to use PopOS (but Mint is fine) for website work (Python and maybe C#) and switch to a Mac for iOS dev. His main grips is that things break in homebrew for ARM on Mac. Apple is continuing to lock things down and using PopOS is a way to keep some issues from affecting his business.

https://coder.show/

An important thing for new Unix uses is learning how to extend their dotfiles. You can write a simple command that combines together multiple bash files and run it from anywhere in the command line. Learning this, learning to automate tasks is an important part of being a programmer.

Link to comment
Share on other sites

Link to post
Share on other sites

Unless you are learning the Linux terminal & how the system works, it will not necessarily make you a better programmer. However, using a desktop you are comfortable with will. 

 

If you are planning on running / maintaining a server running Linux, it wouldn't make much sense running Linux on your desktop (unless you had other reasons such as disliking Windows and MacOS).

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×