Hacker News new | past | comments | ask | show | jobs | submit login
Abstracting away correctness (2020) (fasterthanli.me)
31 points by goranmoomin on Jan 8, 2022 | hide | past | favorite | 10 comments



Holy smoke, that's a long article. I'm not even sure what the point is. I mean, the author starts off by saying that once you've seen "good design" you're ruined for life every time you see bad design, and I guess the author does actually end up back at that point, sort of, by writing that You Should Learn Rust, It Will Make You A Better Person.

I guess the good design was the friends we made along the way.


There is no short article from fasterthanlime. These have to be worth their money I guess but anyway I always like everything by him.


"I didn't have time to write a short text so I wrote a long one instead", or something like that


it's mostly lots of code fragments and incrementally building on whatever he's trying to convey, is not like he put a brain dump or a wall of text as per when that phrase is used.

So your comment doesn't ring true in this case imo


Lol well the length of the article gives a good idea of what you are in for picking something like rust (or any other language really) over go. Every single thing in go from the tooling to the standard library is so relentlessly simple and to the point. It also changes very methodically and doesn’t break things. I really wish more languages would adopt this level of “good design”.


The article makes a pretty clear point that the go interfaces it talks about aren't as simple as they seem.

The limitations of the language result in interfaces that are pretty easy to misuse due to unenforceable invariants, and not in theoretical ways either, which I think is the opposite of simple.


Couldn't make it through this. Author has the most obnoxious way of writing and rambling.


At least it doesn't have to load 20 MB of image macros. Not more obnoxious than hyperbole.

Here is his tl;dr from the bottom. (Admittedly, a violation of BLUF)

* There are significant design flaws in Go, both the language and the standard library, that enable entire classes of bugs that have very real consequences.

* These flaws are not immediately obvious to everyone - which is fine - so we took a very long and detailed look at them, one by one.

* These flaws are not unavoidable - the situation is not desperate. *It doesn't have to be like this.*

* There has been progress in enabling misuse-resistant design, and I strongly encourage you to learn about it, even if it turns out you can't use those novel languages, because some of the techniques can be applied to classical languages as well.


qq: is the author's style more or less obnoxious than announcing your opinion on someone's writing style when it wasn't solicited?


  > var _ AltReader = (*AltReadWrapper)(nil)
I understand why, but I still find the idiom funny and clunky.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: