• FooBarrington@lemmy.world
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    1 year ago

    HTML is bad. The language itself feels unintuitive and is clunky compared to modern markdown languages, and let’s be honest, your webpage just consists of nested <div> tags.

    Yet Markdown languages are far, far more limited in both scope and functionality than HTML is. How do you bridge this gap without making it just as complex?

    CSS is bad. Who knew styling can be so unintuitive and unmanageable? Maybe it made sense 25 years ago, but now it’s just terrible. It’s very clunkily integrated with HTML too in my opinion. Styling and markdown should be one easier to use language where 50% of it isn’t deprecated.

    They didn’t start by writing a spec with half of it deprecated already. They started with something, and over time kept developing it - and deprecating other parts. No matter what you propose, unless it’s 100% absolutely perfect (and nothing ever is) you’ll end up in the same situation. The only other choice would be to break backwards compatibility, which is obviously not a good thing to do.

    And now for my hottest take: ~10+ years ago I saw web building tools like Wix and I completely expected web development to head in the direction using a GUI to create, style, and script from one interface, even allowing you to create and see dynamic content instantly. I’ve seen competitors and waited for “the big one” that’s actually free and open source and good enough to be used professionally. It never happened. Web dev has just gone backwards and stuck in its old ways, now it’s a bloated mess that takes way more time than it deserves.

    People say the same about no-code frameworks. There’s a good reason that stuff doesn’t work beyond the absolute basics. If it was really possible, HTML+CSS+JS give you all the necessary tools to build it. You won’t get there with a more limited system.</div>

    • popcar2@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Yet Markdown languages are far, far more limited in both scope and functionality than HTML is. How do you bridge this gap without making it just as complex?

      That’s a really big topic but in general I’d combine theming and markup to one language (not necessarily coupling CSS and HTML in one file but having something that does both with similar syntax and rules), make things simpler so there’s one clear way of doing something rather than using a generic container for everything, etc.

      No matter what you propose, unless it’s 100% absolutely perfect (and nothing ever is) you’ll end up in the same situation.

      Obviously deprecating a few things will happen over time but the reason web dev is how it is now is because technology used to be a lot more limited and websites were a lot simpler. 25 years ago, nobody knew what the “modern web” would look like so it was made up as people went along. We know what specifications we would need now if anybody went back and re-did them, I think you’d end up with something better.

      People say the same about no-code frameworks. There’s a good reason that stuff doesn’t work beyond the absolute basics.

      I don’t think they’re comparable. You won’t use a GUI and drag-and-drop for everything obviously, you’d still be able to add sections with code.

      The fact that Wordpress powers almost half the internet is proof that a simpler web dev experience like this is in demand and it can work. Most websites don’t need something complex, just something that supports rapid development and is intuitive, and doesn’t make it easy to fall into bad practices. Like I said, it’s a hot take, but I would prefer it so much this way.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        1 year ago

        That’s a really big topic but in general I’d combine theming and markup to one language (not necessarily coupling CSS and HTML in one file but having something that does both with similar syntax and rules), make things simpler so there’s one clear way of doing something rather than using a generic container for everything, etc.

        You’d have to show an example of such a language, it’s difficult for me to imagine a good combination between styles and markup - it’s good that they are as separate as they are, intertwining them makes the web less useful.

        Obviously deprecating a few things will happen over time but the reason web dev is how it is now is because technology used to be a lot more limited and websites were a lot simpler. 25 years ago, nobody knew what the “modern web” would look like so it was made up as people went along. We know what specifications we would need now if anybody went back and re-did them, I think you’d end up with something better.

        We know the specifications we need for current development and applications. If we were to “reset” and build new specifications now, how do you know they won’t be just as useless in 25 years?

        I don’t think they’re comparable. You won’t use a GUI and drag-and-drop for everything obviously, you’d still be able to add sections with code. The fact that Wordpress powers almost half the internet is proof that a simpler web dev experience like this is in demand and it can work. Most websites don’t need something complex, just something that supports rapid development and is intuitive, and doesn’t make it easy to fall into bad practices. Like I said, it’s a hot take, but I would prefer it so much this way.

        Why do you think such a tool doesn’t exist as of now? The platform definitely enables you to build it if it’s possible - and a less capable platform will not make it easier to enable such a thing.

    • nous@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      The only other choice would be to break backwards compatibility, which is obviously not a good thing to do.

      There are other options. A version on html/css/js would be good IMO. Then you can remove things you should not use in newer versions or make other breaking changes and better evolve the standard. Yes the browsers need to implement and understand each version. Much like how rust works with its editions.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        This increases complexity a lot, since you don’t just have to implement compatibility with the editions etc., but also have to properly test a giant amount of cases against all of them. What is the advantage compared to marking things as deprecated?