Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
sorry, it’s really not clear to me what message we’re supposed to be getting from your article

you say WebAssembly is “kicking the can down the road” and it’s not an all-singing, all-dancing VM which maybe some people are promoting it as

but all I really see in support of that is that host bindings are slow and involve reflection (why? how can this be addressed?) and that GC isn’t great

WebAssembly is just another attempt to make it easier to write “real code” that runs in the browser, not fundamentally different than JavaScript, Java, ActiveX, Flash, etc., and in fact piggybacking (though it apparently doesn’t have to) on existing JavaScript infrastructure

the ultimate problem here is actually that people are writing code to run in the browser when they should be writing native apps, and the fact that web-centric developers keep trying to shove ways to deliver ever more complex code via the browser is symptomatic of the fact that, at some level, they know this

Adbot
ADBOT LOVES YOU

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
it is very obvious from your article that the goals of the wasm project just don't match your personal desired goals and that you are Real Internet Mad about it. somehow that fact manages to shine right on through despite the fact that, frankly, i am not entirely sure what the goals of the wasm project are, or what you think they are, or even what you think they ought to be; but it is quite clear even from your muddled musings that the differences in design are due not to accident or oversight, but to a difference in goals

maybe you should go think about it more and then write a much better article in which you lay out the problems that wasm is purporting to solve and why they are variously either not important or could be better solved by an alternative approach

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
hence why it isn't published. it needs a ton of editing still to make clearer what i want to say.

i don't think there's a large disconnect between the goals of what i want it to be and what the project is accomplishing. i think i understand both pretty well and i'm not angry about it.

the disconnect here i want to focus on and am writing about is between the common understanding of what wasm will enable on the web, and what the goals of the project actually are. the "pop culture" understanding is that "wasm = web page c++ binary fast zoom zoom".

i understand that projects are the results of a large set of tradeoffs, and my article's goals isn't to opine on those tradeoffs and say that they are good or bad, but to simply make people aware of them.

my personal worst case scenario is one where people think "vm bytecode = fast" and don't understand the subtleties and nuances involved in making a platform but yes right now it comes out like i'm anti-wasm which i'm not.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Suspicious Dish posted:

my personal worst case scenario is one where people think "vm bytecode = fast" and don't understand the subtleties and nuances involved in making a platform but yes right now it comes out like i'm anti-wasm which i'm not.

if the point isn’t to provide a fast bytecode-based virtual machine that can be more easily targeted by native-code compilers, then what is the point? anything else seems like even more of a waste of time.

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

maybe so you don't have to compile to javascript

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
obviously the high-level goal is "a fast bytecode-based virtual machine that can be more easily targeted by native-code compilers" but there's a lot of choices to be made inside that:

1. you *have* to interact with a GC in order to interact with the web platform. that's not a question. where does this GC fit in? how much control does the native language have over its behavior? can the language run GC passes at will? if so, does that mean the GC is now observable? wasm's GC extension has been in development for over a year because these are *hard* problems, and host-bindings was intended to curb that behavior.

2. how does the native code interact with GC handles and objects, when a target language might not have a traditional "object model" at all? Microsoft invented those hat pointers in C++/CLI to answer this issue. the current host-bindings spec simply says "you get a u32 in your code, write your own wrappers", though that might be changing. jvm/cli have a native "object" type that can be placed on the value stack, and provide a "callmethod" operator.

3. is the expected performance profile more aot or more jit? should we design our compile target to have high-performance equivalents of potentially slow operations, or should we expect a sufficiently smart jit to inline and wipe away that cost? this is something the jvm wrestles with as well: java's jvm bytecode is only fast because the jit brings the performance back to what a programmer thinks it should be. the current expectation is that wasm is aot'd and cached, and that jit shouldn't be done to give a more flat performance profile without jit "spikes".

and plenty more that are important to explore. there isn't one right answer to these questions, they are tradeoffs that have multiple valid answers but sometimes have far-reaching consequences.

