Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Go is a statically-compiled systems language geared to developing scalable and type-safe applications with the light touch of a dynamic language. In this session we'll explore Go from a Rubyists perspective, examining the CSP-based concurrency model which has gained it wide-spread press coverage, it's inference-based approach to dynamic typing and the inheritance-free object model this supports. Where possible I'll tie these concepts back to familiar Ruby idioms. Along the way we'll meet gotest (Go's testing and benchmarking framework), CGO (for linking to C libraries), goinstall (the remote package installer) and Go's powerful reflection and type manipulation features. By the end of the session you'll be comfortable reading Go source code, have a basic feel for developing with the language and the necessary background to get started writing your own concurrent Go programs. Help us caption & translate this video! http://amara.org/v/FG9h/
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 video 'Google Go for Ruby Hackers,' presented by Eleanor McHugh at LoneStarRuby Conf 2011, the speaker explores the Go programming language from the perspective of Ruby developers. The session highlights the similarities and differences between the two languages while providing insights into Go's features. Key points discussed include: - **Language Comparison**: McHugh emphasizes Go's statically-compiled nature compared to Ruby's interpreted style, pointing out shared features such as garbage collection and dynamic typing. - **Simplicity of Syntax**: The presentation covers Go's minimalist design with a limited set of keywords and basic types, contrasting this with Ruby's more dynamic type system. - **Types and Functions**: Basic types, constants, and the static nature of Go's type system are examined, alongside examples of class definitions in Ruby to illustrate the differences in inheritance and type management. - **Custom Types and Interfaces**: The concept of defining custom types and using interfaces in Go is introduced, explaining how types can be combined or embedded for functionality. - **Testing and Benchmarking**: McHugh emphasizes the integrated testing framework ('go test') in Go and how it facilitates performance measurement through benchmarks. - **Reflection and Concurrency**: The use of reflection for dynamic type interpretation and Go's approach to concurrency using go routines and channels is discussed, showcasing how they enhance performance. These routines operate with minimal memory, allowing thousands to run concurrently. - **Conclusion and Resources**: The talk ends with recommendations for further learning on Go, including visiting the Go web homepage and exploring additional presentation slides for comprehensive understanding. Overall, McHugh aims to equip Ruby developers with a foundational understanding of Go, encouraging them to delve into its static type system and explore concurrent programming capabilities. The takeaway from the session is that understanding Go can broaden a developer's programming toolkit and help improve application performance through effective concurrency models.
Suggest modifications
Cancel