Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By, Ryan Davis Ruby is a fantastic language, but it could be better. While it has done a terrific job of taking ideas from languages like smalltalk, lisp, and (to an extent) perl, it hasn't done nearly enough of it. Big thinkers have paved the way for us in so many programming languages, like Alan Kay & Dan Ingalls (smalltalk), David Ungar (self), Guy Steele & Gerald Sussman (scheme), and Matthias Felleisen (racket). You might not know their names, but you've certainly used their technology. We should plunder the treasures that they've thought up. I will survey a vast minority of these ideas and how they could help ruby. Ideas including: self-bootstrapping implementations and extensive collection / magnitude hierarchies from smalltalk, instance-based inheritance and JIT compilation from self, TCO and the overarching importance of lambdas from racket/scheme, and finally object level pattern matching and the combined object/lambda architecture from the View Points Research Institute. Ruby is at its best when borrowing great ideas from other languages, but lately it has fallen behind in this. It's time for ruby to step up and do more with these ideas, to keep pushing forward, to stand upon the shoulders of giants. Help us caption & translate this video! http://amara.org/v/GTxm/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "Standing on the Shoulders of Giants," Ryan Davis explores the idea that modern programming languages, particularly Ruby, should draw inspiration from the foundational concepts pioneered by earlier languages. Davis emphasizes the historical context of programming language development, referencing figures like Alan Kay from Smalltalk, David Ungar from Self, and Guy Steele from Scheme and Racket. The main focus is on how Ruby can enhance itself by incorporating the rich ideas found in these languages. **Key Points Discussed:** - **Historical Influence:** The talk highlights the metaphor of standing on the shoulders of giants, illustrating how current developments in programming stem from past innovations. Davis recalls the assertion of both Bernard of Chartres and Isaac Newton regarding the importance of building upon prior knowledge. - **The State of Ruby:** Davis reflects on Ruby's evolution since its inception in 1993, noting that while it has excellently borrowed ideas from languages like Smalltalk, Lisp, and Perl, it has also stagnated in adopting new concepts in recent years. - **Smalltalk's Contributions:** Davis discusses Smalltalk’s clean syntax and immersive development environment, which introduced many ideas like MVC architecture and object-oriented patterns familiar in modern development. - **Self's Influence:** He elaborates on Self, a classless language that emphasizes prototyping, influencing contemporary languages such as JavaScript. Its JIT compilation approach also provides valuable lessons for Ruby. - **Racket and Scheme:** Racket's robust documentation and metaprogramming capabilities are discussed as inspirations for enhancing Ruby's adaptability and learning curve, suggesting the potential benefits of incorporating a functional programming perspective. - **Cola and Viewpoints Research Institute:** Davis mentions Cola from the VPRI, which aims to develop expressive programming systems, highlighting how Ruby can learn from its mixed object and lambda architectures. **Conclusions/Takeaways:** - Ruby is a powerful language in its own right, but to progress and innovate, it must actively integrate insights and practices from these influential languages. - By adopting strategies from historical giants, Ruby can improve its tools, include more features, and ultimately elevate developer productivity. - Davis encourages the Ruby community to not shy away from drawing upon the wealth of knowledge available from past programming languages to build a more advanced Ruby.
Suggest modifications
Cancel