Ruby Video
Talks
Speakers
Events
Topics
Leaderboard
Sign in
Talks
Speakers
Events
Topics
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
What If... ?: Ruby 3 by Eric Weinstein What if Professor X and Magneto formed the X-Men together? What if Jessica Jones had joined the Avengers? What if Tony Stark wrote Ruby? (Okay, I made that last one up, but we'd probably all read it.) This talk, in the mode of Marvel's What if... ? comics, explores what Ruby 3 might look like if key decisions in its history had been (or might be) made differently. We'll look at three "what if"s in particular: "what if Ruby had a static type system?", "what if Ruby ran in the browser?", and "what if Ruby didn't have a global interpreter lock?"
Date
Summary
Markdown supported
In his talk titled "What If... ?: Ruby 3," presented at RubyConf 2017, Eric Weinstein explores speculative scenarios around the future evolution of the Ruby programming language. Utilizing the narrative style inspired by Marvel's "What If?" comics, Weinstein discusses three hypothetical situations to envision alternative paths Ruby could have taken or might take in the future. Key points from the talk include: - **Static Type System**: Weinstein questions what Ruby would be like if it had a static type system, contrasting it with its current dynamic type system. He outlines that static typing could catch errors at compile time, enhancing safety but sacrificing Ruby's flexibility and metaprogramming capabilities. He references the language Crystal as a statically typed alternative to Ruby, which sacrifices some of Ruby's dynamic features for speed and type safety. - **Running in the Browser**: The potential for Ruby to run natively in web browsers is explored. Weinstein mentions Opal, a Ruby-to-JavaScript compiler, and discusses the advantages and disadvantages of compiling Ruby directly to JavaScript versus WebAssembly. He raises questions about usability and the challenges that would arise from such a shift in environment. - **Global Interpreter Lock (GIL)**: The talk concludes by addressing the implications of Ruby’s Global Interpreter Lock on concurrency. Weinstein discusses how eliminating the GIL could lead to more effective parallelism through new concurrency models, such as actors and guilds, which would encourage safer interaction between threads without the use of locks. Overall, Weinstein emphasizes that the future of Ruby could incorporate gradual typing, enhance its concurrency model, and possibly see it utilized in web environments. He invites the Ruby community to engage in discussions around these possibilities, encouraging innovative thinking about Ruby's trajectory.
Suggest modifications
Cancel