Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Know Your Types

Know Your Types

GoRuCo 2014

Michael Bernstein

June 21, 2014
Tweet

More Decks by Michael Bernstein

Other Decks in Technology

Transcript

  1. Know Your Types Michael R. Bernstein June 2014 Gotham Ruby

    Conference, NYC w michaelrbernste.in t @mrb_bk
  2. Computer Science Skill 0 25 50 75 100 Homepage Design

    Outdatedness Computer Science Skill vs. Homepage Design Outdatedness
  3. “A collection of values. An estimate of the collection of

    values that a program fragment can assume during program execution.” Type
  4. “A component of a type system. A rule stating the

    conditions under which a particular program construct will not cause forbidden errors.” Type Rule
  5. “A collection of type rules for a typed programming language.

    Same as static type system.” Type System
  6. “The process of checking a program before execution to establish

    its compliance with a given type system and therefore to prevent the occurrence of forbidden errors.” Typechecking
  7. “The process of finding a type for a program within

    a given type system.” Type Inference
  8. “RTC is designed so programmers can control exactly where type

    checking occurs: type-annotated objects serve as the “roots” of the type checking process, and unan- notated objects are not type checked.”
  9. “…testing, no matter how thorough, cannot of course detect all

    software defects. Tools that complement testing, such as static analyzers, have their place in software development regardless of language.”