A comprehensive learning roadmap for mastering Go and Rust through structured practice with Exercism's excellent exercise collections.
Exercism is a free, open-source platform designed to help you get really good at programming. With 77 programming languages and over 7,329 coding exercises, Exercism offers a unique blend of learning, practice, and human mentoring - all completely free, forever.
- π― Learn by Doing - Solve real coding problems that build understanding
- π₯ Human Mentoring - Get personalized feedback from experienced developers
- π§ CLI-First - Work locally in your preferred environment
- π Browser Support - Try languages without local installation
- π€ Automated Analysis - Instant feedback on your solutions
- π Community-Driven - Independent, not-for-profit organization
Language | Completed | In Progress | Available | Locked | Total | Progress |
---|---|---|---|---|---|---|
Go | 13 β | 0 π | 113 π | 17 π | 141 | 9.2% |
Rust | 1 β | 0 π | 97 π | 0 π | 98 | 1.0% |
Total | 14 | 0 | 210 | 17 | 239 | 5.9% |
- Status: Strong foundation established
- Current: All current exercises completed!
- Recent: Completed Structs and Slices
- Next: Ready for Methods and Interfaces
- Status: Just beginning the journey
- Current: Ready to tackle first exercises
- Recent: Completed Hello World
- Next: Reverse String and basic syntax
exercism/
βββ README.md # This file - Global overview
βββ go/ # Go learning track
β βββ README.md # Go-specific roadmap
β βββ hello-world/ # Completed exercises
β βββ lasagna/
β βββ ...
β βββ need-for-speed/ # Completed
β βββ card-tricks/ # Completed
βββ rust/ # Rust learning track
βββ README.md # Rust-specific roadmap
βββ hello-world/ # Completed
βββ reverse-string/ # Available to start
- Goal: Master Go fundamentals and syntax
- Timeline: 2-3 months
- Target: Complete 30+ Go exercises
- Focus Areas:
- Basic syntax and data types
- Control structures and functions
- Structs, methods, and interfaces
- Error handling and concurrency basics
- Goal: Start Rust fundamentals while maintaining Go momentum
- Timeline: 1-2 months parallel learning
- Target: Complete 15+ Rust exercises
- Focus Areas:
- Ownership and borrowing concepts
- Pattern matching and enums
- Error handling with Result/Option
- Basic memory management
- Goal: Tackle advanced topics in both languages
- Timeline: 3-4 months
- Target: Medium/Hard exercises in both tracks
- Focus Areas:
- Advanced concurrency patterns
- Performance optimization
- Complex data structures
- Language-specific advanced features
# Install Go
go version # Should be 1.19+
# Install Rust
rustc --version # Should be 1.70+
cargo --version
# Install Exercism CLI
exercism version
cd exercism/go/[exercise-name]
go test # Run tests
go test -v # Verbose output
exercism submit *.go # Submit solution
cd exercism/rust/[exercise-name]
cargo test # Run tests
cargo test -- --nocapture # With output
exercism submit src/lib.rs # Submit solution
- Go Tour - Interactive tutorial
- Effective Go - Best practices
- Go by Example - Practical examples
- Go Documentation - Official docs
- The Rust Book - Official guide
- Rust by Example - Practical examples
- Rustlings - Interactive exercises
- Rust Documentation - Official docs
- Go Learning Track β - Detailed Go roadmap and progress
- Rust Learning Track β - Detailed Rust roadmap and progress
- Simplicity: Easy to learn and read
- Concurrency: Excellent goroutines and channels
- Performance: Fast compilation and execution
- Ecosystem: Great for web services, APIs, DevOps tools
- Memory Safety: Zero-cost abstractions without garbage collection
- Performance: System-level performance with safety
- Concurrency: Fearless concurrency with ownership system
- Ecosystem: Great for systems programming, web assembly, blockchain
- Go: Rapid development, microservices, cloud-native applications
- Rust: System programming, performance-critical applications, embedded systems
- Together: Full-stack systems programming capabilities
- Exercises Completed: 14/239 (5.9%)
- Concepts Mastered: 19+ across both languages
- Time Investment: ~2-3 hours per week per language
- Consistency: Daily practice goal
- Problem Solving: Algorithm implementation across languages
- Language Comparison: Understanding design philosophies
- Best Practices: Idiomatic code in each language
- Testing: TDD approach with language-specific test frameworks
- β First Steps: Completed Hello World and basic syntax
- β Control Flow Master: Mastered conditionals and loops
- β String Manipulator: Advanced string operations
- β Slice Master: Mastered dynamic arrays and collections
- β Struct Master: Mastered custom data types and methods
- β Loop Master: Mastered for loops and iteration patterns
- β Function Master: Mastered variadic functions and advanced function patterns
- π― Ready for Next Level: All current exercises completed!
- β Hello Rust: Completed first Rust program
- π― Next: Ready for string manipulation exercises
- Mentor Reviews: Request feedback on Exercism solutions
- Community: Engage with Exercism and language communities
- Documentation: Maintain detailed learning notes
- Comparison: Cross-language concept mapping
- Share learning insights and alternative solutions
- Help other learners through mentoring
- Contribute to open-source projects in both languages
- Create learning resources and tutorials
"The best way to learn a programming language is by solving real problems. This dual-track approach with Go and Rust provides complementary perspectives on modern systems programming - Go's simplicity and Rust's safety, together forming a powerful toolkit for any developer."
- Go: Focus on simplicity and rapid development
- Rust: Emphasize safety and performance
- Both: Strong typing, modern tooling, active communities
Last Updated: December 2024
Next Review: Weekly progress updates
Learning Pace: Consistent daily practice with weekly milestone reviews