Yeah, this happens way too often “it’s all in here (link), but I will not elaborate”
Rust dev, I enjoy reading and playing games, I also usually like to spend time with friends.
You can reach me on mastodon @sukhmel@mastodon.online or telegram @sukhmel@tg
Yeah, this happens way too often “it’s all in here (link), but I will not elaborate”
So I who am careful to write readable and safe code
I just want to point out that it’s hard to be sure your code is readable if you don’t work with a team. More than once I saw people write “readable” code that was not readable. My own code I deemed “readable” was in fact not, as time had shown when I returned to fix something. So, the cited part looks a bit arrogant 😅
All heil Rust-toad
Rust is a bunch of great pieces that don’t fit together well.
That might change over time.
Down that path C may become somewhat of an intermediate representation language for binary interfaces. No one would write it by hand, and maybe for the better
Well, there’s “low life” part for sure
In a loose sense, any implant makes you a cyborg, in a more strict sense implants that control something in your body do. Heart rate control by a pacer, insulin level control by an implant, hearing aid, some more complicated implants all make you a cyborg but usually not the cyborg one imagines
I also did not know the page existed
I’d say, it’s a bit concerning since review bombing can turn away people who are uncertain about using Godot, or donating to it.
And COBOL is listed as third-generation on Wikipedia, too.
I now remember reading about this concept of generations in a book about Ada, it seemed fascinating then but turned out to not be as good as expected 🥲
Also, Unix Shell is listed as 4GL example. There are SPSS, MATLAB, R, and Wolphram Alpha in the same list of examples, that kind of shows where 4GL went today.
I guess, opening a PR without forking is possible, but hey that’s sort of incredibly bullshit idea
Are we still talking about COBOL?
To be fair, I disagree with all the points author makes, except for performance which is important but may be less important than code clarity in different cases. I am surprised that exceptions perform that well, and I am surprised the author said that compared C++ exceptions to Rust results, but actually did the right thing and compared C++ exceptions with C++ expected first. I thought it was going to be one of those “let’s compare assembly to lisp”
Yeah, I shaped my words poorly. What I meant is that errors are sort of equivalent to exceptions, but errors are first class citizens of type system, and this is an improvement over exceptions being kind of independent of type
Have you ever worked at large old corporation? Wasting money is a bit of an underestimation on that scale.
Also, not all banks use COBOL, but the ones that don’t are usually much younger.
Besides, Ada would’ve been a better example, as it is used by telecoms and seems to be held in high regard, unlike COBOL. The only issue with Ada I heard of is that it’s on par with C++ in complexity which is far from being simple.
I’m just going to ask, without making assumptions. Have you managed to cut some time to read the article and find an answer?
you never know what code your function or library calls that can produce an exception
As far as I remember, there were several attempts at introducing exceptions into type system, and all have failed to a various degree. C++ abandoned the idea completely, Java has a half-assed exception signature where you can always throw an unexpected exception if it’s runtime exception, mist likely there were other cases, too.
So yeah, exception as part of explicit function signature is a vast improvement, I completely agree
I feel like this will have zero protection against
if (result.isSuccess()) {
handle_error(result.error);
} else {
do_something(result.value);
}
Besides, this is exactly what the comment said about having to constantly check for return values at call site. I think this may be mitigated by some clever macro-magic, but that will become a mess fast.
I don’t know the answer to your question, but I think that what is needed is just a bit of syntactic sugar, e.g. Rust has ?
for returning compatible errors without looking into them. That seems to be powered by Try
trait, that may be a monad, but I am not fluent enough to check if it formally is.
Good point but why “no bowling ball on a trampoline nonsense”? That’s not a correct analogy, since it deforms “space” different from how gravity transforms space, but it’s good enough to understand how that works, I think