[-] lysdexic@programming.dev -2 points 2 years ago

(...) rust, since js is much higher level. you should be comparing it with c, c++, zig, maybe nim, etc

Obvious troll.

[-] lysdexic@programming.dev -2 points 2 years ago

I mean, yeah, if your language does not support error values, do not use them.

Nonsense. If adopting info of the many libraries already available is not for you, it's trivial to roll your own result type.

Even if that was somehow unexplainably not an option, even the laziest of developers can write a function to return a std::tuple or a std::pair and use structured binding.

[-] lysdexic@programming.dev -2 points 2 years ago* (last edited 2 years ago)

Yeah, because the new tools are never actually better, right?

Well, yes. How many fads have come and went? How many next best things already died off? How many times have we seen the next best thing being replaced by the next best thing?

And yet, most of the world still runs on the same five languages: C, Java, C++, C#, JavaScript.

How do you explain that, with so many new tools being so much better than everything?

Might it be because fanboys tend to inflate their own definition of "actually better", while turning a blind eye to all the tradeoffs they need to pretend aren't there?

[-] lysdexic@programming.dev -2 points 2 years ago

I think you're trying too hard to confuse yourself.

[-] lysdexic@programming.dev -2 points 2 years ago* (last edited 2 years ago)

it’s about deploying multiple versions of software to development and production environments.

What do you think a package is used for? I mean, what do you think "delivery" in "continuous delivery" means, and what's it's relationship with the deployment stage?

Again, a cursory search for the topic would stop you from wasting time trying to reinvent the wheel.

https://wiki.debian.org/DebianAlternatives

Deviam packages support pre and post install scripts. You can also bundle a systemd service with your Deb packages. You can install multiple alternatives of the same package and have Debian switch between them seemlessly. All this is already available by default for over a decade.

[-] lysdexic@programming.dev -2 points 2 years ago* (last edited 2 years ago)

special treatment for free

They filed a bug report, with a reproducible bug.

Some guides on how to contribute to FLOSS projects even go as far as listing this as one of the main ways to contribute to projects.

But here you are, describing a run-of-the-mill bug report, filed among hundreds of bug reports, in a ticketing system explicitly opened to the public so that everyone and anyone in the world could file bug reports, as a request for "special treatment for free".

Do you think every single person filing a bug report is asking to be given special treatment for free? Everyone's bug is very important to them too. What makes you think this case is special or even any different?

[-] lysdexic@programming.dev -2 points 2 years ago

Such a braindead exercise to see Redis follow suit

I agree, this sounds like a desperate cash grab.

I mean, cloud providers who are already using Redis will continue to do so without paying anything at all, as they're using stable versions of a software project already released under a permissive license. That ship has sailed.

Major cloud providers can certainly afford developing their own services. If Amazon can afford S3 and DynamoDB, they can certainly develop from the ground up their own Redis-like memory cache. In fact, Microsoft already announced Garnet, which apparently outperforms Redis in no small way.

So who exactly is expected to pay for this?

[-] lysdexic@programming.dev -2 points 2 years ago

This sounds like it would be hotly disputed by almost anyone you said it out loud to, even if you said it 40 years ago.

I think you're expressing uninformed and uneducated opinions.

Even Debian's computer language benchmarks game showcases C consistently outperforming Rust, with some notable exceptions in some key benchmarks.

And Rust was not a thing 40 years ago.

Anyway, I think I proved my point with regards to the silly idea that performance is a decisive trait. You cannot have your cake and eat it, too.

[-] lysdexic@programming.dev -2 points 2 years ago* (last edited 2 years ago)

I think you're succumbing to the belief that if a solution isn't perfect then it doesn't work. That's not how things work. You can have incremental improvements that replace a big problem with a smaller problem, and a smaller problem is easier to solve.

Also, StackOverflow already suffers from old and stale replies for years, and that's not hurting the site. Oddly enough, that's a problem that's mitigated with the way that data is queried,and that's handled quite well with large language models.

[-] lysdexic@programming.dev -2 points 2 years ago* (last edited 2 years ago)

If it’s not constant at you may get the loop invariant movement. But only if the compiler can tell that it’s invariant.

The point is that if the predicate is evaluated at runtime then the compiler plays no role because there is no compile-time constant and all code paths are deemed possible.

I suppose what I should have said is more like “in many cases you won’t see any performance difference because the compiler will do that for you anyway.”

I understand that you're trying to say that compilers can leverage compile-time constants to infer if code paths are dead code or not.

That's just a corner case though. Your compiler has no say on what code paths are dead if you're evaluating a predicate from, say, the response of a HTTP request. It doesn't make sense to expect this hypothetical scenario to be realistic when you have no info on where a predicate is coming from.

[-] lysdexic@programming.dev -2 points 2 years ago

Does Amazon pay well enough to justify staying there?

That's hard to tell, because everyone tends to stick with the best job they could have.

[-] lysdexic@programming.dev -2 points 3 years ago* (last edited 3 years ago)

WET is not what you think it is, or at least not originally. It’s not some alternative to DRY. It didn’t stand for Write Everything Twice. It stands for Write Every Time. It’s supposed to be a negative way to describe code that isn’t DRY. It’s also abbreviated as “Waste Everyone’s Time”.

I think you're confusing things. Write Everything Twice (WET) has no resemblance with the concept you mentioned, which makes no sense to be a standalone concept or even rule of thumb.

WET is a clear guideline to avoid usual code quality problems caused by premature specialization and tight coupling which result from DRY fundamentalisms. WET puts on hold the propencity to waste time with code churn. It's importance is clear to anyone who maintains software.

The misunderstanding since DRY’s coining is probably because, like natural language, we change meanings we with our environment.

Not really. Your comment sounds like a weak attempt at revisionism. Some reference books like Bob Martin's Clean Code explicitly cover DRY and the importance of refactoring away any duplicate code.

WET springs from this fundamentalist mindset. There is no two ways about it.

view more: ‹ prev next ›

lysdexic

0 post score
0 comment score
joined 3 years ago
MODERATOR OF