5 ms·
I always find it interesting how people learn so differently. Personally, I learn a language by building something in it. I want a feel for it, before digging d
by Touche 9y ago
I always find it interesting how people learn so differently. Personally, I learn a language by building something in it. I want a feel for it, before digging deep and learning about theory. I only do that stuff much later, after I'm relatively proficient in the language.
This is probably why I wasn't very good at picking up musical instruments. I was never satisfied learning at a slow pace and only being able to play "twinkle twinkle little star". Programming is perfect for me because you can build things before you really know what you are doing.
- kovek 9y agoI am reading Haskell Programming from First Principles right now. If I did not know how the language works from doing this reading, then I do not see how I could make anything useful without quickly getting annoyed by the compiler
- jbjohns 9y agoBut in Haskell your "do, see reaction" loop is the compiler. Most of the interesting bit of it is incrementally defining types and functions for your program and verifying that it's still legal. That way, when the compiler responds with something very confusing looking you know what caused it and that can help a lot with understanding what it's saying. And when it still doesn't help, you can ask on one of the various forums and gain some important new understanding that I don't think I would ever associate or understand from a book reading.
- jghn 9y agoMost programmers I know are like yourself. I'm the opposite, I'm the person you say you can't be, I will study and read until I feel I have a good handle on some nitty gritty before I ever put hands to keyboard At some point in my career i became a team lead and that's where this difference became obvious. It took me a long time to adapt to the fact that everyone but me on the team learned by doing
- pdgonzalez872 9y agoSpoken languages are like that too. A 3 year old doesn't know what verbs are. They just speak. Another interesting thing is how people forget their path to personal journey regarding learning. "I did `y`, but you should do `x` because now that I look back I should have done `x`." "But, but, you did `y`! "Yes, but `x` is the way to go." You mentioned musical instruments: great topic. The very best musicians have always been around music, sometimes not even being able to read music. There is no clear path, the only clear thing about this is the time + effort regarding learning something well: just have to put in the time.
- lillesvin 9y ago> Spoken languages are like that too. A 3 year old doesn't know what verbs are. They just speak. Not sure how you meant this to be understood, but a 3 year old definitely knows that there are different word classes that behave differently. They don't know that they're called verbs, nouns, adjectives, etc. but they do correctly (to a large enough extent) use grammar applying specifically to the different word classes.
- davedx 9y agoYes, I'm the same. With Ruby, I actually learned Rails first, and built a few apps with it (one of which is in production and going well). Then I went back and took the approach in this article to learn Ruby better. I still wouldn't call myself an idiomatic Ruby programmer, but I know enough to do any task I'm faced with without writing complete rubbish. With the little Elixir I've done I took the same approach: dived in with Phoenix and started porting one service from a large, complex API from Scala to Phoenix. I picked up some Elixir on the way, and later took some more time to look at Elixir, the language. Building by doing is great. It gives you motivation and concrete rewards, which keep you inspired to learn more.
- ericdouglas 9y agoVery interesting. The big point should be: do some practical stuff to keep you motivated while you are learning!
- ericdouglas 9y agoI actually started the same way. In the article I focused more on step 4, but in step 2: "Familiarize with the syntax and semantic of the language" I watched a video course and built two mini projects. To practice the language specifically though, coding challenges are pretty effective, funny and more focused IMO