this post was submitted on 01 Sep 2023
254 points (96.4% liked)

Programming

17017 readers
583 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] FooBarrington@lemmy.world 11 points 1 year ago (2 children)

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.

[–] popcar2@programming.dev 2 points 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. 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.

[–] nous@programming.dev 0 points 1 year ago (1 children)

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 1 points 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?