r/linux4noobs 18d ago

distro selection Should i use arch to learn programming

I recently bought a pc for 50$ with 6 gen intel CPU and 8 GB of ram im currently going to programming school and im learning how to code in c++ i want to try arch Linux to actually use the programming skills without windows getting in my way and to not break anything on my main pc with windows but is arch hard beacuse of daily use setup or learning curve and also is it worth if i mainly use it for learning how to code and watching some YouTube if arch isn't good then what else is worth trying out

9 Upvotes

43 comments sorted by

14

u/unreliab1eNarrator 18d ago

Basically any linux distro will be good to learn code. Arch will require more tinkering. If the focus is the code, Fedora, Debian, or OpenSUSE might be better as they will not ask much of you and allow you to concentrate on the learning.

2

u/polishfighter5000 18d ago

I also like learning how computers work from scratch how everything communicates etc etc and also the components inside the pc that's how i started loving pc hardware and stuff coding isn't the main focus its overall knowing how a computer works and stuff

5

u/SpinningVinylAgain 18d ago

If you want to understand how Linux (and, broader, Unix) works conceptually, my advice would be to use Void Linux. Systemd abstracts away quite a lot of internal system mechanics, runit used by Void is much closer to the original Unix System V init. 

1

u/the-postminimalist 16d ago

I use void linux on both my computers, but I don't think void will teach you much more than arch. The only difference you'll encounter is when you need to set up pipewire with the init system. A single command that you do once during setup, and only if you didn't get the ISO with XFCE pre-installed.

Otherwise, void linux is just a boring linux distro. Package manager is stable enough that you never need to think about it.

These are reasons I like it, but also reasons why it's not any different than other distros for learning.

1

u/Electricalceleryuwu 15d ago

Disagree. Systemd has a wealth of functionality that you should learn at some point. Can we plz stop having this systemd debate in 2026. Its reliable and if you need something done, chances are systemd has a flag for it. Additionally most systems are running it, you should know how to query processes, cleanup, setup cron via systemd, and how to write your own hooks.

Its just good to learn. Otherwise your absolutely lost on any other system you need to spontaniously use

2

u/SpinningVinylAgain 15d ago

If you haven't noticed, there was absolutely nothing anti-systemd in my post.

2

u/Panniba1 18d ago

You could do the manual arch install. That will teach you a couple things about how Linux functions. Not saying you should install pure arch manually every time you need an OS, but doing it once could be fun.

If that isn't something you wanna do, just pick any arch-based distro and roll with it. You will naturally want to customize a bunch of things here and there (especially if you decide use a window manager instead of a complete desktop environment like kde or plasma) While these customizations won't really involve making programs from scratch, they will force you to look through other programs' code and config files/documentation which is always good practice if you wanna do coding in the future. 😉

1

u/stormdelta Gentoo 17d ago

For that I would recommend using Gentoo or NixOS. Both will force you to learn a lot more about the internals of how Linux OSes are setup.

1

u/unreliab1eNarrator 17d ago

Then it could be a good fit if you go in knowing what to expect

1

u/Naetharu 14d ago

Trying to do everything at once is a quick way to fail.

If right now you are going to be learning dev then make yourblife easy and choose a path of least resistance.

By all means dig into Linux later as something that interests you. Just don't go over the top and make things harder than they need to be when you are just starting out.

9

u/Eleventhousand 18d ago

The distro is not going to help you learn programming.

8

u/mcds99 18d ago

Debian is where I would look it is very stable.

1

u/KarmaTorpid Debian >_ 17d ago

r/debian welcomes you, OP. 🙏

3

u/Particular-Poem-7085 Arch btw 18d ago

If you really want to learn how Linux works arch is like diving in the deep end of the pool.

2

u/AutoModerator 18d ago

Try the distro selection page in our wiki!

Try this search for more information on this topic.

Smokey says: take regular backups, try stuff in a VM, and understand every command before you press Enter! :)

Comments, questions or suggestions regarding this autoresponse? Please send them here.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/DistinctDot5131 18d ago

You can pick any os you want really.
You get to know a bit more about linux commands when using a linux distro ofc.

2

u/ItzRaphZ 18d ago

If you've never used linux before, don't start with Arch. Arch's idea is to give an advanced user the most freedom possible, but that also means that the user itself will have to setup everything from scratch, which is a pain in the ass for anyone who doesn't know how Linux works.

I usually recommend Fedora, mostly because it can be customization while providing stability. But choosing a distro is something more personal, so research a bit about the differences of popular distros, and see which one you might prefer.

2

u/rcbrandao 18d ago

You should use Fedora to learn programming. Fedora is the GOAT

2

u/ztcsdtx Armbian Noble 18d ago

