Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf 2019 - Introducing Rubyfmt by Penelope Phippen Go has gofmt, Rust: rustfmt, elixir: mix format, so what about Ruby? One response is Rubocop! A sometimes beloved, sometimes maligned formatting and linting tool. A design principle of Rubocop is configurability. So, what if we had a code formatter without configuration options? In this talk, you’ll learn about my goals for Rubyfmt, my upcoming Ruby formatter. You’ll also get a guided tour through Ruby’s parser, and learn about why I’m rewriting the parser in Rust! This talk will get technical, and you should come if you want to learn more about Ruby’s parser and internals. #rubyconf2019 #confreaks
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 "Introducing Rubyfmt" at RubyConf 2019, Penelope Phippen shares the vision and development journey of Rubyfmt, an innovative code formatter for Ruby. Penelope, as the director of Ruby Central, emphasizes her connection with the Ruby community and establishes the importance of the project she will focus on going forward. Key points discussed include: - **Introduction to Rubyfmt**: Inspired by Go's gofmt, Rubyfmt aims to provide a fast and efficient solution for Ruby formatting without configuration options, focusing purely on formatting consistency and speed, akin to Unix tools. - **Comparison with Existing Tools**: Unlike RuboCop, which offers extensive configurability and multiple functionalities (formatting, linting, etc.), Rubyfmt will concentrate solely on formatting, thus simplifying usage and ensuring reliable outcomes. - **Principles of Design**: Penelope describes guiding principles for Rubyfmt's development: - **Do One Thing Well**: Emphasizing the importance of simplicity and focused functionality, she contrasts Rubyfmt with RuboCop, which can be overwhelming in its complexity due to numerous configuration options. - **Correctness Over Simplicity**: Rubyfmt aims for complete compatibility with Ruby implementations. It utilizes Ripper from the Ruby standard library to ensure accurate parsing, recognizing that achieving this level of correctness requires more effort. - **Speed is Needed at Any Cost**: Highlighting the benchmark of performance, Rubyfmt targets execution in under 100 milliseconds for larger Ruby files. To meet speed demands, core components are being written in Rust, differing from Ruby's performance limitations. - **Development Timeline**: Penelope indicates that Rubyfmt is still in development and may take another six months or longer to complete. She invites the community to follow her updates on Twitter. - **Conclusion**: Penelope acknowledges the complexities involved in building Rubyfmt, stating that it is perhaps the most technically challenging project she has undertaken. She expresses gratitude to the Ruby community and other developer tooling teams for their foundational work. For further engagement, she encourages the audience to visit the GitHub repository dedicated to Rubyfmt. Overall, Rubyfmt represents an approachable, efficient, and reliable solution for Ruby formatting aimed at enhancing the developer experience.
Suggest modifications
Cancel