this is among the best blog posts i have read in some time https://izzys.casa/2024/11/on-safe-cxx/
-
this is among the best blog posts i have read in some time https://izzys.casa/2024/11/on-safe-cxx/
be warned, it's... dark?
for lack of a better word
but it is very good
-
Mia ‘Meetings? I Abstain’ Luna Tearmoonreplied to Noah Kennedy last edited by
Several months later, I learned I had experienced slight brain damage due to hypoxia and I’ve been slowly recovering ever since. The worst part of all of this is that I said in that post that I was enjoying golang. In other words, I had brain damage and suddenly found writing Go to be fun.
this made me do a spit take
-
Mia ‘Meetings? I Abstain’ Luna Tearmoonreplied to Mia ‘Meetings? I Abstain’ Luna Tearmoon last edited by
@noah to the point where I almost ejected a really nice matcha candy from my mouth
-
Mia ‘Meetings? I Abstain’ Luna Tearmoonreplied to Mia ‘Meetings? I Abstain’ Luna Tearmoon last edited by
@noah I want to make it clear that despite my generally highly questionable abilities when it comes to programming, lack of in-depth knowledge of the language, and many somewhat inconvenient things that lie therein, I find writing Rust actually fun because of all the mistakes it prevents me from making and of all the nifty things that it does
at the same time I never found Go even remotely interesting after reading some of its documentation and design decisions-related posts from its developers
-
Noah Kennedyreplied to Mia ‘Meetings? I Abstain’ Luna Tearmoon last edited by
@mia i think go does well with a lot of the bits that aren't the language itself, like the runtime
but the language, sheesh
-
Mia ‘Meetings? I Abstain’ Luna Tearmoonreplied to Noah Kennedy last edited by
@noah I know I love to beat this dead horse but this is what put me off completely and immediately, because it made no sense whatsoever, and I do not want to trust the decisions made by these people (emphasis mine; following is an un-block-quoted quote verbatim from the above):
Pointers are the exception that proves the rule. Notice that in arrays and slices, for instance, Go’s type syntax puts the brackets on the left of the type but the expression syntax puts them on the right of the expression:
var a []int x = a[1]
For familiarity, Go’s pointers use the * notation from C, but we could not bring ourselves to make a similar reversal for pointer types. Thus pointers work like this
var p *int x = *p
We couldn’t say
var p *int x = p*
because that postfix * would conflate with multiplication. We could have used the Pascal ^, for example:
var p ^int x = p^
and perhaps we should have (and chosen another operator for xor), because the prefix asterisk on both types and expressions complicates things in a number of ways. For instance, although one can write
[]int("hi")
as a conversion, one must parenthesize the type if it starts with a *:
(*int)(nil)
Had we been willing to give up * as pointer syntax, those parentheses would be unnecessary.
-
Mia ‘Meetings? I Abstain’ Luna Tearmoonreplied to Mia ‘Meetings? I Abstain’ Luna Tearmoon last edited by
@noah ‘the exception that proves the rule’ is such a lame, stupid, nonsensical excuse I actually wanted to flip a table
-
Noah Kennedyreplied to Mia ‘Meetings? I Abstain’ Luna Tearmoon last edited by
@mia yeah, the language itself sucks