Live data from Hacker News

Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

news.ycombinator.com

71–80 of 114 posts

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#71
post #68

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

There's no such thing as Linux programming without C. You will have to deal with it eventually regardless of how many wrappers Python etc. puts on top of it.

Just because a C programming experience is possibly going to happen far off in the future doesn’t mean that beginners should commit to having a traumatizing ‘70s computing flashback as their first real programming experience.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#72

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

[deleted]

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#73
post #40

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

Commit to using, breaking and fixing a Linux desktop to learn quickly. I learned a lot running Debian Unstable back back when men were men and unstable was really unstable; so the 2010s. If minor things are constantly going wrong and getting fixed then the only way that can happen is the user building up a good mental model of how the system works. An update that breaks X11 will teach you a world of information about…

> Commit to using, breaking and fixing a Linux desktop to learn quickly. I learned a lot running Debian Unstable back back when men were men and unstable was really unstable; so the 2010s.

Disagree. There's nothing worse than needing to use a machine, but you can't since it's broken because some package maintainer pushed a bad release upstream.

There will be plenty to fix and tweak on any standard desktop or laptop when you install Linux, especially Macs. Might as well use a distro and release channel that let's you get your work done.

IMO, the hours that I wasted learning how to fix XFree86 went to waste.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#74

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

I agree with this recommendation, but Ubuntu is a PITA for a desktop IMO. Manjaro is much more stable, easier to setup and maintain and the default UI (XFCE) is simpler and very similar to Windows.

Ubuntu is good for a server. Using 2 different distros would be good to learn how not all Unixes/Linuxes are the same and how they might differ.

I would also add: Whatever programming language you learn, you're probably going to want to learn some auxiliary languages as well. Don't get stuck thinking you can do everything with one language. Learn JavaScript, SQL, HTML and CSS as well.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#76

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

It is trendy to hate C now, but if you want to understand a Unix-like OS I think it is mandatory and they go hand in hand. Otherwise, you will have no idea what kind of interface your higher level language is abstracting. It's ok to not like it, but don't let that dislike be due to lack of understanding.

Indeed. All the foundational common ground between all languages in Unix is made for C. I'm talking about the system call interface. All general purpose languages will have a wrapper for this interface, but the main documentation is made for C.

Besides that, libraries tend to be made in C as well. That's because if it's in C, it's easy to make it available for other languages. Most general purpose languages will have some type of "foreign function interface" to call on C code. That means that the main documentation for these libraries will be for C as well.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#77

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

I agree you need to use it daily but disagree that an Ubuntu desktop provides any real insight. Here's some BASIC questions an ubuntu user might never encounter: Which processes are currently hogging the CPU? Which ports are currently open? How do you setup a remote git repo and/or add a user for limited ssh? How do you increase an existing swap part without locking the CPU during write at peak loads? How do you excl…

I do not think my beginner advice would include "find someone who will pay you to do the thing you can't yet do"

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#78

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

Some people are harshing on you for recommending Python because C is the unavoidable end-game in Unix. But I agree with the advice that Python is a great place to start.

Learn to write good Python. After that, learning to write good C will be much faster and easier and far less frustrating. Ultimately, on Unix you end up at C for at least some things (Python is implemented it C, after all). But these days, you can kick the can pretty darn far down the road before needing C.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#79

I’m primarily a windows user and am programming to create products. Since I don’t work a programmer job, my learning is unstructured. Is bash the main benefit of learning something like Ubuntu? I have delayed making the switch because I have lot of things to learn (currently relearning math, testing out different deep learning architectures, and learning JavaScript (second language after Python)) and not sure if shou…

> I’m primarily a windows user and am programming to create products. Since I don’t work a programmer job, my learning is unstructured. Is bash the main benefit of learning something like Ubuntu?

That's one advantage. The big advantage is that most enterprise web sites and webservices run either on a rented Linux server or on a Linux instance that's "serverless" (meaning it can run processes and access databases, but can't save stuff permanently to the filesystem). If you have familiarity with Linux, then that lends itself well to the work of troubleshooting the complications that come with that setup.

Re: Ask HN: How can a intermediate-beginner learn Unix/Linux and programming?

#80

I disagree with lots of advice here. My strategy to solidify my linux skills was simple: commit to linux desktop. We spend most of our time on our desktop, may as well let that time earn you skill points. I picked ubuntu and use the same on servers. You naturally learn a bit every day through daily use. This really adds up over time without extra effort of using a side system. Getting good at windows or osx is a wast…

That's how I learned; on a good ol'fashion gentoo box.

learned so much about os stuff and kernel drivers, etc...

It was like diving in the deep end of a pool though.

Post reply on HN