Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Keynote by Yukihiro Matsumoto

Ruby Central via YouTube

Overview

Explore a keynote address by Yukihiro Matsumoto, the creator of Ruby, as he discusses the language's evolution, challenges, and future directions. Delve into topics such as compatibility issues, performance improvements, concurrency in the multi-core age, and the integration of static typing features. Learn about Ruby's approach to error finding, new syntax additions like pattern matching, and the importance of supporting tools for enhancing developer experience. Gain insights into the balancing act between maintaining Ruby's dynamic nature and introducing static elements to improve performance and code quality.

Syllabus

Intro
Corona Outbreak
Compatibility to 2.x
Compatibility Matters
Encoding (Unicode Support)
Everyone wants Better Languages
Language Designers Make Mistakes
Programmers Love New Things
Contradiction
We Should Keep Compatibility
Except for a few Bug Fixes
Some Program Can Rely on Buggy Behavior
Ruby1.9 Tragedy
Python3 Problem
What's the Difference?
Performance Matters
Ruby is Fast Enough
Everyone Loves GitHub
Everyone Loves Shopify
No one cares
Just-In-Time Compiler
We are improving
Buy New Computer, Your Software Run Faster
Single Core Performance Saturation
Multi-core Age
Dual Core, Octa Core, 64 Core
Use More Cores, Your Software Run Faster
Concurrency is a key
Thread-safe Runtime is Hard
You need to specify a Scheduler
Async Fiber does not use Multi-Core
How can we use Multi-Core?
For CPU Intensive Tasks
Ruby Actor
Limited Sharing
Utilize Multi-Cores
Error/Bug Finding
Age of Static Typing
Everyone Goes Static Typing
Static Type Checks
Ruby Signatures (RBS)
TypeScript d.ts Counterpart
Better Code Completion
Type Signature Pop-up
Naive Type Checks
Abstract Interpretation
New Syntax
Pattern Matching (2.7)
One-line Pattern Matching
Need Improvement
Supporting Tools
Better Tools Enables Better UX
Type Checker • Formatter • Language Server Protocol • Performance Tuning
Multi-Layer JIT
Static Ruby
Ruby the Dynamic
Add a few Sprinkle
Static Barrier
e.g. Method Redefinition
Static Interpretation
We Will Keep Moving Forward

Taught by

Ruby Central

Reviews

Start your review of Keynote by Yukihiro Matsumoto

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.