Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)L
Posts
439
Comments
601
Joined
3 yr. ago

  • It’s a way of saying “these are wrong and should be deprecated.”

    They aren't wrong. No one in their right mind just throws away years of work delivering a stable production project just because a random clueless person in the internet said something. It's lunacy.

  • But in my humble opinion, those projects shouldn’t really exist.

    What's the point of your opinion if not only do these projects exist but they are also pervasive?

    You cannot wish things away and pretend reality is something different.

  • The problem isn’t a principle of a computer science, but one of just safety.

    I think you missed the point entirely.

    You can focus all you want in artificial Ivory tower scenarios, such as a hypothetical ability to rewrite everything from scratch with the latest and greatest tech stacks. Back in the real world, that is a practical impossibility in virtually all scenarios, and a renowned project killer.

    In addition, the point stressed in the article is that you can add memory safety features even to C programs.

    Also, who said this is a principle of computer science?

    Anyone who devotes any resource learning software engineering.

    Here's a somewhat popular essay in the subject:

    https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/

  • I never used this app but it looks like it just does what nvm already does. What exactly makes n more elegant than nvm?

    From what I'm seeing, n drops the ball on Windows support, which nvm handles well.

  • Node.js @programming.dev

    GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

    github.com /nvm-sh/nvm
  • I think this can be explained by underlining the differences between could, would, and should.

    The blog states the fact that at least some C compilers already offer the necessary and sufficient tools that characterize "memory-safe" languages, and proceeds to illustrate examples. This isn't new. However, just like "memory-safe" languages enforce narrow coding styles through a happy path that is expected to prevent the introduction of some classes of vulnerabilities, leveraging these compiler features in C projects also requires the same type of approach.

    This isn't new or unheard of. Some C++ frameworks are also known for supporting their own memory management and object ownership strategies, but you need to voluntarily adhere to them.

  • Cloud @programming.dev

    Data Egress: What is it and how much does it cost?

    getdeploying.com /reference/data-egress
  • Node.js @programming.dev

    The absurd complexity of server-side rendering

    gist.github.com /Widdershin/98fd4f0e416e8eb2906d11fd1da62984
  • C Programming Language @programming.dev

    C can be memory-safe (2023)

    blog.erratasec.com /2023/02/c-can-be-memory-safe.html
  • Data Structures and Algorithms @programming.dev

    An Interactive Intro to CRDTs

    jakelazaroff.com /words/an-interactive-intro-to-crdts/
  • Data Structures and Algorithms @programming.dev

    C++ STL Complexities

    alyssaq.github.io /stl-complexities/
  • C++ @programming.dev

    C++ STL Complexities

    alyssaq.github.io /stl-complexities/
  • C++ @programming.dev

    Passing recursive C++ lambdas as function pointers – Daniel Lemire's blog

    lemire.me /blog/2024/03/22/passing-recursive-c-lambdas-as-function-pointers/
  • Cloud @programming.dev

    Transitioning from Heroku PostgreSQL to AWS EC2: Step-by-Step Guide

    stormatics.tech /alis-planet-postgresql/transitioning-from-heroku-postgresql-to-aws-ec2-step-by-step-guide
  • C++ @programming.dev

    Trip report: Winter ISO C++ standards meeting (Tokyo, Japan)

    herbsutter.com /2024/03/22/trip-report-winter-iso-c-standards-meeting-tokyo-japan/
  • Cloud @programming.dev

    Performance Design Patterns for Amazon S3

    docs.aws.amazon.com /AmazonS3/latest/userguide/optimizing-performance-design-patterns.html
  • C++ can be written to be safe. I don’t think WH is the right authority to issue this warning. Naming C++ rather than going after specific features is unfair.

    I suspect that the white house just received a report from some people in the industry stating that faulty software is vulnerable to attacks from bad actors, and from that basis they just went the simplistic path of arguing that 1) lots of software is written in C++, 2) that software has bugs, therefore if we don't use C++ then we won't have bugs.

    As a branch of government, their role is not to evaluate technical merits of proposals but to hear what their representatives have to say.

  • Honestly his defence is rather weak. “It’s been improving and there are ways to use it safely.”

    I think it's a very good and clear point to make.

    Some programming languages are blindly deemed "safe" in spite of supporting unsafe memory management strategies, and somehow not enforcing those rules does not render them unsafe.

    Why is this logic not applied to C++?

  • The time for the c++ committee to show they can overcome the language’s issues has passed IMHO there are much better, and more expressive, alternatives.

    I'm not sure if this is a good take.

    Languages deemed "safe" boil down to two features: supporting specific memory management strategies, and adding static code analysis checks that enforce rules and best practices.

    Can't this be done already without involving committees?

  • Even following the guidelines, modern C++ is just a huge pile of half-finished ideas.

    You're making it pretty clear that you are completely oblivious to what C++ is, what are the differences between C++ versions, and what are the real world issues solved by each new version.

    I would ask you to clarify your persona clams by providing a concrete example to back each of your statements, but I know you have none.

  • Well ok, but the concern is about the weaknesses, Mr. Stroustrup.

    I don't think these discussions on "weaknesses" come from a place of intelectual honesty. None of these arguments even touches the fact that there are already a myriad of freely available static code analysis tools and memory profilers that do a very good job catching memory safety issues.

    For some unexplainable reason, these criticisms of C++ always focus on a single strawman: these tools do not exist and no developer in the world cares about the topic.

  • So how fucked am I for starting to learn cpp as my first language, or is this a later down the road thing to worry about?

    I don't see why you should be concerned, except that no professional software developer is limited to use one specific programming language.

    Even if you pay attention to the disaster prophets in the crowd, which are mainly comprised of fanboys implicitly and explicitly promoting their pet language/frameworks, C++ dominates all aspects of the computing ecosystem, which means that in the very least the whole world needs to maintain existing C++ projects to continue to work. See COBOL for reference.

  • C++ @programming.dev

    C++ creator rebuts White House warning

    www.infoworld.com /article/3714401/c-plus-plus-creator-rebuts-white-house-warning.html
  • 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?

  • ${CORPORATION} has profited off of Redis without giving much back (...)

    I don't understand this blend of comment.

    If you purposely release your work as something anyone in the world is free to use and change to adapt to their own personal needs without any expectation of retribution or compensation, why are you complaining that people are using your work without any retribution or compensation?

    More to the point, why are you singling out specific adopters while leaving out the bulk of your community?

    It makes absolutely no sense at all.

  • Cloud @programming.dev

    Redis Adopts Dual Source-Available Licensing

    redis.com /blog/redis-adopts-dual-source-available-licensing/
  • Java @programming.dev

    JDK 22 released

    openjdk.org /projects/jdk/22/
  • 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.

  • C++ @programming.dev

    Boost geometry: design rationale

    beta.boost.org /doc/libs/1_55_0/libs/geometry/doc/html/geometry/design.html
  • Cloud @programming.dev

    Half of EMEA cloud costs going to fees, but most plan to increase capacity

    www.cloudcomputing-news.net /news/2024/mar/14/half-of-emea-cloud-costs-going-to-fees-but-most-plan-to-increase-capacity/
  • Data Structures and Algorithms @programming.dev

    The Skip List Data Structure | Baeldung on Computer Science

    www.baeldung.com /cs/skip-lists
  • While I can agree we don’t have sufficient data to make hard conclusions on this front, I think there are enough early indications that point to Rust being able to stay on par with or even outperform C++ in this regard:

    I'm skeptical of these claims, not because X or Y is better or worse, but because milking the last drop of performance has far more to do with software architecture than it has to do with the programming language per se.

    Also, I think this sort of argument always leads to specious reasoning. C is the undisputed performance lead, and you surely do not see Rust proponents using benchmarks to argue they should rewrite all Rust code in C.

  • What I find surprising is that there are a lot of steps between a free-for-all and state intervention through regulation that those experts seemed to have skipped altogether, such as voluntary auditing, state-sponsored industry initiatives to specify best practices, invest in the development of static analysis tools and memory profilers, or making vulnerable companies liable for the consequences of attacks.

    But no, they jumped straight into state-imposed regulation. Because keeping people out is a solution?

  • Highly recommended

    I agree. Once we get a hang of the value that bisect brings, one unintended consequence is that we start to value atomic commits a whole lot more. There is nothing more annoying than bisecting a bug and suddenly stumbling upon a commit that does it all: updates dependencies, touches everything under the sun, does cleanup commits for unrelated files, etc. Yuck.

  • Does anyone have other ideas?

    Being this programming.dev, I feel compelled to suggest self-hosting a Lemmy instance.

    The basics would be a simple personal webpage, which you can serve directly with a file server.

    I like running syncthing as my personal alternative to Dropbox.

    Some registrars like Namecheap offer services such as email rerouting, which gets you to use any custom email address in your domain through Gmail.

    Don't pay attention to anyone mentioning CDNs or any nonsense of the sort. If your services aren't expected to serve a lot of traffic of have SLIs to meet, you do not need them. You only need a system with static IP address open to external traffic, and get your domain registrar to resolve a domain/subdomain to that IP address.

    Just make sure everything you serve through that domain can be redeployed on a whim. A rarely discussed topic is how the internet is a wild jungle with dozens of vulnerability scanners running around the clock to find any unmaintained server they can exploit. Any server that's not managed by a professional team 24/7 fits that criteria.

  • …it’ll still be 35 users/month

    I'm not sure you are aware how irrelevant this is. This could mean as little as a single user opening the community page daily, or 30 different users accidentally navigating into the community page from the main page just because an article showed up in their feed.

    To frame the absurdity of this argument, I moderate !nodejs@programming.dev , which in the past month registered also 30 users/month, and that community is also dead.