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. A r e y o u r e a d y t o h a v e s o m e f u n ?

A r e y o u r e a d y t o h a v e s o m e f u n ?

Scheduled Pinned Locked Moved Uncategorized
65 Posts 12 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.
  • uecker@mastodon.socialU uecker@mastodon.social

    @manx @thephd Maybe you are right, but my perspective after observing the industry for a while is this: Complexity always grows until things suck too much and then people build alternatives and the cycle starts again. At the same time, if some part does not suck yet because it is relatively small and simple, people think that complexity needs to be moved there from the other parts nobody wants to touch. Couldn't this be part of what is happening here?

    manx@mastodon.onlineM This user is from outside of this forum
    manx@mastodon.onlineM This user is from outside of this forum
    manx@mastodon.online
    wrote last edited by
    #40

    @uecker @thephd Maybe partly.
    I still think that removing cyclic dependencies is something to strive for in general. I see clear practical advantages for use cases that I encounter.
    However, I also see problems arising from implementing too much in constexpr, but for me, the advantages from simplifying the build outweigh them clearly here. Other people might weight things differently.
    ...

    manx@mastodon.onlineM 1 Reply Last reply
    0
    • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
      @uecker @thephd that’s just cmake being utter garbage (without hyperbole, it has more in common with microsoft batch than it does with an actual build system) that for no apparent reason half the software industry agreed to force on each other, the other half being google’s flavor of the week.

      qt needs more than 90k lines of code—again, no hyperbole because i’ve ported some of that recently—consisting mostly of cmake workarounds to achieve what meson can express entirely declaratively in just over a hundred. and
      none of it would have to exist if qt didn’t require 5 or 6 different generators.

      so i don’t think “this makes bad build systems even more of a pain to use” is a strong argument
      uecker@mastodon.socialU This user is from outside of this forum
      uecker@mastodon.socialU This user is from outside of this forum
      uecker@mastodon.social
      wrote last edited by
      #41

      @mia @thephd I certainly agree that CMake is just bad independently of constexpr. I haven't looked at meson much, but if I needed to build and run a C program to create specialized code it would be a single line in my Makefile. Cross-compilation would be more complicated though.

      mia@shrimptest.0x0.stM 1 Reply Last reply
      0
      • manx@mastodon.onlineM manx@mastodon.online

        @uecker @thephd Maybe partly.
        I still think that removing cyclic dependencies is something to strive for in general. I see clear practical advantages for use cases that I encounter.
        However, I also see problems arising from implementing too much in constexpr, but for me, the advantages from simplifying the build outweigh them clearly here. Other people might weight things differently.
        ...

        manx@mastodon.onlineM This user is from outside of this forum
        manx@mastodon.onlineM This user is from outside of this forum
        manx@mastodon.online
        wrote last edited by
        #42

        @uecker @thephd ...
        I also still think that the C/C++ build system ecosystem only has the chance of getting addressed IFF we take away responsibility from them and simplify them first. Standardizing the complexity that currently exist across all of them would just result in an even more complex generalized "solution" that really does not help at all.

        1 Reply Last reply
        0
        • uecker@mastodon.socialU uecker@mastodon.social

          @mia @thephd I certainly agree that CMake is just bad independently of constexpr. I haven't looked at meson much, but if I needed to build and run a C program to create specialized code it would be a single line in my Makefile. Cross-compilation would be more complicated though.

          mia@shrimptest.0x0.stM This user is from outside of this forum
          mia@shrimptest.0x0.stM This user is from outside of this forum
          mia@shrimptest.0x0.st
          wrote last edited by
          #43
          @uecker @thephd meson can also handle that case (plus cross compilation and figuring out how to run it if it needs to compiled for a different system/architecture) in a single line as well.

          but you’ve just said it: cross-compilation breaks the assumptions of many build systems. there aren’t many that properly support the canadian cross to begin with, and there’s a lot of platform-specific quirks that build systems need to figure out to make it all work as well.

          that’s an incredible amount of jank and moving parts for something that could just be done by the compiler that you already use to compile the generator code.
          uecker@mastodon.socialU 1 Reply Last reply
          0
          • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
            @uecker @thephd meson can also handle that case (plus cross compilation and figuring out how to run it if it needs to compiled for a different system/architecture) in a single line as well.

            but you’ve just said it: cross-compilation breaks the assumptions of many build systems. there aren’t many that properly support the canadian cross to begin with, and there’s a lot of platform-specific quirks that build systems need to figure out to make it all work as well.

            that’s an incredible amount of jank and moving parts for something that could just be done by the compiler that you already use to compile the generator code.
            uecker@mastodon.socialU This user is from outside of this forum
            uecker@mastodon.socialU This user is from outside of this forum
            uecker@mastodon.social
            wrote last edited by
            #44

            @mia @thephd I think "just" having an additional interpreter in the compiler is not generally a good idea. I want things to be more modular and less monolithic. Compilers are already too complex for my taste. If people use modularity to create a mess, then this is IMHO not an argument against modularity but for cleaning up the mess.

            mia@shrimptest.0x0.stM 1 Reply Last reply
            0
            • uecker@mastodon.socialU uecker@mastodon.social

              @mia @thephd I think "just" having an additional interpreter in the compiler is not generally a good idea. I want things to be more modular and less monolithic. Compilers are already too complex for my taste. If people use modularity to create a mess, then this is IMHO not an argument against modularity but for cleaning up the mess.

              mia@shrimptest.0x0.stM This user is from outside of this forum
              mia@shrimptest.0x0.stM This user is from outside of this forum
              mia@shrimptest.0x0.st
              wrote last edited by
              #45
              @uecker @thephd well i think the past 30 years of software engineering have abundantly demonstrated that people are generally bad at cleaning up messes. just look at libc.

              i don’t like complexity either, but what we’re talking about here is a problem that is, much like wanting to embed binary files, nearly universal.

              and good tools do not foist such things off on the user in the name of simplicity, especially when doing so results in a million ugly hacks downstream.
              Link Preview Image
              uecker@mastodon.socialU 1 Reply Last reply
              0
              • thephd@pony.socialT thephd@pony.social

                A r e y o u r e a d y t o h a v e s o m e f u n ?

                :3

                Link Preview Image
                nekkodroid@social.treehouse.systemsN This user is from outside of this forum
                nekkodroid@social.treehouse.systemsN This user is from outside of this forum
                nekkodroid@social.treehouse.systems
                wrote last edited by
                #46

                @thephd Wait, is there some update on std::embed in the standard library that I missed or is it still not a thing?

                thephd@pony.socialT 1 Reply Last reply
                0
                • thephd@pony.socialT thephd@pony.social

                  A r e y o u r e a d y t o h a v e s o m e f u n ?

                  :3

                  Link Preview Image
                  shitpostalotl@axfedi.derg.restS This user is from outside of this forum
                  shitpostalotl@axfedi.derg.restS This user is from outside of this forum
                  shitpostalotl@axfedi.derg.rest
                  wrote last edited by
                  #47

                  @thephd i'm trying my best to understand what is going on here, and what i think is happening is that you have made lua into a compiled language hosted(??) in c. is that correct?

                  thephd@pony.socialT 1 Reply Last reply
                  0
                  • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                    @uecker @thephd well i think the past 30 years of software engineering have abundantly demonstrated that people are generally bad at cleaning up messes. just look at libc.

                    i don’t like complexity either, but what we’re talking about here is a problem that is, much like wanting to embed binary files, nearly universal.

                    and good tools do not foist such things off on the user in the name of simplicity, especially when doing so results in a million ugly hacks downstream.
                    Link Preview Image
                    uecker@mastodon.socialU This user is from outside of this forum
                    uecker@mastodon.socialU This user is from outside of this forum
                    uecker@mastodon.social
                    wrote last edited by
                    #48

                    @mia @thephd I do not agree that the solution needs to be ugly hacks. I simply do not see why putting the complexity into the language and the compiler is a step to overall improvement. I think it does the opposite.

                    mia@shrimptest.0x0.stM 1 Reply Last reply
                    0
                    • uecker@mastodon.socialU uecker@mastodon.social

                      @mia @thephd I do not agree that the solution needs to be ugly hacks. I simply do not see why putting the complexity into the language and the compiler is a step to overall improvement. I think it does the opposite.

                      mia@shrimptest.0x0.stM This user is from outside of this forum
                      mia@shrimptest.0x0.stM This user is from outside of this forum
                      mia@shrimptest.0x0.st
                      wrote last edited by
                      #49
                      @uecker @thephd i’m arguing in favor of putting that complexity as close to the source of the problem as possible so that it only needs to be dealt with in the one place that is in a very good position to do so, rather than an unbounded number of places that then have to wonder why it is still so hard and still requires all these crutches in the current year. like, so far your argument boils down to aesthetic preferences more than anything else and it makes me wonder who you think the languange and its tools are for
                      uecker@mastodon.socialU 1 Reply Last reply
                      0
                      • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                        @uecker @thephd i’m arguing in favor of putting that complexity as close to the source of the problem as possible so that it only needs to be dealt with in the one place that is in a very good position to do so, rather than an unbounded number of places that then have to wonder why it is still so hard and still requires all these crutches in the current year. like, so far your argument boils down to aesthetic preferences more than anything else and it makes me wonder who you think the languange and its tools are for
                        uecker@mastodon.socialU This user is from outside of this forum
                        uecker@mastodon.socialU This user is from outside of this forum
                        uecker@mastodon.social
                        wrote last edited by
                        #50

                        @mia @thephd You argument is "build systems are a mess, so solve everything in the compiler close to the source of the problem". Somehow this argument is also seems weak. Similar generic arguments always are used to justify centralization of complexity. But I do think code generation is fundamentally different from code translation and should not be done by the same tool and I do not think this is purely aesthetic argument. But let's agree to disagree.

                        mia@shrimptest.0x0.stM 1 Reply Last reply
                        0
                        • uecker@mastodon.socialU uecker@mastodon.social

                          @mia @thephd You argument is "build systems are a mess, so solve everything in the compiler close to the source of the problem". Somehow this argument is also seems weak. Similar generic arguments always are used to justify centralization of complexity. But I do think code generation is fundamentally different from code translation and should not be done by the same tool and I do not think this is purely aesthetic argument. But let's agree to disagree.

                          mia@shrimptest.0x0.stM This user is from outside of this forum
                          mia@shrimptest.0x0.stM This user is from outside of this forum
                          mia@shrimptest.0x0.st
                          wrote last edited by
                          #51
                          @uecker @thephd it isn’t “build systems are a mess”, it’s “this isn’t meeting real-world needs, people have to get overly creative to fill that gap, and that in turn leads to more problems, worse interoperability, more complex dependencies and an overall unpleasant experience”
                          mia@shrimptest.0x0.stM uecker@mastodon.socialU 2 Replies Last reply
                          0
                          • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                            @uecker @thephd it isn’t “build systems are a mess”, it’s “this isn’t meeting real-world needs, people have to get overly creative to fill that gap, and that in turn leads to more problems, worse interoperability, more complex dependencies and an overall unpleasant experience”
                            mia@shrimptest.0x0.stM This user is from outside of this forum
                            mia@shrimptest.0x0.stM This user is from outside of this forum
                            mia@shrimptest.0x0.st
                            wrote last edited by
                            #52
                            @thephd @uecker i’m NOT saying everything should be centralized and build systems left with no responsibilities because that’s even worse and in practice has resulted in languages that are married to a specific version of LLVM
                            1 Reply Last reply
                            0
                            • mia@shrimptest.0x0.stM This user is from outside of this forum
                              mia@shrimptest.0x0.stM This user is from outside of this forum
                              mia@shrimptest.0x0.st
                              wrote last edited by
                              #53
                              @maxmustermann @thephd @uecker the creators of cmake were just trying to replace build.bat

                              what i’m wondering is what the qt devs were smoking when they went with cmake and didn’t start questioning their choices about 4000 lines in

                              those 90k lines are a
                              fraction of their cmake macros too
                              mia@shrimptest.0x0.stM 1 Reply Last reply
                              0
                              • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                                @maxmustermann @thephd @uecker the creators of cmake were just trying to replace build.bat

                                what i’m wondering is what the qt devs were smoking when they went with cmake and didn’t start questioning their choices about 4000 lines in

                                those 90k lines are a
                                fraction of their cmake macros too
                                mia@shrimptest.0x0.stM This user is from outside of this forum
                                mia@shrimptest.0x0.stM This user is from outside of this forum
                                mia@shrimptest.0x0.st
                                wrote last edited by
                                #54
                                @thephd @maxmustermann @uecker there’s a lot of code working around the fact that cmake doesn’t have a list type (that’s right in true batch file fashion it only has ;-separated strings)
                                mia@shrimptest.0x0.stM 1 Reply Last reply
                                0
                                • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                                  @thephd @maxmustermann @uecker there’s a lot of code working around the fact that cmake doesn’t have a list type (that’s right in true batch file fashion it only has ;-separated strings)
                                  mia@shrimptest.0x0.stM This user is from outside of this forum
                                  mia@shrimptest.0x0.stM This user is from outside of this forum
                                  mia@shrimptest.0x0.st
                                  wrote last edited by
                                  #55
                                  @thephd @maxmustermann @uecker how this ended up on systems that aren’t windows is a complete mystery to me
                                  1 Reply Last reply
                                  0
                                  • mia@shrimptest.0x0.stM mia@shrimptest.0x0.st
                                    @uecker @thephd it isn’t “build systems are a mess”, it’s “this isn’t meeting real-world needs, people have to get overly creative to fill that gap, and that in turn leads to more problems, worse interoperability, more complex dependencies and an overall unpleasant experience”
                                    uecker@mastodon.socialU This user is from outside of this forum
                                    uecker@mastodon.socialU This user is from outside of this forum
                                    uecker@mastodon.social
                                    wrote last edited by
                                    #56

                                    @mia The unpleasant experiences I had are not with projects doing run-time code generation by running a program during the build, but were all related to other random build complexities.

                                    1 Reply Last reply
                                    0
                                    • mia@shrimptest.0x0.stM This user is from outside of this forum
                                      mia@shrimptest.0x0.stM This user is from outside of this forum
                                      mia@shrimptest.0x0.st
                                      wrote last edited by
                                      #57
                                      @maxmustermann @thephd @uecker it doesn’t help that nothing it does is documented anywhere so if you want to replace it with something that doesn’t put peolpe in straitjackets, you will have to read all that
                                      1 Reply Last reply
                                      0
                                      • shitpostalotl@axfedi.derg.restS shitpostalotl@axfedi.derg.rest

                                        @thephd i'm trying my best to understand what is going on here, and what i think is happening is that you have made lua into a compiled language hosted(??) in c. is that correct?

                                        thephd@pony.socialT This user is from outside of this forum
                                        thephd@pony.socialT This user is from outside of this forum
                                        thephd@pony.social
                                        wrote last edited by
                                        #58

                                        @shitpostalotl C++, not C. God forbid C having this kind of power.

                                        shitpostalotl@axfedi.derg.restS 1 Reply Last reply
                                        0
                                        • nekkodroid@social.treehouse.systemsN nekkodroid@social.treehouse.systems

                                          @thephd Wait, is there some update on std::embed in the standard library that I missed or is it still not a thing?

                                          thephd@pony.socialT This user is from outside of this forum
                                          thephd@pony.socialT This user is from outside of this forum
                                          thephd@pony.social
                                          wrote last edited by
                                          #59

                                          @NekkoDroid just trying to finish it off, yeah.

                                          thephd@pony.socialT 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