Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Go has rapidly built a reputation as a great language for web development. But as Rubyists, we already have a great web development language -- why should we be interested in Go? After using Go at Braintree, I'm convinced that every web developer would benefit from exposure to the Go programming style, which emphasizes small, composable packages and up-front error handling. In this talk, we will: Compare idiomatic approaches to common problems such as error handling and program organization in Go and Ruby. Tease out common ideas and best practices that apply to all web applications, regardless of language or framework. Read a bunch of code. We will not: Try to convince anyone to ditch Ruby and embrace Go. Make vague, unsubstantiated claims about the benefits of static or dynamic typing. Assume prior knowledge of Go. In order to make informed comparisons with Ruby, I'll go over the basics of the Go language, but explaining Go won't be the focus of this talk. Help us caption & translate this video! http://amara.org/v/FG3i/
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 presentation titled "Ruby and Go," Lionel Barrow, a developer at Braintree, discusses the relevance of the Go programming language for web developers who primarily use Ruby. He emphasizes that understanding Go can enhance a Rubyist's approach to web development, owing to Go's distinct programming style which prioritizes small, composable packages and upfront error handling. Key points discussed in the talk include: - **Overview of Go**: Go is a general-purpose language developed by Google known for its concurrency support and clean toolchain. Barrow clarifies that Go is not merely a systems programming language but a versatile one. - **Go vs. Ruby**: The presentation illustrates how Go encourages a structured programming approach as opposed to Ruby's more flexible style. - **Go Agenda**: Barrow introduces the "Go agenda," which focuses on: - Writing small, generic packages. - Emphasizing composition over inheritance. - Implementing upfront error handling, treating errors as data rather than exceptions. - **Examples of Go's Package System**: Barrow provides a practical example from the Braintree package that exemplifies Go's approach to defining types and public functions, contrasting it with Ruby's method of code execution involving requires. - **Interface-Oriented Type System**: He explains how interfaces in Go enable type safety and explicitness, contrasting it with Ruby's duck typing approach, which is less clear about method requirements. - **Error Handling**: Barrow discusses Go's method of error handling, where functions return both a result and an error value, promoting cleaner code without convoluted exception mechanisms typical in Ruby. The presentation concludes with several takeaways: - Learning and experimenting with Go can provide a better perspective on software development and problem-solving. - Both Go and Ruby have unique trade-offs concerning flexibility and verbosity, influencing how developers can structure their applications. - Barrow encourages web developers to explore different programming paradigms to broaden their skill sets. For those interested in diving deeper into Go, Barrow suggests checking out various informative talks available on YouTube. Overall, this talk serves as an insightful comparison between Ruby and Go, highlighting the reasons for Ruby developers to consider learning Go.
Suggest modifications
Cancel