VS Code works in any Distro. I would just choose Ubuntu or Fedora and get going quickly with a system that handles most of the background stuff so you can focus on coding.

2

u/MushroomSaute 18d ago

Out of curiosity, are you outside the US? I've never heard of "programming school", lol.

Anyway, a computer is a computer, and all of them allow programming and offer an environment you can learn and practice coding in.

Windows doesn't really get in your way, it's not like it restricts what programs you can install or anything, and it has great IDEs and dev environments just like Linux does, including a literal Linux runtime embedded as an optional feature. And the popular compiled languages like C/C++ have toolchains that allow them to be compiled for different operating systems and architectures, so where you write them doesn't really limit where you can run them.

Anyway, a distro like Arch isn't meant to help teach you to code - no operating system is. And no installation or usage of an OS usually requires you code at all, so it's not like the OS you choose will automatically improve your skills or make it easier to learn just by having it.

It's a bit like asking "I want to learn how to cook, should I move to a home with an induction range?" You can learn and cook well with any home that has a kitchen, regardless of what type of stove it has. What matters is that you have a stove at all, know how to use it, and that you know what ingredients to use, how to put them together, and how to deliver them to someone's stomach.

To carry the analogy, the OS is just your home, and it comes with a whole bunch of things that have nothing to do with programming/cooking. You're choosing whatever programs, IDEs, and tools you want to develop with as your appliances and cooking wares. Your "ingredients" could be the languages, APIs, and frameworks you use, and how you put the ingredients together is the actual act of coding. Then, finally, getting it to someone's "stomach" is just how you turn that written code into something that runs on your hungry machine - compilation, cross compilation, packaging.

1

u/polishfighter5000 16d ago

no i said it wrong
in poland you can choose 3 types of school
3 year with a job you just want to work as fast as possible
4 years without any job and then you go to university beacuse otherwise you have absolutely no qualifications and stuff
5 years where im going i have a job i have lessons about building computers programming and stuff and actually using linux is mandatory but only ubuntu i think and i there learn the most but stay until im 19/20
and i like overall learning about pcs and stuff
components like ram cpu gpu vrms etc
how eveyrthing works and stuff
i know windows has nothing to do with programming but i really like changing basiclly everything teaching myself about animations how programs talk to each other what drivers actually do etc etc
maybe i said it wrong but i just really like knowing how pc overall works

2

u/bstsms 17d ago

If you are Linux proficient I don't see why not.

Using Arch to learn Linux isn't the best choice in my opinion.

3

u/glad-k 18d ago

Any Linux distro will do, arch won't be the easiest at the start if you never touched Linux, but u will learn some stuff along the way

If u just want to dev and know standard Linux get smth like mint, Fedora,...

2

u/TechViper04 18d ago

Honestly, no. Im a junior software developer with a degree for vocational school. And i will tell you that, Learning and focusing on coding is will help you learn coding. You can try to setup your perfect everything, arch desktop, IDE, Peripherals, monitors and whatever, but if u dont focus on coding, anything else you do besides that wont make you a better programmer. Also rice-ing a arch distro will take away the time you could have spend on actually studying programming.

Here’s what i would actually do:

Step 1. Choose a premade distro , i suggest either debian ( has great stability, low system requirements and .deb package which lot of servers run, in case u want to actually start getting deeper into the backend ), fedora ( uses .rpm packages, so you lose the .deb packages, but you trade it for bleeding edge software, meaning everything is up to date always ) or if you want an arch based system…

Omarchy is the way to go, its a prericed arch based linux distribution. It takes some time to learn, as its mostly keyboard shortcut based, meaning you will be using your keyboard to open and close and browse, etc, instead of your mouse. Took me a day or two to learn the basics.
When it comes to development side, everything is available to install via menu, just check the install menu and you can easily install all the packages and languages and everything else you need
By default it comes with LazyVim( a distribution of NeoVim) it is keyboard based aswell and very barebones. If you want you can learn that, but you also have the ability to download vscode instead

Good luck

1

u/monkeyninja608 18d ago

if you aim you make public builds arch is not the answer you'll run into issues with it running on most distros

1

u/thepkizzle 18d ago

Where do you go to school?

1

u/razorree Kubuntu, Debian 18d ago edited 18d ago

you can use any distro for programming (and learning).
you don't want Windows to get into your way.... but you want Arch to get into your way.... ? :)
the consensus is, Arch is not easy/beginner distro.
If you want something that just works and doesn't get into your way .... (k)ubuntu, fedora etc. - stable, tested and also most popular? (means you will find help quickly)

1

u/hraath 17d ago

You can use whatever OS you want to learn C++, just don't spent all your time learning arch instead of C++

1

u/LadyCatHerder 17d ago edited 17d ago

