4 ms·
> This is the "Go y u no generics" of secure messaging. Yes, it is – and it turns out that Go 2 will be adding generics. Before that, you could have said "If
by comex 8y ago
> This is the "Go y u no generics" of secure messaging.
Yes, it is – and it turns out that Go 2 will be adding generics.
Before that, you could have said "If generics are super-important to you, use Rust." But it turns out you can have both Go and generics, and (if you prefer Go over Rust for other reasons) that's even better than having to pick one or the other. The designers made a choice to omit generics in the initial version due to difficulties reconciling it with their goals of simplicity and ease of use, but (unlike some posters on forums like this) they never claimed that generics were fundamentally bad or that Go would never add them. Now that they have had time to think about how to work generics into the design without compromising their other goals, they are planning to do so.
I hope Signal does something similar.
- tptacek 8y agoMe too! I don't love the phone number thing. But I understand it.
- pa7ch 8y agoGenerics in Go, even as proposed, would not be without some trade-offs in readability and orthogonality with interfaces. These are things Go currently excels at. Its easy to imagine that adding an alternative UX in Signal for non-phone based contacts might complicate user flows. Creating a user-flow for alternative contact discovery without hurting the user experience for existing users I think is not simple and easy to underestimate. Go and Signal both choose a set of trade-offs that consider both technical and human elements. I think this irks people that don't understand these trade-offs since the human side of trade-offs is harder to define or evaluate the importance of. Ergonomics plays a huge role in the ultimate value of Go and Signal to society.
- erikbye 8y agoSomething being adopted doesn’t equal it being of benefit or a good thing. Vocal minorities have ruined many a thing this way, the vocal minority rarely possess the level of knowledge and insight as say, in this case, the language designers.