With a web browser, a DOM, and Javascript, where do you see this all heading that's full of truth and beauty?
Where does the churn end if it's not pointless?
Cause you've got a web browser that was designed to view pages of linked information that has now been pressed into service as a ad-hoc run-time for building applications, a DOM that is so poorly implemented that most everyone tries to abstract it away at some point, and a language that is universally regarded as one of the worst ever.
Is that what you build on for the future? Cause then I do see it being pointless tech churn because your fundamental building blocks are too seriously flawed.
If the future is programs that people can download and run on their computer on demand you'll need a good run-time, language agnostic, compiles to binary, sandboxed, with a well defined UI system not based on document display. There's no web-browser, DOM, or Javascript in sight.
If you had such a thing this thread of conversations wouldn't even be happening. I sincerely hope that someone smarter than me comes up with that (yes, Java was a close but no cigar) and we gravitate away from the morass we have now.
I'm not sure putting down JavaScript, web browsers, and the DOM, and saying the ideal future is completely free of apps built on this platform, is technically being "productive" in a conversation ABOUT those things, but setting that aside:
The web app platform represents one of the largest, if not literally THE largest, explosions of programming and application development ever seen in the history of humankind. It also represents one of the most open and portable computing environments ever developed. It incubated a revolutionary and indispensable app for indexing, searching, and retrieving an unprecedented staggering corpus of human knowledge (Google.com); apps that have enabled hundreds of millions of people to effortlessly publish their writing, videos, pictures, etc globally and instantly (Twitter, YouTube, WordPress, Blogger, etc etc); apps that make it trivial to find most of the people you have ever known and to collapse time and space to communicate with them (Facebook, Gmail, etc etc); apps that enable you to select virtually any product imaginable and have it delivered, usually within 24 hours if needed (Amazon, Ebay, etc etc); not to mention probably millions of other more obscure apps to handle amazingly specific mundanities of office life, travel, entertainment, citizenship, finance, etc etc etc.
To look at all this and land on the conclusion that JavaScript and the web stack are fucked up‚— "a language that is universally regarded as one of the worst ever" — period, full stop, EOM, throw them out — seems aggressively contemptuous and beside the point.
It's sort of like looking at a raging party filled with some of the most interesting people you've known and some of the most interesting people you've ever heard of and complaining about the type of speakers being used to play the music.
I can't speak for the OP but I think that's roughly what they were getting at.
(Also, side note, Tim Berners Lee may perhaps have conceived the web as a place for documents, but he also seems to have since then embraced it as an application platform, not that his opinion or original vision should in any way confine what the web becomes. http://venturebeat.com/2013/03/09/tim-berners-lee-sxsw/ )
I wish I would upvote you 100 times. I've been a web developer over 20 years now. This attitude, that the web is unsuitable for applications, was understandable 15 years ago at the birth of web apps, but it doesn't make any sense today.
People need to realize there's never been a platform like the web in terms of portability and accessibility. Comparing the web to GUI toolkits is like saying that comparing Linux desktops to Mac OS X—Linux environments can never have the polish of OS X because Apple controls the entire stack. Similarly, a GUI toolkit can only be as cross-platform as the vendor makes (which is historically pretty terrible for all cross-platform GUI toolkits). The web is not only a standard, but a standard whose implementation is the price of entry for all new devices.
Furthermore, everyone complaining about the web's shortcomings doesn't have the whole picture—in fact the most difficult thing about a standard of this size is that no single individual or organization has the whole picture of what the standard supports. Sure the web was designed for simple documents and evolved into something for which it was never intended, why is this a bad thing? The fact is that you can never replace the web because A) there is no human power great enough to force adoption, it can only happen by serendipity (just like the web) and B) by the time you were done you would have a whole different set of warts that everyone would complain about. People would do well to remember Gall's Law before condemning web-as-app-platform.
> I'm not sure putting down JavaScript, web browsers, and the DOM, and saying the ideal future is completely free of apps built on this platform, is technically being "productive" in a conversation ABOUT those things
Would everyone is discussing the high quality of the Emperor's new clothes, is it productive to point out that he is, in fact, naked as a jaybird?
At some point we have to face up to the simple truth that JavaScript, the DOM, XML and HTML-as-she-is-written are bad. The people who assembled them over time aren't evil, or even generally incompetent: there are historical reasons for almost all of the cruft. But that doesn't mean that it's not horribly, horribly crufty, that is is objectively bad and in poor taste.
> The web app platform represents one of the largest, if not literally THE largest, explosions of programming and application development ever seen in the history of humankind.
That's the logical fallacy known as argumentum ad populum, i.e. arguing that because something is popular is is correct.
> To look at all this and land on the conclusion that JavaScript and the web stack are fucked up‚— "a language that is universally regarded as one of the worst ever" — period, full stop, EOM, throw them out — seems aggressively contemptuous and beside the point.
It is aggressively contemptuous because the current web stack deserves contempt. That is the point.
> It's sort of like looking at a raging party filled with some of the most interesting people you've known and some of the most interesting people you've ever heard of and complaining about the type of speakers being used to play the music.
No, it's more like complaining that each of the interesting people is wearing a blindfold, earmuffs & a gag, with a hobble to prevent him from getting within arm's reach of anyone else and can communicate only by reaching out with a stick or probe and tapping out Morse code messages on other's arms. Sure, all those impressive people are doing a bang-up job of overcoming the absurd limitations of the insane party, but that doesn't make the party one bit less insane.
Wanna back up that beautiful rhetoric with some actual objective reasoning as to why; HTMl, Javascript, the DOM are "bad" and some ideas on the way forward?
It is "objectively" "bad" because if you bring javascript up in certain social circles involving programmers everyone huffs and puffs. I've heard people time after time who've never stepped foot out of a Java IDE complain about how hard it was for them to write something "simple" and "basic" in javascript. Not to claim that there is any real veracity in the wisdom of the crowd, but there are hundreds of thousands of programmers writing working, functional, useful apps in javascript every damn day. People can say that fact is DESPITE the language features but these people ignore that if you want to actually reach customers you have to use the most popular runtime of all time - the browser.
Being unable to have a conversation about the ecosystem because the language isn't to your liking or preferences speaks to me of a closed-off mindset, which as everyone knows is a great trait for programmers to have /s.
Monty Python explains the foundation of frontend web development better than anyone.
"When I first came here, this was all swamp. Everyone said I was daft to build a castle on a swamp, but I built in all the same, just to show them. It sank into the swamp. So I built a second one. That sank into the swamp. So I built a third. That burned down, fell over, then sank into the swamp. But the fourth one stayed up. And that's what you're going to get, Lad, the strongest castle in all of England."
> With a web browser, a DOM, and Javascript, where do you see this all heading that's full of truth and beauty?
Well, WebAssembly is on the way, so you won't have to use JavaScript. WebGL means you could, I guess, skip over the DOM entirely if you wanted to. None of this is fantastic, of course, but it's where we are.
Programs that people can download on demand existed, and still exist, yet the web is more popular. It's cross-platform, you don't have to install anything, updates are instant. What cross-platform UI are you going to use to address Windows, Mac, iOS and Android together?
To put it more succinctly, the "truth and beauty" for me is that it works, and it works today. I'm far happier iterating on that than noodling around imagining the perfect code execution environment that, as far as I can see, has no hope of existing any time soon.
> Cause you've got a web browser that was designed to view pages of linked information that has now been pressed into service as a ad-hoc run-time for building applications
At this point, this is argument is 100% false. Browsers of today aren't the browsers of the 90s. Chrome came out in 2008 and has ALWAYS been designed to run applications, and an entire operating (ChromeOS) is based on the idea that the browser isn't just a system built for viewing linked documents, but a valid application platform.
That would actually be a very awful future. I like a linked web full of text. Flashy this and flashy that and app for this and app for that is all blah. Most things don't actually need to be apps.
The "fundamental building blocks are too flawed" argument is so strange to me. Too flawed for what? To become, by far, the most popular platform in history for running applications? Because it's already done that.
This is a case of the evidence not fitting the theory well, so people complain about the evidence. If the browser/DOM/HTML/JS ecosystem "technically" is terrible, but in practice dominates the competition, then there is something about it that is better. This is not a fallacy, but a simple supply and demand argument.
> If the future is programs that people can download and run on their computer on demand you'll need a good run-time, language agnostic, compiles to binary, sandboxed, with a well defined UI system not based on document display. There's no web-browser, DOM, or Javascript in sight.
Okay, I'll bite.
With a web browser, a DOM, and Javascript, where do you see this all heading that's full of truth and beauty?
Where does the churn end if it's not pointless?
Cause you've got a web browser that was designed to view pages of linked information that has now been pressed into service as a ad-hoc run-time for building applications, a DOM that is so poorly implemented that most everyone tries to abstract it away at some point, and a language that is universally regarded as one of the worst ever.
Is that what you build on for the future? Cause then I do see it being pointless tech churn because your fundamental building blocks are too seriously flawed.
If the future is programs that people can download and run on their computer on demand you'll need a good run-time, language agnostic, compiles to binary, sandboxed, with a well defined UI system not based on document display. There's no web-browser, DOM, or Javascript in sight.
If you had such a thing this thread of conversations wouldn't even be happening. I sincerely hope that someone smarter than me comes up with that (yes, Java was a close but no cigar) and we gravitate away from the morass we have now.