YoVDO

Keynote by Yukihiro Matsumoto

Offered By: Ruby Central via YouTube

Tags

Conference Talks Courses Concurrency Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Related Courses

Building Geospatial Apps on Postgres, PostGIS, & Citus at Large Scale
Microsoft via YouTube
Unlocking the Power of ML for Your JavaScript Applications with TensorFlow.js
TensorFlow via YouTube
Managing the Reactive World with RxJava - Jake Wharton
ChariotSolutions via YouTube
What's New in Grails 2.0
ChariotSolutions via YouTube
Performance Analysis of Apache Spark and Presto in Cloud Environments
Databricks via YouTube