Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
By Alan Skorkin - Why You Should Love The Command-Line And Get Rid of Your Rake Tasks Once and For All Rake is ubiquitous in our community, it's in just about every project. But why is this so, it is awkward and inflexible (try passing some arguments to rake tasks), and the way we've come to use it almost encourages bad design. Interestingly we've had a better way, to handle the things that we use Rake for, since before Rake even existed - command-line apps. Apps that do one task and do it well, it's the unix philosophy. The problem is that as far as most of us know, writing a good command-line app in Ruby is not easy. Fiddling with OptionParser to produce a hacky script is no better than Rake, if anything it is worse. But what if we had the technology to build excellent command-line apps simply and easily? Well, to some extent we already do, but most of the tools available don't go far enough and so never become a viable Rake alternative. In this talk we'll try to figure out what features a command-line framework needs to become your go-to tool instead of Rake (and how close existing tools are to this ideal). We'll cover things like: What exactly is so bad about Rake What makes a good command-line interface Configuring your command-line apps What are your options for parsing options Can a command-line framework encourage good code design? Writing highly testable CLI apps Etc. And as an added bonus, while we talk about all this, we'll touch on good and bad code design as well as look at some of the unexpected corners of your app where 'bad' code is hiding. Help us caption & translate this video! http://amara.org/v/FG8e/
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 his presentation at the LoneStarRuby Conf 2013, Alan Skorkin discusses the limitations of Rake, a commonly used tool in the Ruby community for task automation, and argues for the adoption of command-line applications instead. He highlights several key issues with Rake, emphasizing that it is awkward, inflexible, and often encourages poor design due to its lack of idioms and the reliance on global variables. Skorkin elaborates on the historical context of Rake's lineage from Make, detailing the shortcomings of both tools. Key Points Discussed: - **Ubiquity of Rake**: Rake's widespread use in nearly every Ruby project but with frustrations tied to its structure and convention. - **Problems with Rake**: Including difficulties with task arguments, lack of modularity, absence of idiomatic structures, and documentation challenges. - **Desire for Better Solutions**: The need for a command-line framework that encourages clean, modular design and best practices in Ruby programming. - **Command-Line Apps vs. Rake**: Skorkin posits that writing command-line applications could provide a more structured and effective alternative to the Rake tasks, taking inspiration from the Unix philosophy of simplicity and specificity. - **Key Features for a Command-Line Framework**: A successful framework should include ease of use, configurability, documentation generation, environment awareness, and encourage best programming practices. - **Examples of Existing Alternatives**: He mentions potential alternatives like Thor and highlights his own experience developing a command-line framework called Escort, albeit with some limitations. Skorkin concludes by encouraging Ruby developers to think critically about Rake and consider creating command-line applications that better meet their needs. The presentation prompts viewers to embrace change in their tools and practices within the software development community. Main Takeaways: - Rake has several significant deficiencies that can hinder good design in Ruby applications. - Developing command-line applications can lead to improved organization and design patterns compared to Rake. - There is a need for and potential benefit from robust command-line frameworks that provide clear structure and support for modern Ruby development practices.
Suggest modifications
Cancel