3 ms·
Saying javascript was designed in a week is incredibly disingenuous. Literally nobody is using the javascript that was designed in a week, in fact the language
by Klathmon 10y ago
Saying javascript was designed in a week is incredibly disingenuous. Literally nobody is using the javascript that was designed in a week, in fact the language that was designed in a week was called mocha. Javascript (in name or in spirit) wasn't even included in the browser until at least a year (and several revisions) after it was written in "a week".
>all these "security features" that were tacked on (like xmlhttprequest, same-origin, "secure cookies" etc etc) are constantly failing and require more and more hacks to keep up appearances.
I don't see those security features or anything like them in any other platform, and that's my point. Regardless of how we got here, the browser is a platform that i feel MOST comfortable executing random code from the internet on because of those restrictions. If i'm going to execute code, the next best alternative is pretty poor. Obviously they aren't perfect, but they are more things that need to fail in order for something bad to happen.
Also, since when is an evolution of a product considered "more and more hacks"?
Is anything that wasn't included in Linux 1.0 a hack?
> Javascript is now effectively the same as a binary blob
I 100% agree that modern JS payloads are basically binary blobs at this point, that's why i compared them to binary blobs... I'm saying that the language (more the "standard library" that js running in the browser has access to) is meant to be run by everyone in a secure and safe manner. That is something that just about no other language/platform is designed to do today. Yes, there are ways you could make something like python for instance safe enough to allow random websites to execute code on your PC, but that is going to be much riskier because the language is not meant to be run that way (not to mention that it won't be even within a few magnitudes as "battle tested" as javascript is).
>Yeah, because the browser today cannot access GPS, camera, microphone, disk... oh wait.
You can't just quote the parts of the sentence you like and ignore the rest. The very next words were "without a single prompt". The browser has those features and more permission-locked (and more recently enabled only for TLS secured pages), just about all desktop platforms don't even have the concept of "access to webcam" permissions, most mobile platforms are pretty on-par in this aspect, but even they don't have restrictions like requiring the user confirm if the app wants to store more than like 10mb of data on the disk in a permanent manner (which all major browsers do).
>In Microsoft land, the browser can even bork your entire system!
And i'm in no way advocating for that... Most of the web community and all browser vendors are moving away from dangerous plugins/extensions like those that were used in the 90's and early 2000's. Bringing up microsoft specific extensions like activex (or even flash!) in a discussion about web development in 2016 is just building yourself a strawman to kick down. That's not web development any more than running a program in x86 real mode is current desktop application programming.
>In so doing, we've perverted what was a wonderful document-oriented system.
That wonderful document-oriented system still works just fine.
I get that you don't like the web, but arguing that it was a mistake is completely missing the point. The language and the platform has evolved since it's inception, and these evolutions aren't mistakes, they are changes made by all major browser vendors as well as multiple standards bodies in an effort to improve it. You may not like that it's changing, but it's no mistake. Javascript is designed to be a sandboxed, quick, programming language regardless of what it's "first inception" was meant to be, and the web is designed to be an application platform regardless of how much you don't want it to be one.
- toyg 10y ago> I don't see those security features or anything like them in any other platform ... except the ones that were built exactly for the purpose of being sandboxed VMs: java applets, flash, mobile apps etc. The browser might have more prompts now simply because Microsoft showed everyone how not to do it with ActiveX, but it was not designed that way. > just about all desktop platforms don't even have the concept of "access to webcam" That's staggering ignorance, sorry. Why do you think you have groups like "cdrom" in Linux? No, sorry, you can try with other arguments (standards, design in the open, whatever), but security really has nothing to do with why JS got where it got or why we use it today. > That's not web development No, that's exactly "web development" as you understand it (i.e. building "apps"), just on previous iterations. What you do today in JS was done yesterday with plugins; but nobody could agree on a single architecture (too many salespeople influencing the process), so the community took it upon itself to standardise on the minimum common denominator (JS) no matter how bad it was -- it was the only thing browser vendors could agree on (and even then, barely). JS managed to jump on the "standard" bandwagon that HTML+CSS spearheaded, and found itself as The Blessed VM. And here we are. > That wonderful document-oriented system still works just fine. No, it goddamn does not, hence the rant. loads of mainstream websites simply do not work without JS anymore, even when they are simply supposed to show me some text. I have to trust umpteen third-party spynalytics websites just to read a couple of football scores. The document-oriented system is dead and buried. We are left with the JS frankenvm. > I get that you don't like the web Read my top comment again -- I love the web, and that's why this involution is hurting me. > these evolutions aren't mistakes No, in most cases they are simply accidents of history like XMLHttpRequest. > the web is designed to be an application platform No, the web has mutated in an application platform. Big difference. In a way, it's another wonderful metaphor for human nature: the evolution of web technology has been as messy, inconsistent and accidental as most human history. There is no rising sun, there is no grand plan: evolution is random and all political or religious systems are equally broken... we simply agree on the minimum set of norms necessary to avoid stabbing each other in the face, and then we call it a masterpiece of divine design that we obviously wanted all along. Screw this, it's 2AM and tomorrow I have to work to pay a mortgage. Have fun, you silly kids.
- Klathmon 10y ago