I'm quite happy to NOT have exceptions. I think they're a mistake as a language feature. What we need is first -class support for returning errors and propagating them, like what zig does. The next best thing are those RETURN macros that Google uses.
"first-class support for returning errors and propagating them" certainly sounds like exceptions! In fact, the compiler can even emit special tables that let the runtime completely skip over stack frames that don't need to do any cleanup during that propagation step!
Some languages have even innovated new kinds of exceptions that you can throw but that you are admonished should almost certainly never be caught.
Unfortunately even this is also better for tool support, a problem that using a bunch of macros solves. It's cool and good when a variable gets declared inside the guts of some macro expansion (and--critically--escapes those guts).
Its not the same. You have to explicitly declare the errors and if you want to ignore/propagate them, you have to do so explicitly as well.
You cant invoke a function and pretend it'll never fail.
Also, try/catch with long try blocks and a the error handling at the very end is just bad. Which of the statements in the try is throwing? Even multiple perhaps? Each should be handled individually and immediately
Deliberately more verbose. Not sure how it'd be slower. And only a tiny bit more verbose if the language has nice keywords/syntax for you to use. The point is you want to be explicit when you're choosing to ignore an error.
Not the address, but the phone number has a bug I run into it occasionally. Some merchants support the +1 country code, some are local US only and don’t expect it. Safari’s auto-fill figures this out when filling the form. But then I go to Apple Pay, an it replaces the phone number with a 1 at the beginning and drops the last number, then I get an error that something is wrong. Initially took me a while to realize what was happening and that you can edit the number in the Apple Pay overlay before it applies it to the order. Just a bit annoying
I'm not sure if that's possible either but I'm thinking a good start would be to separate the "instructions" prompt from the "data" and do the entire training on this two-channel system.
I think i found something even better. I'm just adjacent to the big money maker. We keep folks on the page a little longer but don't need to concern ourselves with revenue and ads. Just make it good so folks stick around but important enough that we won't get axed.
Very observant of you. The comment you replied to mentioned “non-obtrusive ads at the bottom” so they noticed that too. IMO “non-obtrusive” is a fair description, given that it doesn't seem to be doing excessive tracking (I didn't spot any extra cookies or other storage, so it is presumably logging little, if any, more than web server logs did in the 90s/00s, which is better than the stalking done by most adtech these days).
I don't know a lot about Ruby, but I'd wager what its missing is a hero app or framework. Ruby on Rails got folks interested for awhile, but I guess other frameworks won out. What left does it have? What domains does it excel at?
Python has ML. JS has web. C/C++ has performance. Rust is stealing a slice of that thanks to safety.
That probably covers like 99% of things, at least from my world view. There are arguably other better languages but it doesn't much matter if the community all flocks to the well established ones.
There is no single established framework/language for backend Web development. There are many options, all valid, differing in popularity based on their qualities (or sometimes just hype).
Ruby used to be cool around 2010, but it lost to better options. Ruby has strange syntax, and Rails abuses magic, so I guess the viability of TypeScript for development made Ruby less popular.
> Ruby used to be cool around 2010, but it lost to better options.
I'd argue that it lost the cool kidz mindshare but not to better options. People jumped to Node.js because of async but in the end the relevant industry change was the switch to SPA based architectures in the web space. Rails never embraced that approach and hence lost the popularity.
Jump 15 years ahead, and now the Enterprise world is built with React and Angular apps, not with JSPs or Spring MVC apps. Can Rails do a comeback? Who knows, but it's still a bona fide web development stack with terrific productivity gains for those who want to optimize that metric.
IMO I think that the industry will start to move away from React and Angular. These apps take too much developer time for basic functionality, are too slow, and too much of a maintenance burden. The Future^TM is HTMX like functionality, which Rails is very well positioned for with Turbo + Stimulus. I rewrote some pages that had Rails backends with React front ends to Turbo + Stimulus, and the code base size drastically shrank, the performance increased, the maintenance time for features dropped, and it was even more reactive than before.
reply