all 34 comments

sorted by: hot top controversial new old
[–] 1 point 10 hours ago (1 child)

I like C and C++ so naturally I am drawn to Rust, but how do programmers make bigger programs without OOP? Is the project structure written in C++ and then it calls Rust functions with the C++ just being wrappers?

  • source
  • hideshow 1 child comment
  • [–] [S] 1 point 5 hours ago

    Rust is also object oriented, it's just more like C in the sense that there is no Object class to inherit from. It's also similar to Python in that the OOP language has enough features borrowed from functional programming that it can be used that way

  • source
  • parent
  • [–] 55 points 2 days ago (4 children)

    Lookin' good. Just be sure to put "unsafe" before all your function definitions.

    unsafe fn main()

    That'll do ya.

  • source
  • hideshow 4 child comments
  • [–] [S] 31 points 2 days ago (3 children)

    Excellent, thanks for the tip! I'm thinking of writing a linked list and creating reference pointers to the list so I can copy it and change the copy. Unsafe fixed all the problems, but my PC keeps crashing. I think it's some non-rust util smh

  • source
  • parent
  • hideshow 3 child comments
  • [–] 14 points 2 days ago (2 children)

    It's that damn borrow checker again! Try the rust-- compiler, it disables that antifeature.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago (1 child)

    I am scared... But is rust without borrow checker actually a goodenough language ?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 1 day ago*

    The borrow checker is a feature in the compiler. It only ensures that the source code doesn't violate its rules at compile time, and if it does, stops the compilation and shows an error message. If the borrow checker is disabled, the code will be compiled even if borrowing rules are violated (as long as the source code is otherwise valid).

    In short: removing the borrow checker turns Rust into C.

  • source
  • parent
  • [–] 27 points 2 days ago (13 children)

    Rust is cool, but not the end-all-be-all solution some people have the impression it is.

  • source
  • hideshow 13 child comments
  • [–] 1 point 11 hours ago

    I swear I must be the only Rustacean in the world who agrees with you. I'm embarassed to share a language of choice with these people sometimes. Yes, Rust makes it harder to write incorrect programs, but it still requires you to use your brain and besides, the process of rewriting is likely to introduce a metric shitton of bugs, especially if you vibe code it like I've seen a lot of people doing.

  • source
  • parent
  • [–] [S] 24 points 2 days ago (5 children)

    I know lol I'm just shitposting based on the C++ post from yesterday

  • source
  • parent
  • hideshow 5 child comments
  • [–] 7 points 2 days ago* (last edited 2 days ago) (4 children)

    It was C

    Edit: it wasn't C; it was C++.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 2 days ago* (last edited 1 day ago) (3 children)

    I could understand caring a lot about the language if I were writing or maintaining something, but not usually if I'm just using a software package, unless it has performance implications. Maybe for software that has privilege escalation risk you maybe want a language that might help mitigate some security issues, but launchers shouldn't fall into that camp.

    But, hey, people have their own preferences and opinions. Maybe someone's super into Rust and wants to try to run as pure a Rust environment as possible or something.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 2 days ago (2 children)

    I mean, just to offer you the counter perspective, IMHO programs written in X tend to have problem Y:

    • Python: Terrible error messages, buggy, sluggish, slow, but good documentation
    • Java: Gurgles RAM like there's no tomorrow (but tends to do something useful with it), sluggish
    • Node.js: Just gurgles RAM for the fun of it, buggy, over-engineered functionality, confusing documentation
    • Rust: Over-engineered functionality
    • Go: Bad error messages, quirky detail behavior
    • Haskell: Practically 0 bugs, but if you do run into a bug, good luck. Thin documentation.
    • C/C++: Basically no bells or whistles, and no compiled build available. Also stupidly difficult compile on anything, except the singular dev's PC.

    Obviously, these are caricatures, i.e. I'm overdrawing the details and omitting nuance. And these are also influenced by the kind of people that are drawn to these languages. And these are influenced by what I know about the languages, I didn't conduct a double-blind study.

    But yeah, there's a reason why Python ended up first on that list. I don't have that hard of an opinion about the others, but genuinely, when I know a non-trivial program is written in Python, I will think twice whether I want to use it. Because it always seems to cost me a non-trivial amount of nerves in the end.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 1 day ago (1 child)

    I know you said those are caricatures, but with C or C++, programs usually do have a make or cmake script to be built in 1-3 commands explained in the repo.

    I'd have mentioned that their more typical execution error message is "segfault". Where? Fuck you, that's where.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 1 day ago

    Ah yeah, segfault is a good point. And if you get more than that, it's still often just an exit code and some generic print statement. 🫠

    And well, with C/C++ programs being difficult to compile, I was referencing that installing libraries is typically left as an exercise for the user.
    If you're on a similar distro as the dev, it's usually documented what you need to do. But if not, you get to guess what the library package might be called. Or if it's available in a compatible version. Or at all.
    You just need to hope you get lucky, which should not be a factor in whether software compiles...

  • source
  • parent
  • [–] 8 points 2 days ago

    semi-relevant to the joke, but for anyone who actually does want a rust based launcher there’s anyrun which works great on my systems

  • source
  • [–] 12 points 2 days ago* (5 children)

    I am unwilling to make light of another's desire to learn so that they might help themselves, even if some of the phrasing feels a little silly and market-y.

    What does this post accomplish? Feels mean-spirited, really.

  • source
  • hideshow 5 child comments
  • [–] [S] 22 points 2 days ago (4 children)

    I'm not making fun of that person. More power to them. I'm making fun of the rust community's desire to rewrite the fabric of the universe in Rust

  • source
  • parent
  • hideshow 4 child comments
  • [–] 12 points 2 days ago* (last edited 2 days ago)

    Alright. It just seems to me that anti-intellectualism is everywhere and that is what I first jumped to. I apologize for the accusation. It was knee-jerk. Carry on with your light-hearted ribbing, then.

  • source
  • parent
  • People rewriting common software in Rust is a good thing, regardless how good the original and its code was, it's a fun exercise in coding if nothing else, and if it ends up worse than the original, that's fine! That's how you practice and learn, and it should be encouraged.

    Fuck corporations using Rust rewrites to replace GPL-licenced software with Expat-licenced ones.

  • source
  • parent
  • [–] 10 points 2 days ago (1 child)

    Your brain is going to rust before you learn rust.

  • source
  • hideshow 1 child comment
  • [–] 3 points 2 days ago* (2 children)

    Wow, I hate the thumbnails just from this screenshot.

    Good luck, Rust is easy if you have a background in C/C++. Lifetime specifiers are a wrinkle, but also doable. I recommend you do Advent of Code tasks and ask an LLM for stylistic feedback.

  • source
  • hideshow 2 child comments
  • [–] [S] 6 points 2 days ago

    Dropping the /s for a moment, I actually already learned Rust about 7 years ago for my CS courses. There was a 7 week writing course where we had to pick a programming topic, centered on language design. I chose to generally discuss Rust because of lifetimes and found that there are a lot of cool things, but the syntax can get extremely dense

  • source
  • parent
  • [–] 1 point 2 days ago

    That's a pretty great dunk. On multiple levels.

  • source