Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
While Node.js is the hot new kid on the block, evented libraries like EventMachine for Ruby and Twisted for Python have existed for a long time. When does it make sense to use one over the other? What are the advantages and disadvantages to using node over ruby? In this talk, you will learn how to get the same power of concurrency enjoyed by Node.js while continuing to write in the language you know and love. Topics covered will include pubsub with redis or faye, building evented rack applications, and running evented applications alongside existing Rails apps. Help us caption & translate this video! http://amara.org/v/FGgT/
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 this talk titled "Evented Ruby vs Node.js," Jerry Cheung explores the concept of evented programming and compares its implementation in Ruby and Node.js. He outlines critical principles concerning performance optimization and emphasizes the need for sustainable changes that benefit end-users. The discussion begins with an introduction to evented programming, highlighting its significance in server-side development, particularly for web applications. Key points covered in the video include: - **Evented Programming Overview**: An explanation of evented programming as the practice of registering callback functions for various events, similar to how JavaScript operates in the browser. - **Node.js Execution Model**: Node uses a non-blocking I/O model, acting as a general-purpose reactor to efficiently manage I/O callbacks and concurrency. - **Latency vs. Concurrency**: Cheung stresses the difference between handling many requests at once and responsiveness to user actions. While Node can manage greater concurrency, Ruby's approach may lead to 'callback spaghetti'. - **Ruby’s Evented Capabilities**: Ruby can also utilize evented programming through gems like EventMachine, allowing more concurrent capabilities. - **Using Fibers**: The introduction of Ruby fibers aids in writing less convoluted concurrent code while keeping syntax preferable for Ruby developers. Throughout his presentation, Cheung points out the challenges and advantages associated with transitioning from traditional Ruby applications to evented programming frameworks. For example, while employing Node offers consistency with event-driven architecture, Ruby can also achieve async features that keep core application logic clean. Overall, both environments have their benefits, but performance benefits arise from thoughtful integration of eventing concepts. In conclusion, Cheung advocates for using evented programming principles where suitable, rather than making a strict language choice. He encourages tackling performance issues with a focus on maintaining code readability and usability for developers. He suggests leveraging existing codebases when introducing features in either Ruby or Node.js, and emphasizes the importance of benchmarking and assessing improvements carefully before committing to architectural changes.
Suggest modifications
Cancel