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 versioncd exercism/go/[exercise-name]
go test # Run tests
go test -v # Verbose output
exercism submit *.go # Submit solutioncd 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