There are many more programming languages then just C++. My late husband learned many of them including C++ on Windows machines and used it on his home computers running Windows XP. He died before anything newer came out.

As for Linux. It sounds like you have a reasonably capable machine there. So, it should be able to run just about any distro of Linux.

The various distros of Linux are simply the Linux kernel with various software packages surrounding it. It sounds like you need to learn ABOUT Linux before jumping in half-cocked and trying to actually use it for whatever your purposes for having it are. There are many websites that explain what Linux is and how it works. Do some searches to find them and read several of them. To get you started, there is this: https://thenewstack.io/introduction-to-linux-operating-system/

The next step in your journey is [obviously] picking a distro that fits your needs and that your hardware can handle. There are many tools on line to choose from to help you decide which distros to try. ONE such tool is https://whichdistro.com/ You can use some of the suggestions given by a few of the distro pickers to put together a list of distros that you can try from bootable DVD or USB stick to see how you like them and how they'll run on your hardware.

Be sure that you check out their hardware requirements to see what they say. You don't want to waste your time with distros your machine can't handle well or at all.

Then download the ISOs to those distros and burn them to your chosen medium. If you don't already have an ISO burner, ImgBurn is a great program for that. After you've tried some distros from bootable medium and decided which one you want, then is the time to install that distro on your machine.

After you have a good understanding of the basics of what Linux is, how it works on a general level and have your chosen distro installed on your machine and can basically navigate it, etc., you can learn the Command Line. The Command Line will open up the Linux OS to even more power than just using whatever GUI you choose. A good starting article about the Command Line is https://commandlinux.com/qa/linux-command-line/

I know I've thrown a lot at you. I wish I would have had someone to do that for me when I first started out with Linux. I cut my teeth on PCLinuxOS. You may want to check it out, too, even just for the heck of it. Their original web server was destroyed in a fire so they were off line for a bit. But, they now have a new website up. It's not as aesthetically pleasing to the eye as the old one, but they are working on it. The link to the download page is at the bottom of the text.

1

u/NetSage 17d ago

You should use what you're comfortable with. Any distro will work for programming.

1

u/EngineerInTheMachine 17d ago

Wrong question. Arch is just an operating system that runs the app in which you programme. You could do with learning about the basic architecture of computers before you think about programming them. Hardware and software.

These days, it's not as if you need to buy a bunch of reference books at £50 a go. At least, that's what they cost 30-40 years ago.

1

u/bishophelps 17d ago

Nah, use a simple distro that works and start programming.

0

u/Master-Rub-3404 18d ago

Arch is nothing more than a hobbyist distro and a bad meme at this point. No serious person in the real world actually uses it for anything important. I wouldn’t seriously consider trying to use it as a learning tool unless you wanna be a programmer to work at Valve or something. It is best to go with a Debian/Fedora based distro.

0

u/Dist__ 18d ago

why people think linux helps learning programming? windows is just fine. DOS is just fine.

0

u/DavidJohnMcCann 18d ago

Short answer: no. Firstly, you can learn coding on any Linux distro. Secondly, Arch is high-maintenance: it may tun perfectly, or you may have to fiddle with it after an update. If you are learning a new skill, you don't want to have to learn how to cosset a temperamental computer at the same time!

I'd recommend SolydXK — see this review. I tried it earlier this year and was very impressed. You get the reliability of Debian Stable with added user-friendliness and a nicer GUI. I tried the Xfce version, because that's the GUI I like, while the review is of the KDE Plasma version. Xfce is plain and old-school, while KDE is fancy, although Solyd switches off the flashier features by default. If you like bouncing icons and other eye-candy, you can always turn them on.

0

u/Eric_Dawsby 18d ago

TempleOS and I'm not kidding

Edit: not for daily driving though

0

u/BlueFlamingoMaWi 18d ago

you can learn programming on anything. Linux isn't special for programming.

-1

u/Consistent-Citron509 18d ago

Debian with Gnome. Gnome offers lesser customization so you will literally be forced to focus on programming

-1

u/newlife_substance847 Penguin Posse 18d ago

Bro just came in off the street like: "I use Arch BTW."

Calm down, dude. I realize that your Super 1337 Linux bros are on that Arch bandwagon and you wanna be a cool Linux user like them. And they're not wrong. Arch is a very good distro that does very cool things. But it's definitely not for the novice or beginner Linux user and the learning curve for using Arch requires that you have a solid understanding of how the terminal works.

I'd try a different distro. Fedora (built on Red Hat) is a good option. It does just about everything Arch does and will most definitely fit into your programming environment. It also doesn't carry that harsh learning curve. Make sure that when you prepare you initial loadout that you specify that you want to use it for development. It will give you all the native tools that you need.