Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. @whitequark which one is the latter?

@whitequark which one is the latter?

Scheduled Pinned Locked Moved Uncategorized
61 Posts 14 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • resistor@mastodon.onlineR This user is from outside of this forum
    resistor@mastodon.onlineR This user is from outside of this forum
    resistor@mastodon.online
    wrote last edited by
    #5

    @whitequark @IngaLovinde maybe I should give Zig another look…

    1 Reply Last reply
    0
    • resistor@mastodon.onlineR This user is from outside of this forum
      resistor@mastodon.onlineR This user is from outside of this forum
      resistor@mastodon.online
      wrote last edited by
      #6

      @whitequark @IngaLovinde I’ve never used it in earnest, but I recall just not seeing the point of it previously.

      1 Reply Last reply
      0
      • dpk@chaos.socialD This user is from outside of this forum
        dpk@chaos.socialD This user is from outside of this forum
        dpk@chaos.social
        wrote last edited by
        #7

        @whitequark Yeah I didn’t expect you meant it that way!

        1 Reply Last reply
        0
        • ingalovinde@embracing.spaceI This user is from outside of this forum
          ingalovinde@embracing.spaceI This user is from outside of this forum
          ingalovinde@embracing.space
          wrote last edited by
          #8

          @whitequark @resistor zig is nice, I did some stuff with it too, and I miss some of its features in rust (my day job is mostly working with rust).

          But too relaxed for my taste to do large-scale complex projects in it. With rust, I can e.g. refactor things and if the code still compiles afterwards then it almost certainly works and the tests will almost certainly pass; but with zig it unfortunately feels much more difficult to do things like that, and with fewer guarantees.

          whitequark@social.treehouse.systemsW chaos@gts.schizofucked.monsterC 2 Replies Last reply
          0
          • ingalovinde@embracing.spaceI ingalovinde@embracing.space

            @whitequark @resistor zig is nice, I did some stuff with it too, and I miss some of its features in rust (my day job is mostly working with rust).

            But too relaxed for my taste to do large-scale complex projects in it. With rust, I can e.g. refactor things and if the code still compiles afterwards then it almost certainly works and the tests will almost certainly pass; but with zig it unfortunately feels much more difficult to do things like that, and with fewer guarantees.

            whitequark@social.treehouse.systemsW This user is from outside of this forum
            whitequark@social.treehouse.systemsW This user is from outside of this forum
            whitequark@social.treehouse.systems
            wrote last edited by
            #9

            @IngaLovinde @resistor yep, that is what i would expect

            unfortunately, tradeoffs exist

            1 Reply Last reply
            0
            • ingalovinde@embracing.spaceI ingalovinde@embracing.space

              @whitequark @resistor zig is nice, I did some stuff with it too, and I miss some of its features in rust (my day job is mostly working with rust).

              But too relaxed for my taste to do large-scale complex projects in it. With rust, I can e.g. refactor things and if the code still compiles afterwards then it almost certainly works and the tests will almost certainly pass; but with zig it unfortunately feels much more difficult to do things like that, and with fewer guarantees.

              chaos@gts.schizofucked.monsterC This user is from outside of this forum
              chaos@gts.schizofucked.monsterC This user is from outside of this forum
              chaos@gts.schizofucked.monster
              wrote last edited by
              #10

              @resistor @whitequark @IngaLovinde agree, it eventually felt like if we wanted to add anything to our projects we'd have to refactor half the project to add it
              especially as we was using it in the pretty early days and ended up having to fork a good part of the stdlib just to get our program not crashing due to hitting unimplemented or 'unreachable' code paths
              it seems a lot better nowadays though and we've been considering trying it again for writing memory safe wrappers and abstractions

              ingalovinde@embracing.spaceI 1 Reply Last reply
              0
              • ingalovinde@embracing.spaceI ingalovinde@embracing.space

                @whitequark oh nice, this was my guess but I wasn't sure about labor rights specifically

                the_art_of_giving_up@mastodon.socialT This user is from outside of this forum
                the_art_of_giving_up@mastodon.socialT This user is from outside of this forum
                the_art_of_giving_up@mastodon.social
                wrote last edited by
                #11

                @IngaLovinde @whitequark I must have missed some news, what is the relation of these languages and labor rights?

                1 Reply Last reply
                0
                • chaos@gts.schizofucked.monsterC chaos@gts.schizofucked.monster

                  @resistor @whitequark @IngaLovinde agree, it eventually felt like if we wanted to add anything to our projects we'd have to refactor half the project to add it
                  especially as we was using it in the pretty early days and ended up having to fork a good part of the stdlib just to get our program not crashing due to hitting unimplemented or 'unreachable' code paths
                  it seems a lot better nowadays though and we've been considering trying it again for writing memory safe wrappers and abstractions

                  ingalovinde@embracing.spaceI This user is from outside of this forum
                  ingalovinde@embracing.spaceI This user is from outside of this forum
                  ingalovinde@embracing.space
                  wrote last edited by
                  #12

                  @chaos @resistor @whitequark refactoring is not a problem per se. The problem is that with zig, it's much easier to break things accidentally without noticing during the refactoring than it is with rust (where almost all such accidental breakages will simply result in a compile-time error).

                  chaos@gts.schizofucked.monsterC 1 Reply Last reply
                  0
                  • srazkvt@tech.lgbtS This user is from outside of this forum
                    srazkvt@tech.lgbtS This user is from outside of this forum
                    srazkvt@tech.lgbt
                    wrote last edited by
                    #13

                    @whitequark honestly even like 2 years ago (before llms became such a cancer on foss) i saw more of a future in zig than in rust

                    rust has for a long time been hostile to bootstrapping, abi compatibility (mostly being able to be used from other languages), and compiler reimplementation

                    it's still unsure how zig will fare for those, but honestly, i am more optimistic, and when meson/muon supports zig, i'm probably going to start using it

                    1 Reply Last reply
                    0
                    • srazkvt@tech.lgbtS This user is from outside of this forum
                      srazkvt@tech.lgbtS This user is from outside of this forum
                      srazkvt@tech.lgbt
                      wrote last edited by
                      #14

                      @whitequark yeah, understandable. i mostly value reimplementability and compatibility, as that is how you empower people (imo), by providing a stable base, and rust is the opposite of that

                      1 Reply Last reply
                      0
                      • lixou@hachyderm.ioL This user is from outside of this forum
                        lixou@hachyderm.ioL This user is from outside of this forum
                        lixou@hachyderm.io
                        wrote last edited by
                        #15

                        @whitequark good thing university taught rawdogging riscv assembly

                        1 Reply Last reply
                        0
                        • srazkvt@tech.lgbtS This user is from outside of this forum
                          srazkvt@tech.lgbtS This user is from outside of this forum
                          srazkvt@tech.lgbt
                          wrote last edited by
                          #16

                          @whitequark i am fundamentally against making things hard to reimplement, especially compilers, because i want to put as little friction as possible in the way of people porting software in a language to their platform.

                          making reimplementations impossible isn't how you protect users, it's how you lock them to a specific technical instance, and to the whims of whoever decides the direction it goes. allowing reimplementations allow the users to at least partially put their trust into another party instead, giving them much more power

                          non standard extensions in compilers is not enough of a cost to not do it imo, since it is up to projects to be responsible about which extensions to use or not

                          PS: also fuck ISO sucks, requiring payment to have access to documentation is the opposite of empowerement, and we can have standards without ISO anyway

                          1 Reply Last reply
                          0
                          • whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systemsW This user is from outside of this forum
                            whitequark@social.treehouse.systems
                            wrote last edited by
                            #17

                            @SRAZKVT now, i don't think compilers should be intentionally hard to reimplement. i just don't think that "ease of reimplementation" is a valuable target to pursue on its own and it has a somewhat negative effect on the language overall; whether this negative effect will become a serious problem in practice basically depends on how homogeneous your culture is, i think

                            whitequark@social.treehouse.systemsW srazkvt@tech.lgbtS 2 Replies Last reply
                            0
                            • srazkvt@tech.lgbtS This user is from outside of this forum
                              srazkvt@tech.lgbtS This user is from outside of this forum
                              srazkvt@tech.lgbt
                              wrote last edited by
                              #18

                              @whitequark it is up to the maintainer to decide which extensions they require, if a downstream user's compiler doesn't support it, then they can either add it to their compiler, patch the codebase to not require it, or go for something else instead

                              whitequark@social.treehouse.systemsW 1 Reply Last reply
                              0
                              • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                @SRAZKVT now, i don't think compilers should be intentionally hard to reimplement. i just don't think that "ease of reimplementation" is a valuable target to pursue on its own and it has a somewhat negative effect on the language overall; whether this negative effect will become a serious problem in practice basically depends on how homogeneous your culture is, i think

                                whitequark@social.treehouse.systemsW This user is from outside of this forum
                                whitequark@social.treehouse.systemsW This user is from outside of this forum
                                whitequark@social.treehouse.systems
                                wrote last edited by
                                #19

                                @SRAZKVT or to put it in much more primitive terms: if you fork the language then have the decency to change the name, too

                                1 Reply Last reply
                                0
                                • srazkvt@tech.lgbtS srazkvt@tech.lgbt

                                  @whitequark it is up to the maintainer to decide which extensions they require, if a downstream user's compiler doesn't support it, then they can either add it to their compiler, patch the codebase to not require it, or go for something else instead

                                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                                  whitequark@social.treehouse.systemsW This user is from outside of this forum
                                  whitequark@social.treehouse.systems
                                  wrote last edited by
                                  #20

                                  @SRAZKVT the practical outcome of all three cases is make-work

                                  srazkvt@tech.lgbtS 1 Reply Last reply
                                  0
                                  • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                    @SRAZKVT now, i don't think compilers should be intentionally hard to reimplement. i just don't think that "ease of reimplementation" is a valuable target to pursue on its own and it has a somewhat negative effect on the language overall; whether this negative effect will become a serious problem in practice basically depends on how homogeneous your culture is, i think

                                    srazkvt@tech.lgbtS This user is from outside of this forum
                                    srazkvt@tech.lgbtS This user is from outside of this forum
                                    srazkvt@tech.lgbt
                                    wrote last edited by
                                    #21

                                    @whitequark obviously, it isn't absolute, but if you have the option as language designer between doing just syntax sugar around already existing features, or adding a whole new component, then the former should be prioritised

                                    1 Reply Last reply
                                    0
                                    • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                      @SRAZKVT the practical outcome of all three cases is make-work

                                      srazkvt@tech.lgbtS This user is from outside of this forum
                                      srazkvt@tech.lgbtS This user is from outside of this forum
                                      srazkvt@tech.lgbt
                                      wrote last edited by
                                      #22

                                      @whitequark yes, making software work on a system it wasn't designed for is make-work, it would be regardless

                                      having more options on how to tackle makes it less bad though

                                      whitequark@social.treehouse.systemsW 1 Reply Last reply
                                      0
                                      • srazkvt@tech.lgbtS srazkvt@tech.lgbt

                                        @whitequark yes, making software work on a system it wasn't designed for is make-work, it would be regardless

                                        having more options on how to tackle makes it less bad though

                                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                                        whitequark@social.treehouse.systemsW This user is from outside of this forum
                                        whitequark@social.treehouse.systems
                                        wrote last edited by
                                        #23

                                        @SRAZKVT there's several things implicit here that i don't really like:

                                        • placing the burden of making it work on the end user and/or maintainer (ocaml sidesteps this nicely by providing a baseline bytecode interpreter that's mostly fast enough; no language extensions are involved at any point)
                                        • biasing the language towards the endless scope-creep of implementations that gave us c instead of going "no, if you want this to run on a 8-bit AVR, get a different language, this one isn't fit for the use case" (which would leave everyone involved happier in those cases)
                                        srazkvt@tech.lgbtS 1 Reply Last reply
                                        0
                                        • whitequark@social.treehouse.systemsW whitequark@social.treehouse.systems

                                          @SRAZKVT there's several things implicit here that i don't really like:

                                          • placing the burden of making it work on the end user and/or maintainer (ocaml sidesteps this nicely by providing a baseline bytecode interpreter that's mostly fast enough; no language extensions are involved at any point)
                                          • biasing the language towards the endless scope-creep of implementations that gave us c instead of going "no, if you want this to run on a 8-bit AVR, get a different language, this one isn't fit for the use case" (which would leave everyone involved happier in those cases)
                                          srazkvt@tech.lgbtS This user is from outside of this forum
                                          srazkvt@tech.lgbtS This user is from outside of this forum
                                          srazkvt@tech.lgbt
                                          wrote last edited by
                                          #24

                                          @whitequark yes, the language should have a baseline that is expected to be implemented everywhere, that's the language without extensions

                                          widely implemented extensions should be included in the baseline eventually to better compatibility

                                          and for the second, yeah, but if you are on 8bit avr, you likely don't need a kernel with system utilities written by someone else who has no knowledge of your system, you'll likely need something completely custom anyway

                                          whitequark@social.treehouse.systemsW 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups