GoRuCo 2014 - Know Your Types - Bringing Static Types to Dynamic Languages by Michael Bernstein

Channel:
Subscribers:
42,400
Published on ● Video Link: https://www.youtube.com/watch?v=_HM8Vczybj4



Duration: 30:39
1,404 views
28


After several years of being a professional programmer, I realized that I didn't really know what I was doing, and decided to teach myself Computer Science. After spending a year learning Computer Science from the ground up, I thought I was starting to understand things. Then I came across Haskell.

It fascinated and frustrated me, and I wanted to understand how types worked. I also began wondering - why doesn't Ruby have a modern type system? Do we need one? Do we want one? How would it work?

I ended up coming across three amazing pieces of writing that helped illuminate things for me:

"Types and Programming Languages" by Benjamin C. Pierce
"Propositions as Types" by Philip Wadler
"A Practical Optional Type System for Clojure" - Ambrose Bonnaire-Sergeant

After studying these works, I still can't write Haskell, but I do understand a lot more about what types are. In the course of my research, I also came across two fascinating projects - a static type checker for Ruby, and a type inferencer for Ruby, both experimental projects from the University of Maryland's Programming Languages lab (PLUM). These provocative projects helped me understand how static types could be integrated into dynamically typed languages. While they aren't practical implementations, they made me think. Which is what I'd like to make you do during this talk - think about types, how they could help us, and what we sacrifice by not having an expressive type system in Ruby.

Help us caption & translate this video!

http://amara.org/v/FGYw/




Other Videos By Confreaks


2014-07-22RedDotRuby 2014 - Lightning Talk - How to improve experiences of Ruby by Hiroshi Shibata
2014-07-21RedDotRuby 2014 - The Dark Side of Ruby by Gautam Rege
2014-07-21RedDotRuby 2014 - Tending Your Open Source Garden
2014-07-21RedDotRuby 2014 - ActiveRecord can't do it? Arel can! by Vipul Amler & Prathamesh Sonpatki
2014-07-21RedDotRuby 2014 - Ruby + Elixir: Polyglotting FTW! by Benjamin Tan
2014-07-21RedDotRuby 2014 - Guide to Continuous Deployment with Rails by Keith Pitt
2014-07-16GoRuCo 2014 - The Future of Ruby Performance Tooling by Aaron Quint
2014-07-16GoRuCo 2014 - How to Debug Anything by James Golick
2014-07-16GoRuCo 2014 - BI Tooling with Rails by Kahn Solomon
2014-07-16GoRuCo 2014 - Growing a Tech Community by Luke Melia
2014-07-15GoRuCo 2014 - Know Your Types - Bringing Static Types to Dynamic Languages by Michael Bernstein
2014-07-15GoRuCo 2014 - Real-Time Communication for Everyone by Lisa Larson-Kelley
2014-07-15GoRuCo 2014 - Edge Caching Dynamic Rails Apps by Michael May
2014-07-15GoRuCo 2014 - Designing a Better Programmer Community by Samantha John & Jason Brennan
2014-07-15GoRuCo 2014 - An Approach to Developing and Testing Third Party JavaScript Widgets by Nathan Artz
2014-07-15GoRuCo 2014 - Secrets of a World Memory Champion by Chris Hunt
2014-07-15GoRuCo 2014 - Teaching Kids to Code on Raspberry Pi by Audrey Troutt
2014-07-15GoRuCo 2014 - What We Can Learn From COBOL by Andrew Turley
2014-06-30Reactive RubyMotion
2014-06-21Intro To AV Foundation
2014-06-20RubyMotion And Accessibility



Tags:
Goruco
Community
Software Development
Ruby Software
Engineering
Computer Programming
Computer Science
Ruby Programming Language
Confreaks
Rails
Programming
Development
Ruby
Software
Software Engineering
Computers
Technology