Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

TypeScript: Rethinking type systems with JavaScript

Daniel Rosenwasser (Microsoft)
5:05pm5:45pm Wednesday, July 18, 2018
Emerging languages
Location: E145
Level: Intermediate
Average rating: *****
(5.00, 6 ratings)

Who is this presentation for?

  • Engineers, managers, technical consultants, and language enthusiasts

Prerequisite knowledge

  • A working knowledge of JavaScript
  • Familiarity with type systems

What you'll learn

  • Explore the TypeScript (typed JavaScript) programming language and type system design


Conventional wisdom says building a type system goes hand in hand with building a language. What happens when you go against convention? Well, for a language with millions of users like JavaScript, it turns out that your type system has to be pretty expressive. A language that builds on top of an existing language doesn’t have the conveniences of allowing specific patterns but instead has to take the approach of understanding existing patterns.

Daniel Rosenwasser explains how TypeScript has grown to meet JavaScript code and why it’s one of the fastest growing languages today.

Topics include:

  • What exactly are types, and how does TypeScript bring them to JavaScript?
  • What is it that differentiates a language like TypeScript from languages like C#, Java, Go, and OCaml/ML?
  • Is TypeScript more functional or object oriented (and why it’s sort of both)?
  • What are some key innovations that TypeScript has brought to the world of type systems?
  • How do those innovations allow TypeScript to understand JavaScript more deeply?
Photo of Daniel Rosenwasser

Daniel Rosenwasser


Daniel Rosenwasser is a program manager for the TypeScript language at Microsoft. Daniel has a passion for programming languages, compilers, and type systems.