Rye is a practical high level language focused on “backend” tasks. This e-book is a work in progress project.aa
Rye is a practical high level language focused on “backend” tasks. This e-book is a work in progress project.aa
Rye is a small, embeddable language focused on data exchange and fluent expression, implemented in Go. You can learn more about its core ideas at ryelang.org. While developing Rye, exploring its unique features led to an interesting thought experiment about remote communication.
We usually interact with remote systems via APIs – REST endpoints, gRPC calls, etc. This works well, but it’s often rigid. The server predefines exactly which functions you can call and what they do. What if we could flip that? Instead of just calling predefined functions, what if we could send code to be executed remotely in a controlled environment?
Rye is a dynamic scripting language that has recently gained support for Go’s concurrency features, including goroutines, channels, select, and waitgroups. This makes Rye a powerful language for writing concurrent applications, especially for tasks that involve I/O or long-running operations.
Goroutines
Goroutines are lightweight threads that Rye creates to execute code concurrently. They are easy to create and manage, and they allow Rye programs to take advantage of multiple cores on modern processors.