Review: Programming Typescript - Making your JavaScript applications scale (Boris Cherny)

Posted on Jan 23, 2022
Note: This article was written a while ago and may contain outdated information. Please verify the details before relying on it. If I express opinions or recommendations, they might not reflect my current views. For this reason, I recommend checking for more recent articles on the same topic.

Although I wanted to start with it, I didn’t have the time to start reading technical literature until last years November. But then I wanted to refresh my Typescript skills and here we are.

I didn’t do much research to find some good books. As I know that the books from O’Reilly have good visualizations and are easy to read and understand I favoured them.

So the reviews led me to Boris Cherny’s Programming Typescript - Making your JavaScript applications scale.

Cover of the book Programming TypeScript by Boris Cherny

The book starts with basic concepts like description of types, interfaces and classes. Then it proceeds to advanced concepts like mixins, polymorphs, namespaces, error handling or asynchronous programming.

And all this without a lack of humour.

I read it as a work book, so I tried to do all exercises and experiments with some concepts written down there.

Two things are for me worth to mention:

Getting the right expressions

Everyday I am reading several StackOverflow threads or articles from hackernews in the english language. But reading this book helped me a lot to be more confident about TypeScript development expressions like the difference of types or the difference before arguments and parameters.

Reading it from front to back has showed me some concepts which I sometimes forget about, because they are not so usual (like for example generators).

So I think this will help a lot in regards of reasoning about my code and solving issues easier with the concepts in the language.

Type-driven development

On page 80 Cherny defines type-driven development as:

Where you sketch out type signatures first and fill in values later.

That’s a new view on development with TypeScript I’ve got, although this should be clear. Or like I’d say in german: ‘Da fiel es mir wie die Schuppen von den Augen’.

With sketching out type signatures first and filling in the values in further development process it is easy to get things done fast. The prototyping of applications and have something to show that concepts/architectural designs work is done faster with this possibility in comparison to Java.

Summary

However you may want to use it: Either as a exercise book to learn and consolidate knowledge or as a reference book if you know the concepts and need them bundled with good descriptions, this book is really helpful and recommendable.

Further reading

Programming Typescript - Making your JavaScript applications scale by Boris Cherny (O’Reilly). 978-1-492-03765-1