Hey everyone! I'm getting ready to start college and I realized I don't have any experience with Unix or C programming. Can anyone give me advice on where to begin?
4 Answers
The best way to learn Unix is by using a Unix-like system that isn't macOS. While BSD is cool, it can be tricky with hardware compatibility. I suggest installing Linux. It may seem daunting at first, especially if you're new, but I'd recommend Arch Linux. You'll set up a lot of things by yourself, which is a great learning experience. It strikes a balance between challenge and usability compared to options like Linux From Scratch or Gentoo.
If you want to get started with Unix, definitely check out 'The Unix Programming Environment' by Kernighan and Pike, and for C programming, 'The C Programming Language' by Kernighan and Ritchie is a must-read. It’s also a good idea to install a Unix-like system like GNU/Linux or BSD for hands-on learning.
If you're looking for online resources to learn C, w3schools has a C tutorial, but be aware that it has its limitations. Instead, consider picking up K&R or 'C Programming: A Modern Approach' which are both highly recommended for beginners.
I actually started out using the w3schools tutorial for C and found it helpful for a beginner. I think it’s a decent starting point. It was suggested on a roadmap I found, but do take everyone's opinions into account and maybe check out other resources too!
Installing Arch Linux can be tough even for experienced users! For someone without any Unix or Linux background, they might run into issues with checksums and dependencies. My advice would be to start with Ubuntu, where everything works right out of the box. Once you're comfortable, you can try setting up a minimalist version like Arch.