

Ask HN: How do people learn technologies fast? - test001only

I keep on reading blogs and tweets about how somebody just sat through few days, learned a new technology and hacked together a new project in a weekend. It is simply unfathomable for me. I recently was studying WPF and it took me a whole of 3 months to get a good understanding of some basics and almost two projects to appreciate it (over all 2 years!).<p>I am currently trying to learn Angular and getting into understanding a project in Javascript&#x2F;PHP. It seems to be taking forever (2 months and counting) and I am just starting to understand the basics. I feel bad updating to my boss that I am still learning. I am not able to show any valuable progress.<p>How do people learn and do things so fast? Or am I slow or is there any technique by which I can also improve significantly my speed of learning?<p>Thanks...
======
tjr
I increasingly find little novel in programming technologies (at least those
that make their way out of the academic research labs into the hands of real-
world developers). I've already learned enough languages and frameworks and
libraries that most new programming tools I encounter I can quickly size up
as, "Oh, this is just like X only with A instead of B".

In short, the more of this sort of stuff you learn, the easier it tends to get
to learn yet more. You might find some study of formal programming language
theory useful, as being able to refer to language constructs by name could
make it easier to categorize and compare & contrast them in your mind.

~~~
test001only
Can you share how long you have been a programmer? Also can you give pointers
like books or courses (coursera) for studying formal programming language
theory?

~~~
tjr
Hmm, I started programming around 1991, but didn't take it seriously until
around 1997.

I haven't gone through this class, but it appears to cover the basics of
programming language topics:
[https://www.udacity.com/course/cs262](https://www.udacity.com/course/cs262)

And I like this book: [http://mitpress.mit.edu/books/essentials-programming-
languag...](http://mitpress.mit.edu/books/essentials-programming-languages)

You can get much, much deeper into this topic, but skimming the surface a bit
was really all I was suggesting, unless you have interest in programming
language design in particular.

~~~
test001only
Thanks for the links. Is "Structure and Interpretation of Computer Programs"
from MIT press similar to essentials programming language?

~~~
tjr
There is some overlap. EOPL naturally focuses on, and goes deeper into,
programming language design topics, but SICP covers it some as well. Chapter
4, especially:

[http://mitpress.mit.edu/sicp/full-text/book/book-
Z-H-25.html...](http://mitpress.mit.edu/sicp/full-text/book/book-
Z-H-25.html#%_chap_4)

------
andyhmltn
Personally, I don't spend my time learning, I spend my time making. For
instance, recently I wanted to learn a frontend framework. After a lot of
debate I picked Ember having never used it before.

I knew I wanted to use it for our dashboard so I built it whilst constantly
looking through the docs and various tutorials whilst I hacked things together
and learnt as I went. It was completed within 2 weeks and then I just
refactored. Had I sat down with a book or a course before hand it would've
taken quite a lot longer to get to the point where I thought I could make
something.

~~~
test001only
I personally get stuck or end up using the wrong constructs in the wrong
places. Like I might use controllers(angular) for more than its intended
purpose or in place where something else might be more appropriate. This is
why I am afraid of getting into making before I get a fare handle on the
basics.

------
dsschnau
I'm in the same boat you are - learning new stuff is hard and feels like its
impossible to get anywhere. It's taken me over a year to release the simplest
of android apps.

I think, though, that its a lot like learning programming languages. Once you
get one, you get similar ones easily. I hope so, anyway.

