Earlier quoted context omitted.
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.
Ask HN: Do you get impatient when learning new things?
51–60 of 84 posts
Re: Ask HN: Do you get impatient when learning new things?
#52Re: Ask HN: Do you get impatient when learning new things?
#53I guess what it boils down to is that a lot of my self esteem is derived from being knowledgable and resourceful. It really embarrasses me when I don't even have a shallow depth of knowledge about a subject matter that could be potentially useful.
I don't really have much advice for you because I haven't really solved this one for myself, but one thing I try to do is concentrate on very short term goals. For example, when I was learning Angular a few years ago, I knew going into it that I wouldn't "get it" right away. After a few frustrating days I decided to break-up my learning into small goals, e.g. "what are promises and how do they work?" "What is the syntax?" "When should they be used?" I tried to avoid unrelated documentation and stack overflow posts because I knew that it would lead me into rabbit-hole after rabbit-hole. I wasn't 100% successful, but it did help me block out some of the cognitive dissonance.
The only other thing I'd say is that even though this is frustrating, I like to think that your anxiety is actually a good thing if you learn to channel it constructively. It's a good thing to want to know about a lot of stuff!
Re: Ask HN: Do you get impatient when learning new things?
#54Learning itself is pleasant. I think we're wire to enjoy it. If you had a judo lesson now and learned a simple trip, you would have fun. Give most people their first programming lesson and they'll enjoy jumbling up letters or whatever you do.
Not knowing is unpleasant. In your first lesson you have no expectation. In the second, you double your knowledge. On the 20th, you are dealing with forgetting and you've accumulated bits you find difficult. You are still a beginner, but now you have expectations.
You can trip or throw a cooperative opponent but you keep repeating mistakes, frustration. There is still a gulf between where you are and scoring on an uncooperative opponent. You can jumble words, add numbers or record form data in your db. But, the gulf between doing that and writing your spaced learning iWatch app is big. Basically, you suck and you are judging your performance by the standards of a programmer, judo player or whatnot. Sucking.. sucks.
I'm about 5 weeks into learning a language and I'm in this spot right now. week one was really fun. Every lesson meaningfully improved my vocal, grammar, etc. I know about 1200 words and a decent amount of the basic grammar. You need about 2500 words before you can understand a simple paragraph or video snippet. I'm nearly useless outside of the context f a lesson translating single sentences. I can't think in the language (I translate) which means (A) it's difficult and frustrating and (B) I might understand your first sentence as you wrap up your third…even if I know all the words. None of the gammer is natural to me. etc. etc.
Basically, there's a massive gap between where I am and where it felt like I would now after the first lesson. Massive. Even if I conjure up discipline I didn't need in week 1 and push hard this week, I'll still suck. My vocal might go up to 1500, but I'll regress on something. It's whack-a-mole time where revision is 75% of the work and 50 new words is a drop in the ocean.
Thinking of it, I realize I might have taken the wrong side of the debate. Learnings sucks. I hate it.
But, for the sake of it I'll keep arguing this point. This expectation/reality gap is as irrational as it is inevitable. You know it how long it will to learn things in advance. I know I can't get fluent in a language in 25 hours of practice, but it does create frustration.
Since I'm not going with the "learning sucks, I hate it" conclusion, lets wrap up with stoicism. Good as any, ne? Do thy duty though the the skies fall down upon thee. Seek not vain pleasures of the moment. Rather, take comfort each day knowing that thou hath done thy work. Focusing on your goals to much can make learning emotionally hard (frustrating, etc.), unless your goal can be achieved very quick. If your goal requires 100 hours over 2 months, when you are 46 hours deep, you feel like you aren't making any progress. You are probably wrong, but it doesn't feel like it. Don't focus on the end goal, just do your 2 hours and pat yourself on the head. Good stoic. Nice stoic. Here's a Senecan biscuit. Well done.
Re: Ask HN: Do you get impatient when learning new things?
#55How I come to give this advice here is that years ago, a participant here on HN described how his programming career struggled until he got medical treatment for adult ADD. Now he can learn more effectively on the job, and he makes a lot more money with a much more stable employment history. You owe it yourself and to anyone else who has helped you develop as much as you have so far to check your attention regulation so that you can be as healthy and happy as possible.
Re: Ask HN: Do you get impatient when learning new things?
#56If it is really severe, consider being evaluated for adult ADD. I probably have this in mild form and also what might be considered the opposite, obsessive compulsive personality disorder, which results in me veering between wanting to understand _everything_ and working obsessively on _one_ thing trying to get it textbook-perfect and understand it completely. This combination often intersects well with the requirements for my work but sometimes... not so much, as I either insist on solving a problem better that is already working well enough, or considering a whole range of possible approaches when I really just need to complete one, and quickly.
Re: Ask HN: Do you get impatient when learning new things?
#57Earlier 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.
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?
#58Re: Ask HN: Do you get impatient when learning new things?
#59I've found that when I meditate for even just a few minutes a day, I'm much more focused and less distracted -- more focused on what I'm presently doing, right now.
Re: Ask HN: Do you get impatient when learning new things?
#60Earlier quoted context omitted.
From the Rust book intro: "After reading this introduction, you’ll want to dive into either ‘Learn Rust’ or ‘Syntax and Semantics’, depending on your preference: ‘Learn Rust’ if you want to dive in with a project, or ‘Syntax and Semantics’ if you prefer to start small, and learn a single concept thoroughly before moving onto the next. Copious cross-linking connects these parts together." It sounds like you should hav…
I didn't read through that book, I've never tried learning Rust so that's why I googled Rust tutorial so I would have an unbiased opinion on the first thing I found. You've just LITERALLY made my point for me by quoting instructions that sound like they expect to spend 20 hours on this thing right now , including referencing two other tutorials. Imagine if the first time you used a hammer it came with a reference to…
Different learning resources have different goals. This is a book that is meant to be comprehensive, but also provides two different ways to approach learning the language. The target audience of this book was never intended to be someone who only wants to devote 20 lines of effort to learning a programming language. If that's what you want, read http://learnxinyminutes.com/docs/rust/
Edit: But when you realize you can't grok language semantics like borrow checking or sum types for results, you might have to spend more than 20 lines of code to understand the usage and benefits of those concepts. This is when you move from sawing to joinery.