Skip Navigation
Fellow C and Rust programmers, how do you live without classes?
  • My primary problem is that it's convention rather than rule.

    I agree, and thus I think it's safe to assume we also hate the lack of encapsulation in Python despite technically being an OOP language.

    Just don't use C if you can avoid it ;)

    I'm fine with C, and if I stop coding in C I would starve since my job depends on it, still thanks for the suggestion though! ;)

  • Fellow C and Rust programmers, how do you live without classes?
  • There's still quite a few software written in C that does exactly as I did though. Look at OpenSSL's EVP library. I'm not sure about what you mean by "OOP but worse", wouldn't everything be worse than OOP since C isn't an OOP language? Anyways. As I said, what I did is way more common than it seems at least in C, so I get your point but still I can't seem to be able to see what's inherently wrong with it. I would appreciate if you shared any better ideas you might have, though!

  • Fellow C and Rust programmers, how do you live without classes?
  • C programmer here. I can't code in Rust and although I do have some interest in learning it, C is still the best one to me. Probably not the best way to do it, but I'd do something like this (based on the code in your ss):

    typedef struct Player{
          float pos_x;
          float pos_y;
          float rotation;
    } Player;
    
    Player player_new(){
          Player player;
          player.pos_x = 0.0;
          player.pos_y = 0.0;
          player.rotation = 0.0;
          return player;
    }
    
    void player_move(Player *player, float x, float y){
          player->pos_x += x;
          player->pos_y += y;
          return;
    }
    
    void player_rotate(Player *player, float by){
          player->rotation += by;
          return;
    }
    
    int main(int argc, char *argv[]){
          Player player1 = player_new();
          player_move(&player1, 10.0, 10.0);
          player_rotate(&player1, 180.0);
    
          return 0;
    }
    
    

    I would probably move the struct Player and the functions player_new, player_move and player_rotate to another file (like player.c or sth), I'd create its respective header file with the definitions of each thing and with that I basically created a simple interface to create and handle players without needing OOP. English is not my native language, so I'm not really sure about what's the name of the programming paradigm used in C (which definitely is not OOP), but in my native language we call it "programaciΓ³n estructurada", which in English would be something like "structured programming".

    Tbh I code in both non-OOP and OOP languages (most of the time C, JS and Python) and to me both paradigms are just fine. You can pretty much do anything in either, but each of them might work better for you on different situations and depending on your needs. I also use Vim btw.

  • Which FOSS degoogled Android rom would you recommend?
  • I'm not sure if it's entirely degoogled, but I use LineageOS 19 without gapps and it goes quite nicely.

  • W rule
  • It's been 8 hours since the poll started, maybe somebody has already voted the "Other" option.

    EDIT: Yep. I just checked and 4 people have voted "Other" so far.

  • Jesse is smarter than what we give him credit for.
  • Aztec and mayan calendars iirc was 18 months of 20 days each and 5 extra days at the end of the year.

  • Linkin Park Rule
  • Clown, eggs, two, four, six, eight, gas, liquid, solid

  • Deleted
    anyone know why spmp isn't working
  • I use InnerTune and it's just wonderful. I don't really care about translations and that stuff so I use the FOSS version and I never had any problems with it.

  • Oh no ...
  • Yeah I also do see a lot more content of the communities I'm subbed to than of the instance I created my account in.

  • Deleted
    *Permanently Deleted*
  • Lmao welcome to Linux though!

  • Oh no ...
  • I mean, do the people at the fediverse really talk mainly about Linux? I see in both Lemmy and Mastodon more people talking about US politics, LGBTQ+ stuff and furrys (lmao) than anything related to technology in general. I guess the kind of content someone sees would depend a lot on the instance someone creates their account in?

  • I made it to Linux! What is your must-have FOSS or Free Software for linux?
  • Welcome! Some of my must-have FOSS software for GNU/Linux are:

    • ONLYOFFICE: Similar functionality to that of MS Office, but free and open-source, very nice compatibility with .docx documents and all the excel formulas I use are still there.
    • Boxes: If you like or need virtual machines, Boxes is one of the best FOSS solutions out there, I have made Windows, BSD and Linux virtual machines using Boxes and they work flawlessly, and the drag-drop feature to send files from the host to the guest machines is absolutely nice.
    • Konversation: In my opinion the best graphical IRC client, with HexChat also worth noting.
    • Kdenlive: I have used many video editors in my life, both FOSS and proprietary, but Kdenlive is the one who made me stay. I have even remastered old 80s Betamax videos using only Kdenlive.
    • TeXstudio: If you like LaTeX, this editor is absolutely wonderful and it works out of the box.
    • Prism Launcher: If you like Minecraft, this is the only launcher that actually worked on my Fedora installation, and it's so easy to install mods, resource packs, shaders, etc. that I already consider it to be the best FOSS launcher for both premium and non-premium instances.
    • HandBrake: I just love this open-source video transcoder so much.
    • fre:ac: I have used this FOSS audio encoder since I was a kid when I wanted to convert mp3 music to a format that my DSi could read. Nowadays I still use it to convert from and to any type of audio and it just never fails.
    • RaccoonLock: A modern-looking and private password manager that is wonderful if you just want to store your passwords locally in your PC and you do not care about syncing them with other devices (although such feature is partially possible through the creation of backups).

    It's also worth mentioning other FOSS software like VLC, VS Code (though it's not entirely FOSS, with Codium being an actual FOSS version), OBS Studio, GParted, PDF Mix Tool and FreeTube. Welcome to the GNU/Linux world! I hope you enjoy it and you find these utilities useful :).

  • the video..
  • Lmao πŸ’€πŸ’€

  • Does anybody use Thunderbird on Android a.k.a. K-9
  • Yes, I use K-9 for my outlook/365 accounts and it works fine. I also have my NAVER account there but I can't send emails because I've been too lazy to configure the SMTP settings properly.

  • autumn64 π“œπ“Έπ“·π“² @lemmy.blahaj.zone

    πŸ“πŸ‡²πŸ‡½; 20 yo; πŸ³β€βš§ (she/her); [es, en, pt, fr, eo]; Developer, FOSS advocate.

    Levanta la multicolor. Β‘Viva la diversidad!

    About me: https://autumn64.xyz/

    Posts 12
    Comments 17