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

Programming

16999 readers
78 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
[–] popcar2@programming.dev 19 points 1 year ago (5 children)

Web development feels like it's stuck in the early 2000's. I've ranted a lot about it over the years but I just don't know how everyone is okay with it. I'm sure tons of people will disagree.

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.

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.

Javascript has been memed to death so I won't even go there. Typescript is OK I suppose.

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.

The Godot engine is actually a pretty good option for creating GUI apps and it's exactly what I envisioned web dev should've been this past decade. One language, intuitive interface, simple theming and easy rapid development... Shame it never happened.

[–] lysdexic@programming.dev 13 points 1 year ago (1 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 tags.

My websites do not consist of nested divs. Your webpages might just consist of nested divs, but only if you are clueless about what you're doing and are oblivious to basic stuff like accessibility support.

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.

Being unmanageable is the output of the developer team, not the languages they use. Decoupling Presentation from the data and semantics never ceases to make sense. CSS has many issues but the way its integrated with HTML is certainly not one of them.

Frankly, you sound like you blame your tools a lot.

[–] 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?

[–] hearthing@lemmy.world 1 points 1 year ago

Xcode for web dev basically?

[–] hairyballs@programming.dev 1 points 1 year ago

Nope, my webpages are not just nested divs. I use nav, main, form, select, etc to name a few. I actually use very few JS. It's mainly for communication with the server when I need AJAX to retrieve data.

[–] sirdorius@programming.dev -1 points 1 year ago* (last edited 1 year ago)

I think that Godot GUIs are very limited compared to HTML+CSS. It's not a huge problem for videogames since screens sizes aren't going to vary as much as for a web app and you are probably going to make a lot of changes anyway when porting to something like mobile. But it would never work well for proper responsiveness on different screens.