3 ms·
> JavaScript. Brendan Eich implemented the first prototype for JavaScript in 10 days, in May 1995. It shipped in beta in September of that year. I have a bit o
by dgb23 5y ago
> JavaScript. Brendan Eich implemented the first prototype for JavaScript in 10 days, in May 1995. It shipped in beta in September of that year.
I have a bit of a love have relationship with this one. It was inspired by two languages, Self and Scheme, that are both incredibly beautiful, was then made ugly to be familiar and since then introduced major churn and bloat that was never needed.
---
Imagine a world where HTML, CSS and JS were all just a unified language, with sound, simple primitives at the bottom, extensibility (macros, schema...) built-in, and a well designed standard library.
Think of how much more productive developers would be, the possible performance optimizations in browser engines, much simpler tooling, less arbitrary choices, less hacks and workarounds. We would have more time to create useful and beautiful things than solve problems we imposed on us ourselves.
- pphysch 5y agoI blame the various "Internet gold-rushes" for this. Dotcom bubble, Smartphone Globalization, SaaS Dark Ages (we are here). Too much money to be made to do things thoughtfully and sustainably.
- dimgl 5y ago> SaaS Dark Ages (we are here). People actually feel this way? I find web development and entrepreneurship to be as accessible and as fun as ever. So many amazing technologies within reach. I really enjoy web development now more than ever.
- pphysch 5y agoI think there is an obscene amount of intellectual & economic waste happening right now due to rent-seeking SaaS and draconian IP regulation, at least in the West. You know what would be really enjoyable? If there was a dominant culture of interoperability within hardware, social media and information-sharing. What "Web3" should have been about instead of appealing to / being co-opted by wealth-hoarding, destructive ideologies, and other crimes.
- deleted 5y ago[deleted]
- ad404b8a372f2b9 5y agoHave there been any attempts to make such a language? I have a hard time visualizing what it would look like all merged together.
- no_wizard 5y agoI think the closest I've ever seen is Dart's Flutter and Jetbrain's new Compose UI[0] [0]: https://github.com/JetBrains/compose-jb/blob/master/tutorials/Web/Style_Dsl/README.md https://github.com/JetBrains/compose-jb/blob/master/tutorial...
- kragen 5y agoTeX, though it's not interactive, has "HTML" (document structure), "CSS" (visual presentation), macros, and a standard library, though some people may disagree as to how well-designed it is. Nowadays most people use Lamport's LaTeX standard library rather than Knuth's "plain TeX" standard library, in part because it affords better separation of structure and presentation — journals routinely publish LaTeX stylesheets.
- xigoi 5y agohttps://imba.io/ https://imba.io/
- abecedarius 5y agoOne was a proprietary language from MIT Lisp people in the dotcom bubble era, called Curl.
- krapp 5y ago>was then made ugly to be familiar and since then introduced major churn and bloat that was never needed. Javascript development used to be simple, elegant and fun, back in the days of JQuery plugins when all you needed was a text editor and an FTP account. All of this churn and bloat isn't the fault of the language, it's the fault of Node.js and the commodification of Javascript by enterprise and startups wanting to force the language to be something it was never meant to be, because Javascript developers are a dime a dozen. >Imagine a world where HTML, CSS and JS were all just a unified language, with sound, simple primitives at the bottom, extensibility (macros, schema...) built-in, and a well designed standard library. That's the world we live in now. A lot of the bloat of modern javascript comes from generating HTML and CSS dynamically, rather than having them be static as intended. That separation of concerns is there for a reason, and the simplicity of that model is what makes the web so hackable. It's easy to drop a script into a page or a new CSS file. Hotpatching a running application not so much. Degradation is easier when things are separate as well. An HTML page should work without CSS or JS. Having everything be a single, executable language means even simple hypertext documents can fail to render because of errors. Which i know seems like a great idea to developers, but there's a good reason XHTML, which had the same "feature", never took off. People would much rather have error correction even at the cost of greater complexity because it's more important that the web work than that it look pretty doing so. >Think of how much more productive developers would be, the possible performance optimizations in browser engines, much simpler tooling, less arbitrary choices, less hacks and workarounds. That's not what would happen. Think of the worst, ugliest, most sprawling spaghetti codebase you've ever seen. Everything would look like that. Everything.
- dgb23 5y agoThe bloat mainly comes from the fact that HTML/JS/CSS are not extensible or only to a primitive degree. I don't care about what was intended or not, the point is that the model fails since almost two decades. The separation of concerns doesn't hold and is failing us all the time, HTML is not just information structure, it is also interactivity and layout. CSS is rigid, complex and inexpressive. One often has to at least generate it and sometimes manipulate the DOM via JS to build even simple visual constraints and relations. Why do the specs of the languages keep growing? Some of it is what you said about programming culture, but the more fundamental problem is that we're dealing with an entirely inappropriate, inextensible model that we keep on patching. > That's not what would happen. Think of the worst, ugliest, most sprawling spaghetti codebase you've ever seen. > Everything would look like that. Everything. That's exactly what we have now pretty much everywhere, but with extra layers, workarounds and patches on top. It's not good! Don't get me wrong though. I love the web - and all of this is hindsight. The above is maybe just wishful thinking and fantasy.
- woojoo666 5y agoIn the beginning websites were simple enough (and also light on resources) that static layouts and styling were more than enough. In those regards, a simple syntax like HTML and CSS worked well. Just like how we still use JSON/YAML/TOML for configuration files, instead of reaching for the nearest turing complete language. However it's only in the past 10-15 years that complexity has really started to grow on the frontend, making it more and more enticing to have conventional programming language constructions (conditionals, functions, loops) in the layout and the styling.