Live data from Hacker News

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

news.ycombinator.com

51–60 of 114 posts

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

#51
post #46

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…

> , (5) concise. That rules out C (due to 1) That's interesting, most people I've started on C have found it easier to start out in that than say, Java, which has been on a hell of a lot of introductory courses for a decade now

[deleted]

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

#53

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…

You can use a Linux desktop today without being exposed to the important stuff.

What is the lifecycle of a process and their states? What is a signal? What is a file descriptor, a socket? etc...

Can you say you know about Linux without being able to answer these questions?

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

#54
I strongly recommend Rochkind - Advanced Unix Programming.

Despite the title, it's not that advanced; the "advanced" here refers to system-level programming, not application.

Note, for this you probably need to learn C.

K&R ed2 remains an excellent book for this.

Honorary mention - Kernighan and Pike - Unix Programming Environment. But it's a little dated.

Above all, do. Get a Ubuntu or Centos image, install developer tools (gcc), manpages, and write some code.

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

#55
post #45

There are many ways, but here is one: Read and lightly work through The C Programming Language (K&R). Code along with the book, don’t feel you have to really deep-dive anything. You don’t have to learn C well at this point. Just learn from it. Then start reading The Art Of Unix Programming. Do this casually. Read a bit, code a bit. Between K&R and TAOUP, you’ll be inspired by to write at least two small projects. To…

Not sure about TAOUP. THere's a lot of verbiage there.

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

#56
post #48

I would recommend learning Linux the way I did 15 or so years ago: get rid of other operating systems and use a more 'advanced' distribution (such as Arch or Gentoo). In my case, I fucked up my Windows install on a new laptop when I was 12. At that point, I was stuck and just decided to stick with Linux. It's remarkable how quickly you learn when you absolutely need to in order to use the computer. My second piece of…

Better is the way I learned it 25 years ago. Burn up your 386sx CPU while doing a kernel build, then get a loan for a nicer computer. It should have at least 4 MB of ram. Spend about 200x minimum houry wage on a nice monitor, then be very careful with manual modeline settings in your xfree86 config so that you don't destroy the monitor.

Get yourself a bulldog clip to hold that send book open to the page you are repeated referring to. When you graduate to Stephens' UNIX Systems Programming, the bulldog clip won't be needed.

If your monitor doesn't stand tall enough, 4 reams of copy paper are much cheaper than the same thickness of X programming manuals.

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

#57
I became much more comfortable with the Unix environment by completing the Bandit game [0]. It teaches you various Unix tools and forces you to learn the command line. There are about 30 parts, each can be completed in a timespan ranging from a couple of minutes to an hour. It is mighty fun and I highly recommend it.

[0] https://overthewire.org/wargames/bandit/

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

#58
Learning is always easy when you can scratch your own itch with spare time.

Since computing was my escape from a pretty unhealthy environment at home (alcoholics, TV) and computer games/hardware were prohibitively expensive beyond Quake 2, routine saved the day: go to high school, come home and zone into computer for 4 years. A couple years in I started getting small gigs, then a lot of them, then got on the FTE track and hit $200k/yr by 30.

As an adult, I’ve had 6 years of fitness starting with forcing myself to spend 45min/day with no plan in the gym until it felt weird to not go, and now I could easily get on track to become a trainer if I wanted. I got 50lbs overweight over a few years from being so steeped in building software and networking with beer and pizza. I’m mistaken for early 20’s at age 35 universally.

You have to intrinsically enjoy it, and then make time for it.

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

#59

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…

100% agree with the 'just use it' part. I've been using Linux machines since the mid 2000's and the knowledge compounds over many years.

For programming language, I'd say Python is decent for a beginner. I've used Python as a language to teach some people programming, and the fact that they can do a wide variety of things (even games with Pygame) helps them stay engaged.

I would always recommend exploring other options as well though, to see what else is out there.

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

#60

If you are on Windows I recommend setting up Windows Subsystem for Linux. With VScode. You now have a Linux server with remote code editing. I note you have an Raspberry pi, what follows will work with the pi as well with whatever remote machine. Complete these tasks 1) install the language of your choice and start a simple web site using the languages webserver. View the website in your browser on Windows. A Python…

Thanks this is helpful to get started.
Post reply on HN