Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • 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 (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. uncategorized
  3. I do not understand how people think frameworks like Emscripten are valid.

I do not understand how people think frameworks like Emscripten are valid.

Scheduled Pinned Locked Moved uncategorized
33 Posts 4 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.
  • a1ba@suya.placeA a1ba@suya.place
    @ignaloidas @cnlohr I think if there was something like that in browsers, with browser specifics, like accessing DOM, sandboxed APIs and so on

    wasm would get much more adoption than just running Quake with emscripten
    ignaloidas@not.acu.ltI This user is from outside of this forum
    ignaloidas@not.acu.ltI This user is from outside of this forum
    ignaloidas@not.acu.lt
    wrote last edited by
    #16

    @a1ba@suya.place @cnlohr@chaos.social again, I think it's more of a language interface question (what does DOM API look like in C) than a wasm interface question

    a1ba@suya.placeA 1 Reply Last reply
    0
    • ignaloidas@not.acu.ltI ignaloidas@not.acu.lt

      @a1ba@suya.place @cnlohr@chaos.social again, I think it's more of a language interface question (what does DOM API look like in C) than a wasm interface question

      a1ba@suya.placeA This user is from outside of this forum
      a1ba@suya.placeA This user is from outside of this forum
      a1ba@suya.place
      wrote last edited by
      #17
      @ignaloidas @cnlohr it's already solved problem in another kind of wrapper: an operating system kernel.

      It doesn't care from which language you call it unless you can emit syscalls.
      ignaloidas@not.acu.ltI 1 Reply Last reply
      0
      • a1ba@suya.placeA a1ba@suya.place
        @ignaloidas @cnlohr it's already solved problem in another kind of wrapper: an operating system kernel.

        It doesn't care from which language you call it unless you can emit syscalls.
        ignaloidas@not.acu.ltI This user is from outside of this forum
        ignaloidas@not.acu.ltI This user is from outside of this forum
        ignaloidas@not.acu.lt
        wrote last edited by
        #18

        @a1ba@suya.place @cnlohr@chaos.social right, but still - the wast, wast majority of software is useless without posix calls

        sure, you can provide some interface to web apis, but you'll still often need to wrap libraries/posix to fit into web apis

        so in the end you're just moving where you're doing the wrapping

        a1ba@suya.placeA 1 Reply Last reply
        0
        • a1ba@suya.placeA a1ba@suya.place
          @ignaloidas @cnlohr yes but POSIX doesn't play nice with a complete absence of a filesystem and not only that but the whole asynchronous nature of running stuff in web browser.

          It just doesn't work like that.
          lanodan@queer.hacktivis.meL This user is from outside of this forum
          lanodan@queer.hacktivis.meL This user is from outside of this forum
          lanodan@queer.hacktivis.me
          wrote last edited by
          #19
          @a1ba @cnlohr @ignaloidas Reminds me that even the most extremely basic profile of POSIX for embedded systems (PSE52) still requires a filesystem.

          https://posix.opengroup.org/docs/pse52-2003.html
          (Extreme because it's basically just turning POSIX into an extension of ISO C. Like there's nothing about shell & utilities or multi-user. That's in PSE54)
          a1ba@suya.placeA lanodan@queer.hacktivis.meL 2 Replies Last reply
          0
          • ignaloidas@not.acu.ltI ignaloidas@not.acu.lt

            @a1ba@suya.place @cnlohr@chaos.social right, but still - the wast, wast majority of software is useless without posix calls

            sure, you can provide some interface to web apis, but you'll still often need to wrap libraries/posix to fit into web apis

            so in the end you're just moving where you're doing the wrapping

            a1ba@suya.placeA This user is from outside of this forum
            a1ba@suya.placeA This user is from outside of this forum
            a1ba@suya.place
            wrote last edited by
            #20
            @ignaloidas @cnlohr the webapps written in javascript that your browser run right now doesn't require POSIX. And you know I wasn't talking about POSIX here.

            Let me write interactive websites without JS dammit. Wasm could've been an alternative if the "web" in its name had _any_ meaning.
            ignaloidas@not.acu.ltI 1 Reply Last reply
            0
            • lanodan@queer.hacktivis.meL lanodan@queer.hacktivis.me
              @a1ba @cnlohr @ignaloidas Reminds me that even the most extremely basic profile of POSIX for embedded systems (PSE52) still requires a filesystem.

              https://posix.opengroup.org/docs/pse52-2003.html
              (Extreme because it's basically just turning POSIX into an extension of ISO C. Like there's nothing about shell & utilities or multi-user. That's in PSE54)
              a1ba@suya.placeA This user is from outside of this forum
              a1ba@suya.placeA This user is from outside of this forum
              a1ba@suya.place
              wrote last edited by
              #21
              @lanodan @cnlohr @ignaloidas oh, yeah, that's a thing.

              At least it kinda allows to run existing software, if you really need to
              1 Reply Last reply
              0
              • a1ba@suya.placeA a1ba@suya.place
                @ignaloidas @cnlohr the webapps written in javascript that your browser run right now doesn't require POSIX. And you know I wasn't talking about POSIX here.

                Let me write interactive websites without JS dammit. Wasm could've been an alternative if the "web" in its name had _any_ meaning.
                ignaloidas@not.acu.ltI This user is from outside of this forum
                ignaloidas@not.acu.ltI This user is from outside of this forum
                ignaloidas@not.acu.lt
                wrote last edited by
                #22

                @a1ba@suya.place @cnlohr@chaos.social most of wasm's utility was and is in the fact that you can have a way to use existing, non-browser code in browsers

                if you want to use wasm instead of JS - just get down for a bit to write the JS wrappers, and congratulations - you can now have a painful experience dealing with browser API's from other languages

                a1ba@suya.placeA 1 Reply Last reply
                0
                • ignaloidas@not.acu.ltI ignaloidas@not.acu.lt

                  @a1ba@suya.place @cnlohr@chaos.social most of wasm's utility was and is in the fact that you can have a way to use existing, non-browser code in browsers

                  if you want to use wasm instead of JS - just get down for a bit to write the JS wrappers, and congratulations - you can now have a painful experience dealing with browser API's from other languages

                  a1ba@suya.placeA This user is from outside of this forum
                  a1ba@suya.placeA This user is from outside of this forum
                  a1ba@suya.place
                  wrote last edited by
                  #23
                  @ignaloidas @cnlohr so basically, yes, emscripten is what we deserve.

                  And the only application for it is to run some 90s games stuttering in a single frame per second.
                  cnlohr@chaos.socialC 1 Reply Last reply
                  0
                  • lanodan@queer.hacktivis.meL lanodan@queer.hacktivis.me
                    @a1ba @cnlohr @ignaloidas Reminds me that even the most extremely basic profile of POSIX for embedded systems (PSE52) still requires a filesystem.

                    https://posix.opengroup.org/docs/pse52-2003.html
                    (Extreme because it's basically just turning POSIX into an extension of ISO C. Like there's nothing about shell & utilities or multi-user. That's in PSE54)
                    lanodan@queer.hacktivis.meL This user is from outside of this forum
                    lanodan@queer.hacktivis.meL This user is from outside of this forum
                    lanodan@queer.hacktivis.me
                    wrote last edited by
                    #24

                    @a1ba@suya.place @cnlohr@chaos.social @ignaloidas@not.acu.lt And well, stuff like fopen() is part of ISO C, so without it… what you'd have is a subset of ISO C, at which point what the heck is that environment even from a portability point of view.

                    a1ba@suya.placeA 1 Reply Last reply
                    0
                    • lanodan@queer.hacktivis.meL lanodan@queer.hacktivis.me

                      @a1ba@suya.place @cnlohr@chaos.social @ignaloidas@not.acu.lt And well, stuff like fopen() is part of ISO C, so without it… what you'd have is a subset of ISO C, at which point what the heck is that environment even from a portability point of view.

                      a1ba@suya.placeA This user is from outside of this forum
                      a1ba@suya.placeA This user is from outside of this forum
                      a1ba@suya.place
                      wrote last edited by
                      #25
                      @lanodan @cnlohr @ignaloidas I started appreciating actually somewhat conforming environments after I've witnessed homebrew development on switch, psvita and psp.

                      In all three cases it's some random newlib + gcc port. newlib kinda okay for ISO C99-ish. But C++? Eh... POSIX? Don't even think about it.

                      It's an enormous amount of work, yeah. But I understand now why people don't maintain their ports for these targets for too long.
                      1 Reply Last reply
                      0
                      • a1ba@suya.placeA a1ba@suya.place
                        @ignaloidas @cnlohr so basically, yes, emscripten is what we deserve.

                        And the only application for it is to run some 90s games stuttering in a single frame per second.
                        cnlohr@chaos.socialC This user is from outside of this forum
                        cnlohr@chaos.socialC This user is from outside of this forum
                        cnlohr@chaos.social
                        wrote last edited by
                        #26

                        @a1ba @ignaloidas

                        Wasm is perfectly fine (except for that it's not ASM and doesn't allow goto). But for what it is it's perfectly fine, and great for web.

                        If it was bad, you wouldn't be able to make full 3D apps in C for 10kB (wrappers included).

                        (But really I will never stop being hurt by this thread https://github.com/WebAssembly/design/issues/796)

                        a1ba@suya.placeA 1 Reply Last reply
                        0
                        • cnlohr@chaos.socialC cnlohr@chaos.social

                          @a1ba @ignaloidas

                          Wasm is perfectly fine (except for that it's not ASM and doesn't allow goto). But for what it is it's perfectly fine, and great for web.

                          If it was bad, you wouldn't be able to make full 3D apps in C for 10kB (wrappers included).

                          (But really I will never stop being hurt by this thread https://github.com/WebAssembly/design/issues/796)

                          a1ba@suya.placeA This user is from outside of this forum
                          a1ba@suya.placeA This user is from outside of this forum
                          a1ba@suya.place
                          wrote last edited by
                          #27
                          @cnlohr @ignaloidas and so could asm.js. And so can plain javascript.

                          if it all boils down to calling webgl why do I need an extra step with C if it's gonna be javascript anyway?
                          cnlohr@chaos.socialC 1 Reply Last reply
                          0
                          • a1ba@suya.placeA a1ba@suya.place
                            @cnlohr @ignaloidas and so could asm.js. And so can plain javascript.

                            if it all boils down to calling webgl why do I need an extra step with C if it's gonna be javascript anyway?
                            cnlohr@chaos.socialC This user is from outside of this forum
                            cnlohr@chaos.socialC This user is from outside of this forum
                            cnlohr@chaos.social
                            wrote last edited by
                            #28

                            @a1ba @ignaloidas You can write and use c libs and apps. I would expect something like emdoom could just straight up run.

                            a1ba@suya.placeA 1 Reply Last reply
                            0
                            • cnlohr@chaos.socialC cnlohr@chaos.social

                              @a1ba @ignaloidas You can write and use c libs and apps. I would expect something like emdoom could just straight up run.

                              a1ba@suya.placeA This user is from outside of this forum
                              a1ba@suya.placeA This user is from outside of this forum
                              a1ba@suya.place
                              wrote last edited by
                              #29
                              @cnlohr @ignaloidas and so, again, could've be done with asm.js long before wasm.

                              I want to write for web in single language. It means either C or JS should go away.

                              what problem wasm does solve? Yeah, using existing C code is cool but then you have another problem which is emscripten and all it's quirks

                              please read the thread, it's already has been discussed.
                              ignaloidas@not.acu.ltI 1 Reply Last reply
                              0
                              • a1ba@suya.placeA a1ba@suya.place
                                @cnlohr @ignaloidas and so, again, could've be done with asm.js long before wasm.

                                I want to write for web in single language. It means either C or JS should go away.

                                what problem wasm does solve? Yeah, using existing C code is cool but then you have another problem which is emscripten and all it's quirks

                                please read the thread, it's already has been discussed.
                                ignaloidas@not.acu.ltI This user is from outside of this forum
                                ignaloidas@not.acu.ltI This user is from outside of this forum
                                ignaloidas@not.acu.lt
                                wrote last edited by
                                #30

                                @a1ba@suya.place @cnlohr@chaos.social you understand that you don't have to use emscripten, right? Many don't.

                                It's just that nobody cares/wants to build websites from wasm alone

                                a1ba@suya.placeA 1 Reply Last reply
                                0
                                • ignaloidas@not.acu.ltI ignaloidas@not.acu.lt

                                  @a1ba@suya.place @cnlohr@chaos.social you understand that you don't have to use emscripten, right? Many don't.

                                  It's just that nobody cares/wants to build websites from wasm alone

                                  a1ba@suya.placeA This user is from outside of this forum
                                  a1ba@suya.placeA This user is from outside of this forum
                                  a1ba@suya.place
                                  wrote last edited by
                                  #31
                                  @ignaloidas @cnlohr sure, yeah, I can implement all needed stuff myself, but that doesn't really fall into category of using "existing C code", right?

                                  At that point I can just hack it until it works or rewrite it in JS.
                                  ignaloidas@not.acu.ltI 1 Reply Last reply
                                  0
                                  • a1ba@suya.placeA a1ba@suya.place
                                    @ignaloidas @cnlohr sure, yeah, I can implement all needed stuff myself, but that doesn't really fall into category of using "existing C code", right?

                                    At that point I can just hack it until it works or rewrite it in JS.
                                    ignaloidas@not.acu.ltI This user is from outside of this forum
                                    ignaloidas@not.acu.ltI This user is from outside of this forum
                                    ignaloidas@not.acu.lt
                                    wrote last edited by
                                    #32

                                    @a1ba@suya.place @cnlohr@chaos.social I mean, almost everything that isn't JS or Lua or similar is hopelessly tied to POSIX. You either reduce the stuff that's donw in other languages to end up as just simple processing routines, end up implementing emscripten yourself, or rewrite it in JS.

                                    a1ba@suya.placeA 1 Reply Last reply
                                    0
                                    • ignaloidas@not.acu.ltI ignaloidas@not.acu.lt

                                      @a1ba@suya.place @cnlohr@chaos.social I mean, almost everything that isn't JS or Lua or similar is hopelessly tied to POSIX. You either reduce the stuff that's donw in other languages to end up as just simple processing routines, end up implementing emscripten yourself, or rewrite it in JS.

                                      a1ba@suya.placeA This user is from outside of this forum
                                      a1ba@suya.placeA This user is from outside of this forum
                                      a1ba@suya.place
                                      wrote last edited by
                                      #33
                                      @ignaloidas @cnlohr exactly.
                                      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.
                                      Powered by NodeBB Contributors
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups