Comment Go a step further to better free&open standard (Score 1) 62
I know there is an XKCD about standards (and adding yet one more to create yet more confusion).
"Standards"
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fxkcd.com%2F927%2F
But that said, HTML, CSS, and JavaScript are all terrible standards in many ways because of their complexity (and major design flaws like JavaScript having vastly too many global variables). Asa an alternative, what if, say, we all just used something like Scheme (or Common Lisp) to encode web documents and web code as S-expressions in some semantically standardized formats? Scheme can be very compact in its implementation.
Or as the XKCD mentioned here says:
"Lessons learned from implementing minimal Scheme six times"
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Ftwolodzko.github.io%2Fpo...
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fxkcd.com%2F297%2F
"Lisp cycles XKCD #297: âoeThose are your fatherâ(TM)s parentheses. Elegant weapons for a more⦠civilized age.â"
Now, it doesn't have to be Lisp-like.I get the paren hate:
"What makes Lisp difficult to read?"
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Flisp%2F...
And there is a lot to be said for significant-indentation languages like Occam or Python. Smalltalk is another great language. Or even some variant of a safe C.
Even a Forth-derivative perhaps that could be literally less than ~2K in size at the core. Although I get that there is a fine line between flexible and flabby in readability in a language that can change its own fundamental syntax or that makes naming intermediate variables unlikely as a form of documentation. Same with any language that supports arbitrary macros like C or Scheme which can change the fundamental nature of the language. Although at least in, say, Racket Scheme you see the language level set at the start of some code to know what you are getting into.
The main point is just that yet another adhoc problematical language like JavaScript was not needed (even as TypeScript papers over the worst warts). And CSS conceptually is broken for big projects ("Atomic" CSS is one style to help with that). And adding end tags with names in HTML (like XML) is another broken concept as are other aspects of HTML. Yes, programmers can work around and manage the issue in these web fundamentals, but why should we have to?
While a simpler browser for HTML etc is a good thing if it really is well written, better standards for encoding and sharing information will ultimately get us further and be more energy efficient and be more reliable and be more programmer-friendly.
I've long been a fan of triples for doing some of that data encoding, but that is even further out.
Tangentially, here is a Libre Plane 2021 talk I put together on free standards for social media being more important than free implementations:
"Free/Libre Standards for Social Media and other Communications"
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fpdfernhout.net%2Flibrepl...
I know this all may sound pie in the sky (and it is, given current social dynamics), but consider if we used the usual buggy lot-of-library junky (and now AI slop) code only with an intent to translate web content encoded in problematical standards into content encoded in better simpler standards for other code to consume. Sort of like Amazon did at one point with a server-side engine to process HTML pages and transform them for low-end Kindle browsers -- but in this case converting HTML plus CSS plus JavaScript into something like, say, S-expressions for web content that was not yet written directly n the simpler standards. Maybe the junky translator code might not be perfect, but it might be good enough and runnable in distant containers so that the local code that processed the simpler standards could be more secure and reliable.
Also related: "Simple Made Easy"
https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fwww.infoq.com%2Fpresenta...
"Rich Hickey emphasizes simplicityâ(TM)s virtues over easinessâ(TM), showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
Ideally a group like the US National Institute of Standards and Technology or the US Library of Congress should fund this sort of work. And a group like Archive.org should have a lot of input to those standards on how to make the content simply versionable and simply archivable.
Anyway, just something I have been musing on and off again for many years...