Live data from Hacker News

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

news.ycombinator.com

101–110 of 114 posts

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

#101
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

My high school went from drawing flow charts to C and I find it very accessible to beginners to be honest.

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

#102
post #44

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…

Based on personal experience, I can totally echo this comment. I am a business undergrad (senior year), but I am a JavaScript developer for a local start-up. On my Windows laptop, my workflow included applications from MS Office, as well as PowerShell and Vim. At the beginning of this semester, my laptop broke (screen) and I couldn't afford a repair, so I dug up an old ThinkPad T430 that I installed Ubuntu on a coupl…

And FYI I’m pretty sure you can run Hackintosh in that computer

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

#103
post #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.

Gentoo was the best Linux class until their Wiki nuked itself(can’t remember what happened exactly). I started with Ubuntu around 2007, got tired and moved to Gentoo right away. My Pentium 4 was heating up my whole room compiling things all night. Good times.

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

#104

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…

Completely agree with everything you said - great advice.

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

#105
Start by downloading Ubuntu and using it everyday. It's actually super easy to use, IMO easier than Windows or macOS. Then download the language of your choice and start using. When you build something, at some point you'll have to compile and package it, or start a webserver and deploy it, etc..., all good learning experiences. But just using Linux everyday is a good start (and don't go for one of the hardcore distros, use Ubuntu or Fedora).

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

#106
There are lotss of responses here advising Ubuntu to teach Linux skills. I'd like to put in a vote for Manjaro instead:

The automatic driver detection when you install it can be handy, the Arch repositories are easier to use and include the same software you would find on any other machine, and the Arch wiki still applies, allowing you to find information on any part of the system you have questions about.

In addition, I think Arch derivatives in general encourage a healthy reliance on the command-line, which is actually what you want to learn how to use.

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

#107
If you are interested in a course to get comfortable with the shell in unix I highly recommend this course. I'm taking it now and it's quite well done.

https://www.edx.org/course/unix-tools-data-software-and-prod...

More info about week 1: https://www.reddit.com/r/linux/comments/flmr8o/enjoying_the_...

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

#108
post #21

Earlier quoted context omitted.

Sure - the only benefit of a VM is that you can mess up the VM's filesystem without worrying about it too much.

Making terrible mistakes on real machines teaches you much more though (by sheer necessity if nothing else).

It might, but I'm not going to suggest that to someone trying to learn the ropes!

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

#109

Earlier quoted context omitted.

But at some point isn’t it helpful to know that some things are as difficult as you fear, and you just have to power through? I picked up vim early in my programming career and I think it was one of the best decisions I’ve made; I use it every day. Yeah, there’s a time and place for learning “easier” things, but there’s also a time to buckle down, get serious, and dig in.

i am a student and even using nano makes me feel less efficient and productive. is there something I am missing out by not using vim?

Learning vim at the level of vimtutor is helpful not only because it's a nearly ubiquitous editor with powerful capabilities, but also because the basic navigation is used as the default navigation method in a lot of unix command line utilities like 'less', 'diff', and the man pages.

(Oddly enough, the default navigation used for the info pages is that of emacs.)

Someone's reading this itching to type that you can simply switch the default navigation for those yourself, which is true, but it's still helpful to know these if you have to hop on someone else's machine or ssh into a remote server.

Try one of these editors for at least a month after doing the basic built-in tutorial (e.g., vimtutor) and go through the tutorial every Sunday or so as needed to refresh your memory.

Or you could also use Anki to remember the shortcuts as you learn about them and use them.

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

#110
post #11

Download Ubuntu and run it as a virtual machine inside your current machine (use Google for instructions - it's fairly straightforward with a piece of software called virtualbox). That should stop you from running into hardware related compatibility issues. Get familiar with the interface and the concept of a "terminal". Then try do some simple stuff. Maybe set up nginx (or Apache) to run a web server that you can ac…

I’ll probably use my raspberry pi instead of installing a VM.

You should check out Harvard's CS50x on edx.

It's probably the best introduction to CS and programming online and teaches you the basics of the command line and C along the way.

Depending on the CS program, it's roughly equivalent of the first 1-3 semesters at a more average university, but the quality of the pedagogy is so high that it's very doable for anyone willing to put in the work.

Post reply on HN