Type systems: strong vs. weak, dynamic vs. static, and degrees of expressivity.
Notes 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♯, Haskell, and Rust!
A comment on the C integer/character string addition example: what’s actually happening there is that the character string is an array “under the covers,” 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’re using this as a way of operating on memory addresses), but it’s compileable nonsense. In a stricter and stronger type system, memory addresses and normal numbers shouldn’t be addable!
Links
* Rust 1.7 released
+ HashMap changes
* Introduction to Type Theory
* Visualizing Rust’s type-system
* The Many Kinds of Code Reuse in Rust
Sponsors * Aleksey Pirogov * Chris Palmer * Derek Morr * Hamza Sheikh * Lachlan Collins * Leif Arne Storset * Luca Schmid * Micael Bergeron * Pascal * Ralph Giles (“rillian”) * Ralph “FriarTech” Loizzo * reddraggone9 * Ryan Ollos * William Roe
Become a sponsor * Patreon * Venmo * Dwolla * Cash.me
Contact * New Rustacean: + Twitter: @newrustacean + Email: hello@newrustacean.com * Chris Krycho + GitHub: chriskrycho + Twitter: @chriskrycho