Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Rocky Mountain Ruby 2017 - Trust, But Verify (Programmatically) by Ben Orenstein
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 "Trust, But Verify (Programmatically)" by Ben Orenstein at the Rocky Mountain Ruby 2017 conference, the focus is on the importance of writing correct code for the future of software development. Ben opens the session with engaging crowd participation before delving into key elements surrounding code correctness and innovative programming practices. ### Key Points Discussed: - **Importance of Correct Code:** Ben emphasizes that with the rapid development of complex software systems, such as airplanes and cars containing millions of lines of code, writing correct code is crucial to prevent potentially disastrous errors. - **Inspiration from Chess:** He introduces the concept using chess, referencing Garry Kasparov's defeat to the chess computer, Deep Blue. The synergy between strong chess engines and human grandmasters forms the basis for Ben's argument that combining smart programs with human input can lead to better software development outcomes. - **Use of Advanced Programming Languages:** Orenstein shares his positive experiences with Elm, a programming language that compiles to JavaScript. Elm’s powerful type system helps reduce errors significantly compared to other languages like Ruby, showcasing its potential for writing more reliable code. - **Type Systems and Error Handling:** He illustrates how Elm’s type system enables developers to catch many errors at compile time, drastically reducing runtime exceptions. He provides concrete examples where Elm ensures that functions behave as expected, reinforcing the correctness principle in programming. - **Handling Nil Values:** The talk passionately critiques Ruby's handling of `nil`, suggesting that Elm’s approach using a `Maybe` type allows better control and error prevention, leading to more robust code without the common pitfalls of nil errors. - **Property-Based Testing:** Ben introduces property-based testing as a superior method for verifying function correctness. By defining properties that should always hold true, developers can test their functions across a broader range of scenarios than traditional unit testing allows. - **Real-World Application:** Orenstein shares anecdotal evidence and success stories of projects that benefited from Elm’s approach, including property-based testing catching subtle bugs in a JSON encoding library. ### Conclusions: Ben concludes with a call to embrace programs and tools that support developers in their quest for correctness. He argues that by leveraging smart programming languages and methodologies, programmers can focus more on creative coding endeavors rather than mundane error checks, ultimately fostering innovation in software development. He encourages the audience to try out Elm and similar tools for their own projects, highlighting their effectiveness in improving code quality and developer experience.
Suggest modifications
Cancel