GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 06:00:46 JST :blobcatflower: :blobcatflower:
    god i hate C why can't we have something typesafe that doesn't suck otherwise
    In conversation about a month ago from netzsphaere.xyz permalink
    • Phantasm repeated this.
    • Embed this notice
      lainy (lain@lain.com)'s status on Friday, 09-May-2025 06:00:44 JST lainy lainy
      in reply to
      @lucy
      In conversation about a month ago permalink

      Attachments


      Phantasm likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 06:06:55 JST pistolero pistolero
      in reply to
      @lucy

      > typesafe

      Types aren't a safety mechanism in C, they're an annotation for other programmers. There are no safety mechanisms in C, because there is no reason to have such a thing. C is the machine, and the machine's job is to do what you've written, even if you've written something stupid.

      Even gcc's output is legible if you use -Os. So you look at the compiler's output, you look at C, one of C's really nice parts is that you can tell what the compiler's going to do while you're writing.
      In conversation about a month ago permalink
      翠星石, ✙ dcc :pedomustdie: :phear_slackware: and Phantasm like this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 06:13:07 JST pistolero pistolero
      in reply to
      @lucy

      > why can't we have something like C but typesafe?

      Okay, this is going to sound like sarcasm, but I am really asking a real question because I don't understand why you'd want that from C. What do you want a safety mechanism for? What does "safe" even mean? Safe from what? Again, real questions. In general, what would safety mean?

      > D seems quite close

      Fun language, I think I never picked it up because of some weird licensing thing they were doing with the compiler back in the day; I don't remember, though.
      In conversation about a month ago permalink
      waifu and Johnny Peligro repeated this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 06:13:09 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p exactly my point :why: why can't we have something like C but typesafe? D seems quite close
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      Fish of Rage (sun@shitposter.world)'s status on Friday, 09-May-2025 06:15:24 JST Fish of Rage Fish of Rage
      in reply to
      • pistolero
      @p @lucy > chatgtp make me C but type safe

      Guys it gave me a link to Rust
      In conversation about a month ago permalink
      narcolepsy and alcoholism :flag:, snacks and Phantasm and 3 others like this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 06:26:56 JST pistolero pistolero
      in reply to
      • Fish of Rage
      @sun @lucy That's because the bot is confusing its main job with its side-hustle, astroturfing.
      rust_bot_astroturfing.png
      In conversation about a month ago permalink

      Attachments


      1. https://media.freespeechextremist.com/rvl/full/7f48e553f2f043a7ec0b614f765fd7dcd423dca4ea723e788d78ff8f4a689e69?name=rust_bot_astroturfing.png
      ✙ dcc :pedomustdie: :phear_slackware: likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 10:07:24 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p slices and bounds checking would be nice. Sure I can do that manually in C but, a toddler can do that. But it's nice not to have to do it and do other non-toddler things instead.
      Or, (de)referencing should be implicit in most cases. i should never have to write mystruct->deadcopsinmybasedment to access members of a struct. mystruct.deadcopsinmybasedment doesn't mean anything. or when passing something that's supposed to be a pointer then just pass it as a pointer.
      In conversation about a month ago permalink
      受不了包, snacks and pistolero like this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 10:09:32 JST pistolero pistolero
      in reply to
      @lucy I would like to be clear, because I shat a bunch of words onto the page and it's going to look argumentative: I don't think you're wrong in general; some of the specifics I disagree with. I do think some of what you want is wrong to try to get into C, but mainly I don't know what you want so I'm trying to figure that out.

      :dmr: Dennis Ritchie had a proposal for variable-length arrays, but by the time he had the idea, it was already out of his hands and in the hands of the standards committee, and they hated everything he ever suggested.

      > slices and bounds checking would be nice.

      C doesn't have arrays; it has some syntax around pointers. If you try to give it "real" arrays, then the runtimes for all of these other dingus languages stop working, because sometimes what you want is a contiguous region of memory.

      Maybe you have a contiguous region of memory (framebuffer) and you don't know how big it is at compile-time: now there's a runtime library the compiler has to hook into. The way this problem is solved in C is that you get a segfault: the OS has built-in memory safety. Or say you've got to call a special instruction to get the dimensions of the framebuffer stored in a register: if you couldn't fudge types in C, you'd have to implement most of that in assembly instead of just one or two instructions.

      C is the machine, though, and the machine doesn't have bounds-checking because it doesn't have bounds. Sometimes it has an MMU, sometimes it has ridiculous segment registers and an A20 line and stuff like that, sometimes it has memory-mapped I/O registers. If what you want is a "real" array, you probably don't want C for this task.

      > Or, (de)referencing should be implicit in most cases.

      This would be a disaster for cases where you care about that kind of thing; for cases where you don't care and are fine with it being implicit, you should probably not use C.

      A nice thing about C is that you can translate what you've written into what it's doing: you see an `->` and you know that there's a read. This matters when it's timing-sensitive (say, an :terry: interrupt handler :terrylol2:) or time-sensitive (factoring prime numbers). Importantly, it also matters when you are debugging, because you can see a pointer is being read through. A memory-safe language, you don't have that concern.

      I had a bug a long time back: it was segfaulting...nowhere. Just initializing a variable that wasn't even a pointer. Pretty reliably, too: same function, same variable, every time. I blamed the compiler (gcc treats ARM like a second-class citizen still) and looked at the exact address. No arbitrary pointers being dereferenced, it was just pushing to the stack...just pushing to the stack. I followed the stack pointer around, expecting that it had been corrupted...somehow. Nope. I had linked against libSDL, this build of SDL linked against libpulse, the kernel defaulted to 16kB of stack per thread, libpulse was eating more than 16kB of stack just for having been initialized. (Giving it more stack via sysctl fixed it, telling SDL to use ALSA instead of Pulse fixed it, turning off sound fixed it, and that's what I eventually went with, because I didn't need sound.) This was a pain in the ass, cost me half a day, and it was one of the very few implicit mechanic. And, you know, you add n implicit mechanics, you get n! complexity. Bounds-checking doesn't save you from this kind of thing, and worse, this is stuff that you've got to worry about *somewhere*: high-level languages are going to have problems like this, and there has to be a region where you can debug it, there has to be something between the bytecode VM's runtime and the machine. If it's not C, then it's just machine code. There has to be a language that is just the machine: no more, no less. If this stuff worms its way into C, then there has to be something under C.

      > or when passing something that's supposed to be a pointer then just pass it as a pointer.

      C++ has references in declarations and they are a nightmare; you see codebases where the style guide forbids their use. It makes debugging a nightmare. `f(&x)` means you get to see right there that you're passing an address.

      But this is a feature list. What is "safety"? Page faults don't happen? That's what I'm trying to get at; I think the machine is safe already as long as you don't try to eat any of its components and it doesn't catch fire. Like, it has to mean something; if it means bounds-checking, that's a feature: you must mean that you are safe from running off the end of the array or safe from page-faults, something.
      In conversation about a month ago permalink
      翠星石 likes this.
    • Embed this notice
      The MILF Messiah (lunarised@whinge.town)'s status on Friday, 09-May-2025 10:17:18 JST The MILF Messiah The MILF Messiah
      in reply to
      @lucy Everything I do I do now in Rust unless I need to control of C.

      Never really got into D personally
      In conversation about a month ago permalink
    • Embed this notice
      The MILF Messiah (lunarised@whinge.town)'s status on Friday, 09-May-2025 10:51:47 JST The MILF Messiah The MILF Messiah
      in reply to
      @lucy a couple of games, some DPS and a web backend atm
      In conversation about a month ago permalink
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 10:51:48 JST :blobcatflower: :blobcatflower:
      in reply to
      • The MILF Messiah
      @lunarised i don't like rust but what kind of projects are you working on in rust
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 11:01:27 JST pistolero pistolero
      in reply to
      @lucy

      > you can have both pointers and arrays in a language.

      Sure. I mean, you can do memory-safe pointers. That's not quite what C has, though. If C were to start doing this, then low-level non-assembly would need a new language.

      > bad code either not compiling successfully, or predictably failing at runtime.

      I think it's still poorly defined.

      > i mean if you try to do something your code isn't supposed to do.

      This is an unsolved problem in computer science; it's just a matter of degree.

      > decades of "just don't write bad code" didn't prevent people from writing bad code.

      It wasn't supposed to. You can write bad code in *any* language: if you want your program to work, don't do that. There is no way to enforce this for other people's code. People will fuck it up. The only thing you have control over is what *you* write: don't fuck it up and you're fine.

      > ada's contracts would be so nice to have in C.

      I think if you want codified invariants in C, you use an assert() macro: that makes it fail predictably at runtime. People don't like assertions because they get abused for error-handling or people write assertions that have side-effects, and it's understandable, but the fact that someone else might fuck it up doesn't make a tool any less useful. assert() (or rolling your own version) gets you 90% of the way there, guard clauses cover the rest.
      In conversation about a month ago permalink
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 11:01:29 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p > C doesn't have arrays; it has some syntax around pointers. If you try to give it "real" arrays, then the runtimes for all of these other dingus languages stop working, because sometimes what you want is a contiguous region of memory.

      you can have both pointers and arrays in a language.

      > What is "safety"
      bad code either not compiling successfully, or predictably failing at runtime. and not when you try to do something illegal on the machine, i mean if you try to do something your code isn't supposed to do. decades of "just don't write bad code" didn't prevent people from writing bad code. ada's contracts would be so nice to have in C.
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:03:25 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p > Sure. I mean, you can do memory-safe pointers. That's not quite what C has, though. If C were to start doing this, then low-level non-assembly would need a new language.

      I don't wanna introduce these things to C. I want a new language that does.
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:04:33 JST pistolero pistolero
      in reply to
      @lucy I mean, what do you want C for, then? Like, you want the language to be similar to C in what sense?

      I think probably not D, but depending on what you actually want, there are a few languages that come to mind.
      In conversation about a month ago permalink
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:11:06 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p i want a language that allows me to write freestanding software that doesn't require an OS to already run, but at the same time provides features to write code that doesn't break as easily when you're doing something wrong.
      maybe i just want ada..
      In conversation about a month ago permalink
      Phantasm and pistolero like this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:12:28 JST pistolero pistolero
      in reply to
      @lucy Well, if the requirement is that it can't depend on an OS existing, that narrows it way down. Maybe you do want Ada; maybe you would like to try Forth.
      In conversation about a month ago permalink
      Phantasm likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:17:12 JST pistolero pistolero
      in reply to
      • pistolero
      @lucy I was gonna suggest Objective C, unironically, because it seems like it'd give you most of the things you want (first-class strings/arrays, message-passing, etc.) but I don't think Objective C can be used without a kernel (though I'm not sure about that; I guess it depends on the runtime library).
      In conversation about a month ago permalink
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:17:29 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      @p snacks keeps talking about forth.. what dialect would you recommend for that specifically?
      In conversation about a month ago permalink
      snacks likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:21:54 JST pistolero pistolero
      in reply to
      @lucy

      > snacks keeps talking about forth..

      It's kind of an astonishing language once you really *get* it. It's like, as expressive as Lisp, but it also is usable without an OS.

      > what dialect would you recommend for that specifically?

      I used gForth a while but I don't think I really understood Forth until I spent a day working through Jonesforth.

      The thing about Forth is that it barely even exists and is kind of just a style of programming. (Chuck Moore didn't like the standardization very much, he felt like it missed the point.) That having been said, it's hard to grasp until you use it some, and an ANS Forth is probably your best bet at being able to understand and be understood or find documentation, so gForth is probably a good place to start. (Or just get to hacking on DuskOS. YMMV.)
      In conversation about a month ago permalink
      Haelwenn /элвэн/ :triskell: and snacks like this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:36:15 JST pistolero pistolero
      in reply to
      • 夜化
      @Yoruka @lucy

      > Is that still even used?

      That's Apple; the language exists independently of Apple, Apple just adopted it. (Strictly speaking, :next: adopted it and Apple acquired NeXT.) If it was just Apple, I wouldn't have suggested it.

      > Didn't swift take over fully?

      I think, even within Apple, Swift:ObjC::VB.NET:C++, but I don't follow what they're doing so closely.
      In conversation about a month ago permalink
    • Embed this notice
      夜化 (yoruka@eientei.org)'s status on Friday, 09-May-2025 19:36:16 JST 夜化 夜化
      in reply to
      • pistolero
      @p @lucy Is that still even used? Didn't swift take over fully?
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:45:52 JST pistolero pistolero
      in reply to
      • 夜化
      @Yoruka @lucy I still have a GNUstep live CD image somewhere.

      https://en.wikipedia.org/wiki/Objective-C :

      > Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP,[4] Objective-C was the standard language used, supported, and promoted by Apple for developing macOS and iOS applications (via their respective application programming interfaces (APIs), Cocoa and Cocoa Touch) from 1997, when Apple purchased NeXT until the introduction of the Swift language in 2014.

      > Objective-C programs developed for non-Apple operating systems or that are not dependent on Apple's APIs may also be compiled for any platform supported by GNU GNU Compiler Collection (GCC) or LLVM/Clang.
      In conversation about a month ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: login.wikimedia.org
        Objective-C
        Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style message passing (messaging) to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Objective-C was the standard language used, supported, and promoted by Apple for developing macOS and iOS applications (via their respective application programming interfaces (APIs), Cocoa and Cocoa Touch) from 1997, when Apple purchased NeXT until the introduction of the Swift language in 2014. Objective-C programs developed for non-Apple operating systems or that are not dependent on Apple's APIs may also be compiled for any platform supported by GNU GNU Compiler Collection (GCC) or LLVM/Clang. Objective-C source code 'messaging/implementation' program files usually have .m filename extensions, while Objective-C 'header/interface' files have ...
    • Embed this notice
      夜化 (yoruka@eientei.org)'s status on Friday, 09-May-2025 19:45:53 JST 夜化 夜化
      in reply to
      • pistolero
      @p @lucy huh I tought it was an exclusive apple thing. Like a legacy swift
      In conversation about a month ago permalink
    • Embed this notice
      snacks (snacks@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:53:57 JST snacks snacks
      in reply to
      • pistolero
      @p @lucy pforth has been my favourite forth so far, easy to understand and some nice debugging words. Apparently it has also been used freestanding a lot
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 19:54:20 JST pistolero pistolero
      in reply to
      • 夜化
      @lucy @Yoruka It has a runtime library like you'd expect from a language of its type, and you can use it for regular stuff; in a better world, it would have been what people used instead of C++, because it fits in the same places. If you mean Apple's stuff, sure, Apple has its own ecosystem that has diverged from OpenStep but the OpenStep stuff still works so you can even do full desktop GUI stuff with it and talk to the icon tray and all the stuff you expect. But you can just write a webserver in it or whatever. It's in gcc, and the full DE stuff is still available: https://en.wikipedia.org/wiki/GNUstep .
      In conversation about a month ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: upload.wikimedia.org
        GNUstep
        GNUstep is a free software implementation of the Cocoa (formerly OpenStep) Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project. GNUstep features a cross-platform, object-oriented IDE. Apart from the default Objective-C interface, GNUstep also has bindings for Java, Ruby, GNU Guile and Scheme. The GNUstep developers track some additions to Apple's Cocoa to remain compatible. The roots of the GNUstep application interface are the same as the roots of Cocoa: NeXTSTEP and OpenStep. GNUstep thus predates Cocoa, which emerged when Apple acquired NeXT's technology and incorporated it into the development of the original Mac OS X, while GNUstep was initially an effort by GNU developers to replicate the technically ambitious NeXTSTEP's programmer-friendly features. History GNUstep began when Paul Kunz and others at Stanford Linear Accelerator Center wanted to port HippoDraw from NeXTSTEP to another platform. Instead of rewriting HippoDraw from scratch and reusing only the application design, they decided to rewrite the NeXTSTEP object layer...
      snacks likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:54:22 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      • 夜化
      @p @Yoruka can you even use obj-c without the runtime?
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      snacks (snacks@netzsphaere.xyz)'s status on Friday, 09-May-2025 19:59:39 JST snacks snacks
      in reply to
      • snacks
      • pistolero
      @p @lucy i don't think the publicly available source has any freestanding build targets tho
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 20:00:37 JST pistolero pistolero
      in reply to
      • snacks
      @snacks @lucy I haven't used it, I think. It sounds familiar but I don't have a copy in /usr/src, ~/src, or ~/proj, so I must not have used it.
      In conversation about a month ago permalink
      snacks likes this.
    • Embed this notice
      RedTechEngineer (redtechengineer@fedi.lowpassfilter.link)'s status on Friday, 09-May-2025 20:06:11 JST RedTechEngineer RedTechEngineer
      in reply to
      • pistolero
      • 夜化
      @Yoruka @p @lucy no, people just liked sepples better
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Friday, 09-May-2025 20:06:45 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      • 夜化
      @p @Yoruka okay but when using objective-c freestanding, wouldn't that runtime require a lower layer?
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 20:07:35 JST pistolero pistolero
      in reply to
      • 夜化
      @lucy @Yoruka Yeah, same reason you can't really do an OS in C++; see remarks in the kernel docs.
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Friday, 09-May-2025 20:11:44 JST pistolero pistolero
      in reply to
      • pistolero
      • 夜化
      @lucy @Yoruka

      > GNUstep

      Ha, the poor bastards are Wayland-only now. Nevermind.
      In conversation about a month ago permalink
      Phantasm likes this.
    • Embed this notice
      snacks (snacks@netzsphaere.xyz)'s status on Friday, 09-May-2025 21:02:53 JST snacks snacks
      in reply to
      • pistolero
      • 夜化
      @Yoruka @p @lucy redox is a whole os with gui in rust
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      夜化 (yoruka@eientei.org)'s status on Friday, 09-May-2025 21:02:54 JST 夜化 夜化
      in reply to
      • pistolero
      @p @lucy Has anyone (tranny) made a kernel in rust yet
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Friday, 09-May-2025 21:13:16 JST 受不了包 受不了包
      in reply to
      • pistolero

      @lucy@netzsphaere.xyz @p@fsebugoutzone.org the answer that you'll be unhappy with is that all of that exists in C, it's called cpp and the cppstdlib. more seriously though, you should try writing 2024 standard cpp, it really is like a different language almost

      In conversation about a month ago permalink
      Phantasm and pistolero like this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 03:51:50 JST 受不了包 受不了包
      in reply to
      • pistolero

      @lucy@netzsphaere.xyz @p@fsebugoutzone.org i don't know what you mean

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Saturday, 10-May-2025 03:51:51 JST :blobcatflower: :blobcatflower:
      in reply to
      • 受不了包
      • pistolero
      @shibao @p is it still once you remove the c++ runtime?
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Saturday, 10-May-2025 05:04:15 JST :blobcatflower: :blobcatflower:
      in reply to
      • 受不了包
      • pistolero
      @shibao @p https://wiki.osdev.org/C++
      certain features of C++ require a runtime, you'd have to disable them (or ship a freestanding runtime) for freestanding code. that is, code that runs on hardware (like a kernel) without an underlying OS.
      In conversation about a month ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: wiki.osdev.org
        C++ - OSDev Wiki
      Doughnut Lollipop 【記録係】:blobfoxgooglymlem: and pistolero like this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 05:20:10 JST 受不了包 受不了包
      in reply to
      • Daniel Stevens
      • pistolero

      @eris@p.enes.lv @p@fsebugoutzone.org yeah and my perception is that it's baked into the executable so it's fair to just consider that as part of your program, unless you're talking about dlls that you might need to execute the program.

      i didn't understand what you meant by "it still is" but i get it now, you should read into the new module imports and all the other changes with the latest cpp definitions, they've been hard at work basically defining an entirely new standard library and conventions that give you the safety that you're looking for. even if you can still technically use a random naked pointer or other c stuff, i would argue that modern cpp gives you that security if you don't use the old c-style of doing stuff

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      Daniel Stevens (eris@p.enes.lv)'s status on Saturday, 10-May-2025 05:20:11 JST Daniel Stevens Daniel Stevens
      in reply to
      • 受不了包
      • pistolero
      You can probably live without stuff like runtime type information and exceptions in a kernel. What remains is trivial stuff like global constructors, stuff like file access which you will be implementing yourself anyways, and stuff that requires dynamic allocation, like std::vector, std::string, but those have template arguments for specifying custom allocators. And if you're not #includeing the specific headers, you don't need to support that shit ¯\_(ツ)_/¯

      CC: @p@fsebugoutzone.org @shibao@misskey.bubbletea.dev
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 05:21:49 JST 受不了包 受不了包
      in reply to
      • Daniel Stevens
      • pistolero

      @eris@p.enes.lv @p@fsebugoutzone.org or like have you ever worked with a codebase that's used RAII instead of plain c stuff? if not then i can understand how it would feel that way

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Saturday, 10-May-2025 10:17:24 JST :blobcatflower: :blobcatflower:
      in reply to
      • pistolero
      • 夜化
      @p @Yoruka i like wayland :peek:
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 10:22:40 JST pistolero pistolero
      in reply to
      • 夜化
      @lucy @Yoruka It's missing a bunch of shit that I use all the time. (`ssh -X`/`ssh -Y` is one. I don't know if VNC is still fucked on Wayland but I use VNC every day of the week.) If rio does $x and X11 does $x, I don't need a thing that doesn't do $x: it hasn't caught up to the 90s. Non-trivial cost of moving, it doesn't do things I want it to do, so I'd be heating up my GPU without a benefit: this is the definition of bloat.
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 10:23:12 JST pistolero pistolero
      in reply to
      • 夜化
      @Yoruka @lucy I think you actually could use Rust for this, I just don't know why you'd want to.
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 11:53:31 JST pistolero pistolero
      in reply to
      • 受不了包
      @shibao @lucy

      > it's called cpp

      You can say *anything* exists in C++ because there exists nothing that they wouldn't cram into it. It's like the Common Lisp of the ALGOL family, it's like compiled Perl.
      In conversation about a month ago permalink
      受不了包 likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 11:57:25 JST pistolero pistolero
      in reply to
      • 受不了包
      @shibao @lucy Runtime stuff is what keeps C++ from being a plausible language for bare-metal or kernel-writing, I think that's the main concern.
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 11:59:32 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      @shibao @eris

      > baked into the executable

      So is it plausible to link what you need from the runtime in statically?
      In conversation about a month ago permalink
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Saturday, 10-May-2025 11:59:47 JST :blobcatflower: :blobcatflower:
      in reply to
      • 受不了包
      • Daniel Stevens
      • pistolero
      @eris @p @shibao yeah no shit but what i was wondering was if, shibao said modern c++ is good but do you really benefit from in in that environment?
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      Daniel Stevens (eris@p.enes.lv)'s status on Saturday, 10-May-2025 11:59:55 JST Daniel Stevens Daniel Stevens
      in reply to
      • 受不了包
      • pistolero
      I obviously don't have much experience in testing the entire stdlib, but yes, AFAIK, a lot of it is templated and concepted magic which should Just Work(R)

      CC: @p@fsebugoutzone.org @shibao@misskey.bubbletea.dev
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 12:50:51 JST 受不了包 受不了包
      in reply to
      • pistolero

      @p@fsebugoutzone.org @lucy@netzsphaere.xyz with enough ifndefs and defines, anything is possible

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 12:51:53 JST 受不了包 受不了包
      in reply to
      • Daniel Stevens
      • pistolero

      @p@fsebugoutzone.org @eris@p.enes.lv is that not always an option? i guess i didnt go as deep into c++

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 13:08:58 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      @shibao @eris Allegedly it can be done if you work at it hard enough: https://arobenko.github.io/bare_metal_cpp/

      Also somehow the person asking the questions got untagged:
      @lucy
      In conversation about a month ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: arobenko.github.io
        Practical Guide to Bare Metal C++
        from Alex Robenko
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 13:10:17 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      • pistolero
      @shibao @eris @lucy But the guy keeps calling it "cpp" and the C Pre-Processor is already called that. People that are concerned about "+" being a special character usually call it "cxx".
      In conversation about a month ago permalink
    • Embed this notice
      受不了包 (shibao@misskey.bubbletea.dev)'s status on Saturday, 10-May-2025 13:13:47 JST 受不了包 受不了包
      in reply to
      • Daniel Stevens
      • pistolero

      @p@fsebugoutzone.org @eris@p.enes.lv @lucy@netzsphaere.xyz o yeah that is true i sort of use them interchangeably

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 13:15:18 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      @shibao @lucy @eris It's informal conversation, but that guy did a bowok.
      In conversation about a month ago permalink
    • Embed this notice
      JollyWizard (jollywizard@poa.st)'s status on Saturday, 10-May-2025 13:15:53 JST JollyWizard JollyWizard
      in reply to
      • 受不了包
      • Daniel Stevens
      • pistolero
      @p @shibao @lucy @eris colored people poop
      In conversation about a month ago permalink
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 13:15:53 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      • JollyWizard
      @JollyWizard @shibao @lucy @eris I don't know if that's a thing people in most professions interact with often enough to require an acronym.
      In conversation about a month ago permalink
    • Embed this notice
      JollyWizard (jollywizard@poa.st)'s status on Saturday, 10-May-2025 13:28:33 JST JollyWizard JollyWizard
      in reply to
      • 受不了包
      • Daniel Stevens
      • pistolero
      @p @shibao @lucy @eris Fair, but the c preprocessor significantly impacts people's lives whether they realize it or not
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 13:30:25 JST pistolero pistolero
      in reply to
      • 受不了包
      • Daniel Stevens
      • JollyWizard
      @JollyWizard @shibao @lucy @eris You know C++ started off as a set of cpp macros? TUHS managed to get ahold of a copy of the late versions of cfront.
      bjarne--face_of_disgust.png
      In conversation about a month ago permalink

      Attachments


      1. https://media.freespeechextremist.com/rvl/full/81096b1149a44bdedb3a77f31b5a130018f29744b8a09334bd6ca4961a150bf2?name=bjarne--face_of_disgust.png
    • Embed this notice
      :blank: (i@declin.eu)'s status on Saturday, 10-May-2025 14:08:20 JST :blank: :blank:
      in reply to
      • pistolero
      @lucy @p wonder why no one ever brings up Pascal in these conversations (other than the obvious disgust of it looking a bit BASIC to some)

      the grammar might not fit on the back of a postcard, but it's still respectable enough to be stood up
      In conversation about a month ago permalink

      Attachments


      1. https://declin.eu/media/08/a9/80/08a9805fee7d60d6d9be20750c7290deb241a8311bd0cd9a79776d84587f3272.png

      2. https://declin.eu/media/d7/11/7e/d7117e90dd2628f27fa2b2e9aa2006f3c9c0ea76754ff27f85f7ef26fc1faeb8.png

      3. https://declin.eu/media/b9/e4/76/b9e476b42f68e9a1a7392288259c2570a3fbaeaf9cba4eeccab47055e280dcaa.png

      4. https://declin.eu/media/15/e9/a5/15e9a56b056707e40cedad8db4f2ffeef52b6afb3dfce5de2f46cb50f16b95c3.png

      5. https://declin.eu/media/d5/4d/5b/d54d5b43845d39eb54f58806ee68b202b341920ae448f2fd98403b2630774264.png

      6. https://declin.eu/media/43/41/1d/43411da62de14775cdfabf6e140831e0671f4c461c8892195a16b57efa300bf5.png
      pistolero likes this.
    • Embed this notice
      pistolero (p@fsebugoutzone.org)'s status on Saturday, 10-May-2025 14:12:09 JST pistolero pistolero
      in reply to
      • :blank:
      @i @lucy

      > wonder why no one ever brings up Pascal in these conversations

      Because Pascal was fixed eventually; Modula, Oberon, Limbo, Go.

      Pascal itself has problems that you can't fix without removing some of the Pascal from it.

      > (other than the obvious disgust of it looking a bit BASIC to some)

      I think "Why Pascal is Not My Favorite Programming Language" was a much more reasonable version. I've gotten past the ":=" by now.
      In conversation about a month ago permalink
    • Embed this notice
      Another Linux Walt Alt (lnxw37b2@shitposter.world)'s status on Saturday, 10-May-2025 23:06:45 JST Another Linux Walt Alt Another Linux Walt Alt
      in reply to
      • :blank:
      • pistolero

      @lucy @i @p

      fpc being superglued to gcc

      Back in the late 1990s and early 2000s, fpc's advocates used to say it was "Pascal written in Pascal" as opposed to gpc, which was a Pascal front-end for gcc. But I still had a machine where Turbo Pascal 7 worked, so I didn't care.

      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      :blobcatflower: (methyltheobromine@netzsphaere.xyz)'s status on Saturday, 10-May-2025 23:06:46 JST :blobcatflower: :blobcatflower:
      in reply to
      • :blank:
      • pistolero
      @i @p i find pascal quite pleasant to look at, other than c :hehecat:
      im going for c rn and maybe replacing some parts in pascal to see how it goes and compare it better. my main concern is fpc being superglued to gcc but apparently you can use it with llvm since very recently? I'd have to check that first.
      In conversation about a month ago permalink
      pistolero likes this.
    • Embed this notice
      夜化 (yoruka@eientei.org)'s status on Monday, 12-May-2025 18:10:25 JST 夜化 夜化
      in reply to
      • pistolero
      @p @lucy Isn't it obvious? Becuase Rust!!! MUH POLITICS!!!
      In conversation about a month ago permalink
      pistolero likes this.

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.