Gul Banana
Nov 28, 2003

if i understand correctly, you're trying to get across less-understood points like

- wasm can't interact well with browser functionality yet, and there's no clear path to allowing it
- wasm isn't a good target for high level languages (basically anything above C++ or Rust), and it would be particularly nonsensical to target it from javascript or typescript
- wasm doesn't obviate the utility of JS due to the above flaws, and so parallel improvements like a JS binast are being implemented

but i may be reading that stuff into the article since i was already aware of (and concerned by) it. people seem to think that it's only a matter of time until you can, like, write a webpage in Python or C# but that is not necessarily the case

Cybernetic Vermin
Apr 18, 2005

e: instant regret getting into a js argument

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

every time i try to learn about wasm i feel like i end up even less informed than i was before

spiritual bypass
Feb 19, 2008

Grimey Drawer
who gives a poo poo, stop trying to do heavy math in the browser and just create/delete dom elements and do ajaxy stuff like a decent human being

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
this discussion is hilarious

in the amount of time it's taken to noodle through what wasm actually is and is not everyone itt probably could just learn how to write javascript well

Blinkz0rz fucked around with this message at 14:15 on Dec 31, 2017

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Blinkz0rz posted:

write javascript well

rofl

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



cat > /dev/null binch

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Blinkz0rz posted:

this discussion is hilarious

in the amount of time it's taken to noodle through what wasm actually is and is not everyone itt probably could just learn how to write javascript well

write a distributed map/reduce function in erlang

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
the only problem people itt seem to be trying to solve with wasm is to not have to write javascript but who loving cares it's just javascript. learn to write it rather than copy-pasting snackoverflow answers and then wondering why it doesn't work

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

NihilCredo posted:

write a distributed map/reduce function in erlang

k give me a few weeks (aka the length of time this thread has been talking about wasm)

comedyblissoption
Mar 15, 2006

how low have we fallen that people are promoting writing javascript itt

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
you're trying to solve a problem where the "solution" is more complicated and difficult than the actual problem itself

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



es gibt nur ein endlösung für der internetfrage imo

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

rt4 posted:

who gives a poo poo, stop trying to do heavy math in the browser and just create/delete dom elements and do ajaxy stuff like a decent human being

heres my hot take: the only reason we see web apps as such a shitshow is because of javascript and wasm is a step towards a world where good web apps exist

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

there are valid reasons to choose compiling a good language to wasm over writing javascript, and there are valid reasons to choose writing javascript over compiling to wasm

i do not know, however, of any valid reason to choose compiling to wasm over compiling to javascript, at least in december 2017 and for serious production systems. js compilers have their warts and abstraction leaks but even the most experimental ones are battle-tested tanks compared to wasm prototypes

Xarn
Jun 26, 2015

rjmccall posted:

i actually call it gdce, iirc tree shaking is just an algorithm.

g == global?

rjmccall posted:

lispers really like conflating concepts with implementations because lispers are the wolframs of plt.

idgi :shrug:

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

NihilCredo posted:

i do not know, however, of any valid reason to choose compiling to wasm over compiling to javascript, at least in december 2017 and for serious production systems. js compilers have their warts and abstraction leaks but even the most experimental ones are battle-tested tanks compared to wasm prototypes

absolutely true, and it's going to take years to solidify the standards and years after that until enough of the market share supports wasm to make it worth developing for. however, this was also once true of flexbox, canvas, webgl, web audio, video and audio tags, ES5, CSS3, and so on. we'll get there.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Gul Banana posted:

if i understand correctly, you're trying to get across less-understood points like

- wasm can't interact well with browser functionality yet, and there's no clear path to allowing it
- wasm isn't a good target for high level languages (basically anything above C++ or Rust), and it would be particularly nonsensical to target it from javascript or typescript
- wasm doesn't obviate the utility of JS due to the above flaws, and so parallel improvements like a JS binast are being implemented

