• Owl@mander.xyz
    link
    fedilink
    arrow-up
    16
    ·
    7 days ago

    Language

    I have job for you “language” programmers.

    Requirements; -minimum 8 years of experiences Etc…

  • addie@feddit.uk
    link
    fedilink
    arrow-up
    7
    ·
    7 days ago

    To be fair, compiling C code with a C++ compiler gets you all the warnings from C++'s strong-typing rules. That’s a big bonus for me, even if it only highlights the areas of your C that are likely to become a maintenance hazard - all those void* casts want some documentation about what assumptions make them safe. Clang will compile variable-length arrays in C++, so you might want to switch off that warning since you’ve probably intended it. Just means that you can’t use designated initialisers, since C++ uses constructors for that and there’s no C equivalent. I’d be happy describing code that compiles in either situation as “C+”.

    Also stops anyone using auto, constexpr or nullptr as variable names, which will help if you want to copy-paste some well-tested code into a different project later.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      7 days ago

      To be honest I’m still confused by a lot of these microcontroller languages (PlatformIO/Arduino/ESPHome)…

      Are they just drag and drop feature blocks that are essentially C macros, but you never get to see the code and its all abstracted with flow diagrams?

      • Kratzkopf@discuss.tchncs.de
        link
        fedilink
        arrow-up
        9
        ·
        7 days ago

        The standard Arduino platform is essentially C, just with some standard hardware-near procedures hidden away as far as I know. You can just write standard C code in two blocks: init and loop. Then the loop block will be repeated for ever. For controlling voltage pins you have easy commands similatlr to like pinState(PinNumber, on/off). I do not know about the others you mentioned, but there definetely is also some implementations for Raspberry Pi control by drag&drop. There is no need to limit yourself with those though.

      • DaPorkchop_@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        7 days ago

        I don’t know about the others, but Arduino is literally just C++ with some macros/library functions.

  • xmunk
    link
    fedilink
    arrow-up
    1
    ·
    6 days ago

    C+=1 never gets the attention it deserves.