Our great sponsors
-
tokio
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
The tokio project provides a non-blocking, asynchronous framework (like nodejs) upon which other frameworks are built. As you specifically want to use WebSockets, I'd recommend actix, as it covers all your REST/WebService/WebSocket needs in one easy to use package.
-
The tokio project provides a non-blocking, asynchronous framework (like nodejs) upon which other frameworks are built. As you specifically want to use WebSockets, I'd recommend actix, as it covers all your REST/WebService/WebSocket needs in one easy to use package.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
The same is not true for CLIs, especially CLIs that don't use async networking. The space has matured incredibly well and almost everything you touch is bulletproof. Clap 4 with derive macros is one of the best libraries of any kind in any language I've ever used. Rayon makes totally safe parallel processing look like a rigged demo that can't possibly be real. Reading and writing JSON and TOML is silky smooth and fast, YAML is held together with sticky tape but it works too. There are incredible libraries like crossterm and tui to make terminal interfaces better and easier and more portable than anything in Go. People say Go is good for CLIs, but I think they must be comparing to Java or something, because Rust runs circles around Go for CLIs, and in ways that end users notice too.
-
I like to point people at this release to show that not even Google -- in its own language on its own library for its own RPC protocol -- can write thread-safe Go, so what chance does anyone else have. Maybe we have to stop thinking of Go as a language for mission critical parallel computing and think of it more like a Python 4 made for low-risk prototyping. Mature libraries help for that prototyping, you know how to put them together and get something working, that something just won't be scaleable, efficient, or thread-safe.