but i may be reading that stuff into the article since i was already aware of (and concerned by) it. people seem to think that it's only a matter of time until you can, like, write a webpage in Python or C# but that is not necessarily the case

yeah these are the main points

CommunistPancake posted:

heres my hot take: the only reason we see web apps as such a shitshow is because of javascript and wasm is a step towards a world where good web apps exist

i'd honestly blame the dom more than javascript honestly.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Nah, js isn't the reason people see web apps negatively

It's all the stuff around js like the DOM and the restrictions the browser puts on js code

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
i'm interested in wasm since i'm interested in compilers, and i'm interested in an aot perf profile target for the web. i know javascript very well thank you very much and am extremely comfortable in it.

Shaggar
Apr 26, 2006
javascript was only ever intended to open popup windows and close popup windows and everything else that's been tacked onto it is a disaster. its a very very bad language and its the only reason the web sucks. its not at all the fault of the dom.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Suspicious Dish posted:

obviously the high-level goal is "a fast bytecode-based virtual machine that can be more easily targeted by native-code compilers" but there's a lot of choices to be made inside that:

1. you *have* to interact with a GC in order to interact with the web platform. that's not a question. where does this GC fit in? how much control does the native language have over its behavior? can the language run GC passes at will? if so, does that mean the GC is now observable? wasm's GC extension has been in development for over a year because these are *hard* problems, and host-bindings was intended to curb that behavior.

2. how does the native code interact with GC handles and objects, when a target language might not have a traditional "object model" at all? Microsoft invented those hat pointers in C++/CLI to answer this issue. the current host-bindings spec simply says "you get a u32 in your code, write your own wrappers", though that might be changing. jvm/cli have a native "object" type that can be placed on the value stack, and provide a "callmethod" operator.

3. is the expected performance profile more aot or more jit? should we design our compile target to have high-performance equivalents of potentially slow operations, or should we expect a sufficiently smart jit to inline and wipe away that cost? this is something the jvm wrestles with as well: java's jvm bytecode is only fast because the jit brings the performance back to what a programmer thinks it should be. the current expectation is that wasm is aot'd and cached, and that jit shouldn't be done to give a more flat performance profile without jit "spikes".

and plenty more that are important to explore. there isn't one right answer to these questions, they are tradeoffs that have multiple valid answers but sometimes have far-reaching consequences.

this post seems like a good structure for your article

you start by laying out the background. this gives you ample room to come across as friendly to the wasm project. use the authorial voice to describe the problems that wasm is solving, then say that wasm addresses them well. if you can do this in a fairly brief paragraph, you can lead with it without burying your thesis too much. i think this should be possible because there’s no real need to get into technical detail up front

your thesis is complex and deserves its own paragraph. you think that wasm has set out a reasonable start but there’s some major design issues that wasm hasn’t solved yet, and how it finds those solutions will shape a lot about how useful wasm ends up being. this is something you should put a lot of care into drafting

you can then have three named sections for each of these bullets where you get into a lot more technical detail, then wrap it up with a conclusion about where wasm is right now

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

CommunistPancake posted:

absolutely true, and it's going to take years to solidify the standards and years after that until enough of the market share supports wasm to make it worth developing for. however, this was also once true of flexbox, canvas, webgl, web audio, video and audio tags, ES5, CSS3, and so on. we'll get there.

yeah but what's the point unless wasm has its own vm? you're still going to have to write the js glue and dom manipulation anyway.

the biggest advantage wasm has is how compact the payloads theoretically could be.

performance wise, there's still no support for js data structures so unless you're doing computationally expensive operations (and let's be honest, the most computationally expensive js is all dom anyway which precludes wasm) there's really no point.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

js can be bad and still not be the reason people see web apps negatively

but anyway wrt to dish's article...

i'm not entirely sure that anyone who matters views webass (it's webass damnit, not wasm!) as the savior your article is arguing against. I think the people taking the position you're arguing against are just vanilla web developers who aren't in the position to be contributing to the standards or browsers anyway

