Live data from Hacker News

Ask HN: Do you get impatient when learning new things?

news.ycombinator.com

41–50 of 84 posts

Re: Ask HN: Do you get impatient when learning new things?

#41
post #2

Find a little project you want to do using the technology. For example if you are learning Python, come up with a little program/website idea you want to make, and do it in Python. It's always easier to learn "as you go" rather than just reading a book in isolation.

For a skilled programmer who is fluent in a couple of other languages, I actually think that is counter-productive. Better take your time to learn that new technology properly in its entirety and then start playing with it. This way you will have a complete mental model of that technology in your head and you will be more likely to do stuff properly from the first try.

No man. The OP has it dead right: find a small project, write it in your new language, struggle a bit but get it finished. Then go back and see where you could be more idiomatic and improve those parts. Or do another small project but with more knowledge behind you this time around. This is the philosophy behind for example, SICP: "you don't learn Scheme, you use it."

Re: Ask HN: Do you get impatient when learning new things?

#42
Progress is made by consistently working at a thing every day. If I were you, I would choose one topic (for example, a specific programming book) and keep track of what that one thing is that you make progress on every day. Have a good reason for choosing that book so that you can be motivated; remember why you started that book or whatever it is. If you try to learn other things besides that the rest of the day, and those things change with your mood, that's fine. Just have that one topic you're learning be something that you don't change, or at least change consciously when it's the right time (finished book, or your reason for starting it is no longer true). Spend at least 1 minute every day on that. (I mention only 1 minute because it builds the habit, and you'll usually end up doing more. But if you don't do at least 1 minute, you could go years without doing it, or not do it at all.) You might want to make that 1 thing something you do first thing in the morning, if you're a morning person. There is less chance that something will disrupt your routine that way.

I should start following this advice myself.

Re: Ask HN: Do you get impatient when learning new things?

#43
post #2

Find a little project you want to do using the technology. For example if you are learning Python, come up with a little program/website idea you want to make, and do it in Python. It's always easier to learn "as you go" rather than just reading a book in isolation.

For a skilled programmer who is fluent in a couple of other languages, I actually think that is counter-productive. Better take your time to learn that new technology properly in its entirety and then start playing with it. This way you will have a complete mental model of that technology in your head and you will be more likely to do stuff properly from the first try.

How would you start learning a technology would playing with it? I couldn't imagine sitting down and reading huge amounts before trying anything - I want hands on experience as soon as possible.

Re: Ask HN: Do you get impatient when learning new things?

#45

Earlier quoted context omitted.

1, tool writers assume we have like infinite time to follow 27-point directions that could be 100% automated. And tutorial writers assume we have infinite time to read all about the history of the world. An alternative explanation is that their audience is wider than your stated 99%. Somewhat ironically, if you scroll down ~20 lines on the Rust book page you linked there is the deep water you are demanding.

I don't think, for example, "semicolons terminate statements; blocks in curly braces; module import is use module::submodule::symbol; comment with // or /* */ which can nest." is deep water. The tutorial has to make a decision: does its audience know what a loop is, or how to even think about an algorithm that would use it? If the audience doesn't, then it's not a Rust programming language book, it's a Beginning Prog…

This gets back to the thing where the author (probably necessarily) has to write for a wide audience.

Someone who enjoyed math in various school classes will probably understand the basics of functional programming faster than someone who only worked their way through it. So one of them might be just as angry as you are at the bad advice in the front matter of the book.

Re: Ask HN: Do you get impatient when learning new things?

#46
I always learned much faster when I have a goal to achieve.

I've always wanted to learn D3.js properly, but haven't found the effort to sit down and go through the tutorials yet.

However, when my company had a hackathon and we had two days to build an app. I managed to learn Ionic and AngularJS within those two days and delivered a fully functional app (except the server bit was hacky, but then the server was written in NodeJS and has nothing to do with Ionic).

I'm really interested in Scala and have taken some courses. However, I haven't found a project that I can build upon with Scala, so it's still a toy language to me :-(

Re: Ask HN: Do you get impatient when learning new things?

#47

Earlier quoted context omitted.

For a skilled programmer who is fluent in a couple of other languages, I actually think that is counter-productive. Better take your time to learn that new technology properly in its entirety and then start playing with it. This way you will have a complete mental model of that technology in your head and you will be more likely to do stuff properly from the first try.

How would you start learning a technology would playing with it? I couldn't imagine sitting down and reading huge amounts before trying anything - I want hands on experience as soon as possible.

I didn't really mean to exclude any experimentation while you are learning. Fiddling with the possible expressions that a language would allow in a REPL is OK, but I am against starting pointless little projects before you have grasped something entirely. GitHub is full of these and they are mostly not pretty.

Re: Ask HN: Do you get impatient when learning new things?

#48

TL;DR: Just start. I've this too. When I learn something new like a language I often want to do it right, like be "pythonic" when learning Python. It can take long for me to write some simple piece of code because I'm constantly doubting if my code is pythonic. And when it takes to long I lose focus and I stop. The same thing applies when I started a little Go web app, Go was rather new for me. I decided to use Docke…

> I've this too. When I learn something new like a language I often want to do it right, like be "pythonic" when learning Python. It can take long for me to write some simple piece of code because I'm constantly doubting if my code is pythonic. And when it takes to long I lose focus and I stop.

Exactly my current situation with Clojure.

Re: Ask HN: Do you get impatient when learning new things?

#49

TL;DR: Just start. I've this too. When I learn something new like a language I often want to do it right, like be "pythonic" when learning Python. It can take long for me to write some simple piece of code because I'm constantly doubting if my code is pythonic. And when it takes to long I lose focus and I stop. The same thing applies when I started a little Go web app, Go was rather new for me. I decided to use Docke…

I totally agree. If all you care about is to learn the language, just write code. Don't worry about all the other things that you may want to do. Just to Add on to it: If you want to learn python, don't start with django. If you want to learn javascript, use simple libraries like jquery. Basically start simple. My usual technique is to get the most basic knowledge about the language or a framework and then spend time building something (simple todo app, a wiki etc) and learn more about it in the process. I rarely start with a book. I try to find a succinct tutorial so I an read it quick, and start on building simple apps.
Post reply on HN