It’s no secret that my taste in programming languages is very weird for a programming language enthusiast professional. Several of my last few posts are about Go, broadly regarded as the programming language equivalent of eating plain oatmeal for breakfast.| mcyoung.xyz
A TCP stream between a local and a remote socket.| doc.rust-lang.org
A list specifying general categories of I/O error.| doc.rust-lang.org
Traits, helpers, and type definitions for core I/O functionality.| doc.rust-lang.org
String slices.| doc.rust-lang.org
Layout of a block of memory.| doc.rust-lang.org
The `Read` trait allows for reading bytes from a source.| doc.rust-lang.org
Yet another article complaining about Go’s error handling.| MOND←TECH MAGAZINE
Utilities related to FFI bindings.| doc.rust-lang.org
Building TodoMVC With vgtk| bodil.lol
Learning Parser Combinators With Rust| bodil.lol
My honeymoon with the Go language is extremely over. This article is going to have a different tone from what I ’ ve been posting the past year - it ’ s a proper rant. And I always feel bad writing...| fasterthanli.me
Exceptions are often a better way to handle errors than returning them as values. We argue that traditional exceptions provide better user and developer experience, and show that they even result in faster execution.| CedarDB - The All-In-One-Database
A double-ended queue implemented with a growable ring buffer.| doc.rust-lang.org
An object providing access to an open file on the filesystem.| doc.rust-lang.org
After working through “the book” on the Rust programming language and getting started with the first non-trivial, real-world application I found myself faced with a question I didn’t yet feel well-equipped to handle: “How should you structure error handling in a mature rust application?”| nick.groenen.me
An implementation of `Allocator` can allocate, grow, shrink, and deallocate arbitrary blocks of data described via `Layout`.| doc.rust-lang.org
Native threads.| doc.rust-lang.org
A clone-on-write smart pointer.| doc.rust-lang.org
Optional values.| doc.rust-lang.org
Error handling with the `Result` type.| doc.rust-lang.org
`Result` is a type that represents either success (`Ok`) or failure (`Err`).| doc.rust-lang.org
The `Option` type. See the module level documentation for more.| doc.rust-lang.org
Optional values.| doc.rust-lang.org
This post is part of the Languages Opinion series. Welcome back to my mini-series about programming languages. In this post, we will talk about one of the most interesting programming languages that I have seen in a long while: Rust. This is gonna be a rather long post, but I have tried to stay at a pretty high level, to give you an overview of the language, its strength, and its weaknesses as I see them.| andreabergia.com
UPDATE 2: I have made the title longer because people seem to be insisting on misunderstanding me, giving examples where the only reasonable thing to do is to escalate an Err into a panic. Indeed, such situations exist. I am not advocating for panic-free code. I am advocating that expect should be used for those functions, and if a function is particularly prone to being called like that (e.g. Mutex::lock or regex compilation), there should be a panicking version.| The Coded Message