Are we still talking about COBOL?
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
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.
It’s used because the ones who use it have enough money to pay for any problems that may arise from it’s use, and known problems are deemed better than unknown ones.
It is a viable model when you have enough money and resources, but a conservative one
That way we’ll just find maintainers went near extinct over time, just like COBOL developers that are as rare as they are expensive. Only Linux kernel isn’t a bank, and maybe will not have as much money to pay to rare developers capable of maintaining C codebase
Yet we live in a world where
Well, this is shitty
I hope the reviewer did not also squash commits, and the next programmer would be able to at least dig what was there.
Doing changes after some rockstar dev implemented some really complex service, but left no clues as to what does what is so frustrating, and I can never be sure that I don’t break anything in a different place completely
There’s no such thing as “zeroith” because it’s called “zeroth — being numbered zero in a series”
This works for building storeys, this would work equally well for tables. The only reason this is not used often is because the series are rarely zero-based in anything that doesn’t also want to equate index and offset.
You’re right that first may be read as “opposite of last”, that would add to the confusion, but that’s just natural language not being precise enough.
Edit: spelling
Edit2: also, if you extend that logic, when you’re presented with an ordinal number, you would need to first check all the options, sort them, and then apply the position you’re asked, that’s not really how people would expect ordinal number to be treated, not me, at the very least