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 Rails developers, we already have a really, really great language for web development -- why should we be interested in Go? I'm convinced that every web developer would benefit from exposure to the Go approach to programming, which places a strong emphasis on up-front error handling and modular, namespaced libraries. Let's sit down and compare some code! In this talk, we will: * Compare idiomatic approaches to common problems such as error handling, dependency management and testing in Go and Ruby. * Think carefully about tradeoffs between different programming styles and examine how programming languages encourage one style or another. * 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/Rails and embrace Go. * Make vague, unsubstantiated claims about the benefits of static or dynamic typing. * Assume any prior knowledge of Go.
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 "What Ruby Developers Can Learn From Go" presented by Lionel Barrow at Rails Conf 2013, the speaker aims to explore the benefits Ruby developers can gain by understanding the Go programming language. With Go becoming known for its efficiency in web development, Barrow argues that Rubyists should consider the advantages of Go's programming paradigms without suggesting a complete shift away from Ruby/Rails. Key points discussed include: - **Overview of Go**: Barrow introduces Go as a young programming language, emphasizing its design and structure. Developed by Google, it is characterized by its strong typing, garbage collection, and emphasis on concurrency. - **Programming Style**: Go enforces a specific coding style, encouraging developers to follow its guidelines for best practices. This is contrasted with Ruby's flexibility, where various programming styles coexist. - **Error Handling**: A significant focus is placed on how Go encourages developers to handle errors. Unlike Ruby, Go functions commonly return multiple values, including error values, promoting a culture of explicit error checking rather than relying on exceptions. This leads to more predictable and readable code at the cost of verbosity. - **Dependency Management**: The talk discusses Go's approach to organizing and managing dependencies through its package system, simplifying the navigation of code while keeping namespaces clear and manageable. - **Interface and Composition**: Barrow highlights Go's interface-oriented design, which facilitates polymorphism and composition over traditional inheritance, encouraging developers to structure their code in a modular fashion. - **Conclusions on Language Learning**: Barrow concludes that exploring different languages, including Go, helps developers become more adaptable and informed about the trade-offs in their coding practices. The exposure to Go can lead to enhanced understanding of Ruby's idiomatic practices, promoting growth in the programming community. Overall, the talk encourages developers to experiment with Go while appreciating the strengths of Ruby, fostering a mindset of continual learning and adaptation in programming.
Suggest modifications
Cancel