5 ms·
The point of the article seems to be that HTML is done because it's "basically OK", and everything around it is done because it's awful and can't be salvaged an
by Udo 11y ago
The point of the article seems to be that HTML is done because it's "basically OK", and everything around it is done because it's awful and can't be salvaged anyway. I hope the next logical step implied here after this is NOT going back to native applications for everything.
The browser-as-a-platform is based on a lousy programming
language addressing a lousy object model and using a lousy
stylesheet language for visuals.
I think JavaScript is a suboptimal programming language because it has too many features, and on top of that they tacked on yet more features recently. I wouldn't call CSS lousy either, and the API of the DOM even got better over the years.
We almost never phase anything out, and that's a problem, but I think the core issue causing suckage within the 3 pillars (4 if you count the DOM separately) is that they have been explicitly designed to not work together very well. While you can - and often are forced to - extend CSS and HTML with JavaScript, they didn't make the interplay between them especially synergistic.
As for
HTML? Not perfect, but plenty good enough.
no, I don't think so, especially if we're discarding JS and CSS as garbage, HTML does not deserve to get a free pass.
Even if we wanted to improve it, there are no obvious candidates to do the work.
I don't get why we're all of a sudden in an arbitrarily constructed situation where the whole web platform can never be iterated on again. Ever. But if the point is that whatever comes next probably won't come out of a committee that sounds about right.
I agree that some of the frameworks mentioned exist to work around the issues we created in the browser platform. Especially the functionality of React should be considered for an adoption scenario, maybe not the exact React API, but something along those lines that makes working on (or at least applying) diffs easier. The same goes for handlebars-like templating. I would rather see some of these adopted than the effort that goes into giving classes to JavaScript.
- deleted 11y ago[deleted]
- vezzy-fnord 11y agoI hope the next logical step implied here after this is NOT going back to native applications for everything. Out of curiosity, why? I always thought the model of static documents was a conceptual fit for the web, thinking of it as a file server. The move towards SPAs and real-time apps is really showing the browser's inner-platform effect, and the rough edges of the APIs thereof. Since we are using techniques to create a full parallel OS runtime inside the browser, I wouldn't be surprised if a surge of interest from web developers emerged into simply using the host OS again. By and large I believe the ideal of the browser as being the universal WORA platform to be largely bunk, in that cross-browser compatibility has always been grueling, with the reliance on polyfills and all sorts of ECMAScript and browser API incompatibilities persisting to the point where entire tables and guides are being drawn about them. In hindsight this should have been unsurprising. Just like the Unixes diverge, so do the browsers.
- bobajeff 11y agoUnless there is a vendor neutral standard for applications you get into the situation where only a few vendors get massive power dictate to everyone (users, developers, manufacturers) the terms in which they get access to the platform. Now the web isn't perfect but it's the closest thing to a commercially successful vendor neutral software platform in existence.
- vezzy-fnord 11y agoThe vendor neutral standard for Unix-likes is POSIX, and by some extension Windows to the degree it has compatibility, or that it can be bolted on to via Cygwin or whatnot. Windows itself is a proprietary platform, but it has no central software repository, so developers distribute their software through all sorts of means. Market share means influence on OEMs is exherted, but is it not also the case that if, e.g. Chrome, becomes a dominant browser that they do not exhibit de facto diktat over many aspects of the web? Android's central platform is Google Play, but you are under no obligation to use it. You may opt for F-Droid or fetching lone APKs. It seems to me the only platform where central curation is so ingrained that alternatives become impractical, is iOS. Not to mention the web, despite being ostensibly vendor neutral, comes with a big problem of its own. Now every single page you interact with, no matter how primitive, is behind the scenes potentially a distributed, unobservable, multi-tier networked application with who knows how many layers of caching proxies, CDNs, ad trackers, analytics, data processing pipelines, etc. etc. with no way of knowing what's changing.
- meddlepal 11y agoAnother problem with the web is that every application has a massively different look and feel. I'm not just talking colors here, but some forms validate inputs as they are put it and others don't respond until you hit submit. Etc. There is no common UX for the web and IMO that sucks.
- copperx 11y agoI think you are mistaken -- the web is more consistent that, say, the Windows GUI ever was. Yes, there are small quirks like the one that you describe, but in general, most users don't need to learn how to use a webpage. Have you ever seen a novice wrestle with a native GUI? It's horrific.
- modarts 11y ago>I think JavaScript is a suboptimal programming language because it has too many features, and on top of that they tacked on yet more features recently. I wouldn't call CSS lousy either, and the API of the DOM even got better over the years. Huh? What were the overwhelming number of language JS had pre-es6? It was actually a sparse language that led to the need for a lot of libraries for you to have a chance at being productive.
- tormeh 11y ago>But if the point is that whatever comes next probably won't come out of a committee that sounds about right. The alternative seems to be some kind of unilateral action, and I have yet to see that working for the web. The reality of the matter is that Microsoft, Mozilla, Google and Apple all need to agree on whatever happens next. That's a committee.
- Udo 11y agoGood things came out of unilateral action: XmlHttpRequest, innerHTML, document.write, asm.js, WebRTC, JavaScript itself...
- coldtea 11y agoI wouldn't put "document.write" in there. But also: Canvas, CSS 3D, etc.
- Udo 11y ago> I wouldn't put "document.write" in there. innerHTML isn't awesome either, but that's from today's point of view. It's good that we moved on, even though at the time it was important they existed.
- iopq 11y agothis is what makes a fast browser hard to write - scripts can mess up your document so in fact browsers kind of assume nobody is crazy enough to do document.write and then when it gets called they redo all the work rendering the page
- coldtea 11y agoObviously that train has left the station ages ago. We now have dynamic documents were scripts are MEANT to mess with the page constantly, and even create it's contents from scratch in some cases.
- nly 11y ago> We almost never phase anything out, and that's a problem Is it though? HTML etc started as a way to publish and link documents. Phasing shit out makes old documents less accessible. Nobody is going to install a creaky old insecure copy of Netscape Navigator to go visit perfectly good HTML documents authored in 1996
- coldtea 11y ago>I think JavaScript is a suboptimal programming language because it has too many features, and on top of that they tacked on yet more features recently. No, that's not what makes a programming language "suboptimal". (In fact following this logic to the inverse would make something like Brainfuck the optimal language). It's not the number of features that makes a language problematic (of which Javascript, even ES7, doesn't have more than Python or Ruby do, and those are considered quite OK languages). It's suitability to the task (e.g. you wouldn't want to use Fortran for text processing), how well the features play together (you don't want conflicting behaviors and edge cases a la C++), expressibility, aesthetics, coherence (and of course, tooling, speed, ubiquitness, etc). >I wouldn't call CSS lousy either But CSS is lousy. It was overdesigned in parts nobody cares about, underdesigned where it would matter, an ad-hoc model for styling, and even mis-named, as it not only styles, it also layouts. And in that area it has been horrible, failing for decades to provide the most basic blocks to build layouts, and having people use hacks like "floats" to do so.
- Udo 11y ago> (In fact following this logic to the inverse would make something like Brainfuck the optimal language). You can reduce any argument to an absurd extreme. It's fair and fine to disagree with every single opinion I express, but I don't recognize your impression of that particular point as something I wrote. My point was, and I'm sorry if I failed to get this across, that in my opinion there are bad parts in JS which could have been stripped away, making it better for an admittedly arbitrary as-defined-by-Udo's-mood-today value of "better". Every single thing about this discussion, including the original article, is a matter of opinion. I agree with much of what you said about CSS and the need for a language to fit a purpose, and I don't want you to get the impression that I'm trying to say everything about HTML/CSS/JS is awesome.
- coldtea 11y ago>You can reduce any argument to an absurd extreme. It's fair and fine to disagree with every single opinion I express, but I don't recognize your impression of that particular point as something I wrote. You're right on this. On my end though, I accept the other extreme of what I said: a language can have the most features any other language has times two, and still be great. That is, number of features is not really relevant as to whether a language is good or not. People seem to think for example "oh, adding this and that would make Java too complicated and too hard to learn etc". At the same time nobody complaints against C# who has twice the number of features or even more. In fact most people find programming in C# is a joy compared to Java.
- dendory 11y agoTrying to do proper positioning with DIVs is proof enough that CSS has.. issues.