Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
This video was recorded on http://wrocloverb.com. You should follow us at https://twitter.com/wrocloverb. See you next year! We, Rubists, are proud users of one of the most dynamic object oriented language in the industry. We juggle eigenclasses, modify methods at runtime, embrace duck typing and still tend to deliver working software. But there's more than our Ruby out there in the wild. Borders between functional and object-oriented paradigms and between dynamic and static languages aren't as thick as it seems. Several ideas adopted in Ruby originated from communities concentrated around functional languages. Similarly, various tools developed by Rubists are ported to fully static languages such as Haskell. It's hard to overstate benefits of this exchange of concepts. Don't get left behind; see how it can make you a better Rubist.
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
The presentation titled "Embrace the static. Cherish the functional. Remain a Rubyist" by Jan Stępień at the wroc_love.rb 2013 conference explores the intersection of Ruby programming with static and functional programming paradigms. The talk is divided into two main parts: a technical segment focusing on code examples and a conceptual section discussing broader ideas. Here are the key points discussed: - **Lisp's Influence on Ruby**: Stępień asserts that Ruby draws inspiration from Lisp, particularly in its array operations and the use of blocks, noting that this reflects a significant cross-influence between programming paradigms. - **Ruby's Influence on Other Languages**: The second observation highlights how tools and concepts from Ruby have migrated to other programming languages, such as the Rack web server interface influencing the Clojure Ring library, and RSpec's structure inspiring the HSpec library in Haskell. - **Testing Innovations**: Stępień introduces QuickCheck from Haskell, demonstrating its effectiveness in generating test cases automatically, and shows how similar concepts can be implemented in Ruby with RSpec, thus promoting a cross-pollination of ideas between languages. - **Concurrency Concepts from Erlang**: The discussion moves to concurrency, emphasizing how Erlang's strong virtual machine and messaging concepts can be adapted in Ruby using frameworks like Celluloid. Stépień illustrates this by discussing error handling and message passing in the context of actor-based design models. - **Linguistic Relativity in Programming**: In the conceptual section, Stępień makes a compelling case regarding linguistic relativity, suggesting that the languages programmers use can shape their thinking and problem-solving frameworks. He encourages learning new languages to expand perspectives. - **Call for Exploration**: He concludes by urging programmers to explore other languages beyond Ruby, emphasizing the value in understanding varied programming languages and how they can inspire new approaches in Ruby development. The overarching conclusion is a call to embrace both static and functional aspects of programming while retaining the essence of Ruby as dynamic and object-oriented. Stępień encourages continual learning and experimentation to remain effective in the ever-evolving landscape of software development.
Suggest modifications
Cancel