of course, an article targeting vanilla web devs may be worthwhile, but i think your article doesn't seem like its written in a manner that those people are going to understand well anyway

all that being said, i also haven't done an intensive survey of all writing about webass and maybe i'm wrong about the lay of the webass-rhetoric land...it's just not the feeling i get after reading the dozens of webass articles that came across my feeds over the past year.

it kind of feels like you read one post somewhere that you disagree with and your article is the response to that

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

webass can get performance increases, but whether that's worthwhile depends on what your apps performance bottlenecks are

https://hackernoon.com/screamin-speed-with-webassembly-b30fac90cd92

I think thats the article i'm thinking about, but i don't have time to re-read it...

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Shaggar posted:

javascript was only ever intended to open popup windows and close popup windows and everything else that's been tacked onto it is a disaster. its a very very bad language and its the only reason the web sucks. its not at all the fault of the dom.

i know i'm getting shaggared hard but your shtick is getting old. it's extremely unlikely that anything will replace js at any point in the next 10 years and even so whatever does will have to be backwards compatible to support the legacy web.

javascript really isn't that bad a language. it has a whole bunch of warts that can be terrifically frustrating, but the reality is that the majority of complaints you hear are from people who don't learn the language and copy and paste bad code from snackoverflow. yeah no poo poo your js is going to be bad and you'll have a bad time if you can't be bothered to actually understand what's going on.

comedyblissoption
Mar 15, 2006

javascript apologia has no place within these hallowed halls

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Blinkz0rz posted:

javascript really isn't that bad a language.

JavaScript (/ˈdʒɑːvəˌskrɪpt/[6]), often abbreviated as JS, is a high-level, dynamic, weakly typed, prototype-based, multi-paradigm, and interpreted programming language.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

comedyblissoption posted:

c apologia has no place within these hallowed halls

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
c is an equally painful language with way more dangerous warts.

Plank Walker
Aug 11, 2005
i'm guess i'm ok with javascript because its what we get for using that monkey's paw to get rid of flash

akadajet
Sep 14, 2003

NihilCredo posted:

JavaScript (/ˈdʒɑːvəˌskrɪpt/[6]), often abbreviated as JS, is a high-level, dynamic, weakly typed, prototype-based, multi-paradigm, and interpreted programming language.

it's easy to deploy and run on anything, and the language itself has improved immensely over the past few years.

Shaggar
Apr 26, 2006

Blinkz0rz posted:

i know i'm getting shaggared hard but your shtick is getting old. it's extremely unlikely that anything will replace js at any point in the next 10 years and even so whatever does will have to be backwards compatible to support the legacy web.

javascript really isn't that bad a language. it has a whole bunch of warts that can be terrifically frustrating, but the reality is that the majority of complaints you hear are from people who don't learn the language and copy and paste bad code from snackoverflow. yeah no poo poo your js is going to be bad and you'll have a bad time if you can't be bothered to actually understand what's going on.

it is a bad language especially when people start abusing it for extreme dom manipulation (aka modern web ui frameworks). you cannot learn to write good javascript because there is no such thing as good javascript. The only thing you can do that approaches good javascript is to use the least javascript possible.

wrt javascript being replaced within the next 10 years, it wont disappear for sure because there are tons of web "developers" out there who will cling to it, but the rest of us will be able to eliminate it from our lives via stuff like blazor.

Adbot
ADBOT LOVES YOU

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Shaggar posted:

it is a bad language especially when people start abusing it for extreme dom manipulation (aka modern web ui frameworks). you cannot learn to write good javascript because there is no such thing as good javascript. The only thing you can do that approaches good javascript is to use the least javascript possible.

wrt javascript being replaced within the next 10 years, it wont disappear for sure because there are tons of web "developers" out there who will cling to it, but the rest of us will be able to eliminate it from our lives via stuff like blazor.

all i see is old man shouting at web

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply