Six years is startlingly long time given my previously dense learning history. I am not sad – change is the only constant and I have enjoyed the people challenges as much as the purely technical ones. Still, the lockdown in combination with the realization that the problem-solving and regular surprises involved in learning a programming language are something that brings be a lot of joy meant it’s time to choose the next language.
I have dabbled with TypeScript before, even wrote a few thousand lines worth of a hiring stats visualization system that ended up abandoned. But this experience was closer to a deterrent of learning more about the language than helped. Here are my reasons for picking up TypeScript:
- The dichotomy of having the same codebase and same patterns exist in either typed or untyped form are every alluring. I am super curious what will be the effect on gradual typing on my thinking about problems.
- After years of using generic (even if powerful) tools for my languages of choice, the first-class TypeScript support in VSCode is exciting.
- People. I don’t know much about the community (yet), but I have enjoyed previous work by Anders Hejlsberg, like Delphi and Turbo Pascal. He’s still number one contributor, which is impressive. Last, but not least, Stefan was excited about it 🙂
My learning strategy is usually to often alternate between top-down approach (first principles first, high-level knowledge) and bottom-up (low-level knowledge, often trivial). This often means alternating between a book, paper, theory, principles on the subject and a lot of hacking, tinkering, trying things out, doing, digging into source code, learning how something works in detail.
Here are the resources I have on my short-list and I am starting with them tonight:
- Book: Programming TypeScript – sounds like a good basics book.
- Book: Effective TypeScript – bit more advanced.
- Book: Programming with Types – newer, wildcard, hopefully more general typing strategies using TypeScript.
- Code Exercises: Gary Bernhardt’s interactive TypeScript course.
- GitHub: TypeScript repository – the code for the compiler can always be handy 🙂
Follow further progress and learnings here 🙂
What are your favorite TypeScript resources? Should have I picked something else?
8 thoughts on “Learning TypeScript Deeply – Kick-off”
Very neat to hear more about your approach to learning (combining top down and bottom up approaches) 🤙🏼Excited to see how this goes.
LikeLiked by 1 person
I am excited that you’re excited!
Over in tumblr land, everything is typescript, so I’m on this journey with you! Getting the books today.
LikeLiked by 1 person
Oh, great. I was planning to talk to few people about redpop and TypeScript while I was in the NYC office in February, but things changed last-minute.
Having the journey together will definitely motivate me to share further progress here 🙂 Let us know what did you learn, either in comments here, or even if you decide to blog about it 🙂
Cheers to reinvigorating the joy. I can relate very much to your multiperspectivistic learning approach.
At risk of being obnoxious, I’m going to plug what *looks* like yet-another-business-psyche book. The Opposable Mind (https://www.amazon.com/Opposable-Mind-Successful-Integrative-Thinking-ebook-dp-B004OC077G/dp/B004OC077G) really spoke to me. I’d be super curious on what you think of it if you ever get a chance to read.
Thanks, Hew. Insight comes from the weirdest places 🙂 Do you have a good review/summary of the book to share, maybe yours?
I don’t so far. I do have a stub in my blog that I never finished. 🙂
The tl;dr is his observing and exploring in business contexts of what he calls “integrative thinking”:
“The predisposition and capacity to hold two diametrically opposing ideas in the head; and then, without panicking or simply settling for one alternative or the other, able to produce a synthesis that is superior to either opposing idea.”
I think it’s something of a variant on a “both/and” mindset. But he breaks it down in what I thought were some really interesting ways. For example, he walks through the mechanics he observed in his subjects and found they often had commonality in their high degree of detail salience to a “problem”, superior causality in their mental modeling, and the ability to leverage both to drive to an architecture and resolution better than defensive thinking.
Also, he used the words “Corporate Rashomon”. So I had to love it. 😄
LikeLiked by 2 people