e011: Once Upon a Type

Published: March 8, 2016, 3 p.m.

b'

Type systems: strong vs. weak, dynamic vs. static, and degrees of expressivity.

\\n

Notes

\\n

Talking about type systems! A broad and wide-ranging discussion about type systems in general, with specific examples from languages like PHP, JavaScript, Python, C, C++, Java, C\\u266f, Haskell, and Rust!

\\n
    \\n
  • What is a type system?
  • \\n
  • What are the kinds of things we get out of type systems?
  • \\n
  • What are the tradeoffs with different type systems?
  • \\n
  • What is Rust\\u2019s type system like?
  • \\n
  • What is especially attractive about Rust\\u2019s type system?
  • \\n
\\n

A comment on the C integer/character string addition example: what\\u2019s actually happening there is that the character string is an array \\u201cunder the covers,\\u201d and as such has an address. C silently switches to using the memory address, which is of course just an integer, when you try to add the two together. As I said on the show: the result is nonsense (unless you\\u2019re using this as a way of operating on memory addresses), but it\\u2019s compileable nonsense. In a stricter and stronger type system, memory addresses and normal numbers shouldn\\u2019t be addable!

\\n\\n\\n

Sponsors

\\n
    \\n
  • Aleksey Pirogov
  • \\n
  • Chris Palmer
  • \\n
  • Derek Morr
  • \\n
  • Hamza Sheikh
  • \\n
  • Lachlan Collins
  • \\n
  • Leif Arne Storset
  • \\n
  • Luca Schmid
  • \\n
  • Micael Bergeron
  • \\n
  • Pascal
  • \\n
  • Ralph Giles (\\u201crillian\\u201d)
  • \\n
  • Ralph \\u201cFriarTech\\u201d Loizzo
  • \\n
  • reddraggone9
  • \\n
  • Ryan Ollos
  • \\n
  • William Roe
  • \\n
\\n

Become a sponsor

\\n\\n

Contact

\\n'