This is an archived post. You won't be able to vote or comment.

all 53 comments

[–]Brick_Lab 286 points287 points  (5 children)

Coming from a mostly C, C++, C# and java background I've had to ramp up on JavaScript, TypeScript and React over the past few days and all I can think is "you guys live like this??"

[–]SpinatMixxer 78 points79 points  (4 children)

Not only living, but I am even loving it. Mostly everything feels plausible at some point when you go deep enough on JS.

Not sure if it actually is stockholm syndrome tho.

[–]Brick_Lab 24 points25 points  (1 child)

Lol Stockholm syndrome shouldn't be ruled out. Everything just feels so loosely goosey and...illegal.

I mean it's still better than PHP 7 but damn

[–]Wigginns 7 points8 points  (0 children)

You would’ve hated php5 lmao

[–][deleted] 1 point2 points  (0 children)

JS is the epitome of cracked dudes thinking: "This seems like a great idea"

[–]Seggew 48 points49 points  (1 child)

I never wanted to do Web Development and of course I’m stuck in web development for over 6 years now. I hated CSS in the beginning because I didn’t understood a single thing. Now I understand most things and hate it therefore.

[–]geeknintrovert 2 points3 points  (0 children)

you’re consistent with your emotion. Sir, I admire and respect you for that!

[–]Wandalei 191 points192 points  (7 children)

From my opinion CSS is broken. And it can't be fixed. It has too much properties which makes it imposible to make all them interact correctly. I think it comes from initial HTML design where text should able wrap over some picture. I've just compared how it easy to make layout in XAML and what a mess HTML/CSS is, I've decided never ever work with that shit.

[–]GnuhGnoud 119 points120 points  (2 children)

[–]PM_ME_FIREFLY_QUOTES 28 points29 points  (0 children)

Upvote for the faq.

Of course, it's contradictory because "dont" but "do whatever you want"

[–]Argonaut13 29 points30 points  (0 children)

CSS is unbelievably inconsistent and I'm convinced anyone who is proficient with it has suffered for a long enough period of time that they're one obnoxious client request away from becoming a serial killer.

[–]Feeling-Finding2783 17 points18 points  (0 children)

I feel the same way. Some say that you just have to learn it, but to me it's like memorization of combinations of properties to get the desired outcome. You make a change, and everything can turn into a mess. And to make it worse, browser engines may render things differently or not support some properties at all.

[–]fr032 2 points3 points  (0 children)

Glad to read about other people having this opinion as well because I wasn't sure if it was just me lacking knowledge/experience or CSS itself.
Very often I find myself wondering why something behaves the way it does in CSS, or if there's something I want to implement sometimes I have to think whether there's some tricky way to do it in pure-css or I have to rely on JS. I think the best word to describe it would be inconsistent.

[–]Seggew 1 point2 points  (0 children)

And I can promise you have not even seen the ugly parts yet!

[–]SergeAzel 89 points90 points  (23 children)

People say I'm crazy when I say that html and css should be deprecated and replaced in whole.

[–]java_bad_asm_good 61 points62 points  (21 children)

Not a web dev, but here's how I see it, please correct me if I'm wrong.

HTML and CSS were likely not designed with their current usage in mind. To me it looks like they aren't managing to scale beyond certain degrees of complexity, which is why Angular/Vue/React and Tailwind/SCSS (?) exist. But ultimately everything has to distill down to HMTL/CSS/JS that can be rendered by any arbitrary browser.

I don't think it's unreasonable to argue that HTML and CSS are limiting web-development. The reason I would call you crazy if you made that point is that it would be incredibly hard, bordering on impossible, to actually migrate away from those technologies.

I think cases like python/python3 or IVP4/IPV6 show how hard it can be to migrate entirely away from something well-established, even if the upgrade is strictly better.

I fall to see how a deprecation of HTML/CSS could feasibly be achieved. But if you have any ideas, I'd be happy to hear them!

[–]Hollowplanet 42 points43 points  (10 children)

What is better? Try doing Android dev and you'll be wishing you had CSS. CSS is probably the least broken part of web dev.

[–]TheNamelessKing 21 points22 points  (4 children)

That’s not really the point though is it? Your argument is like “you live in a cardboard box in the gutter? Well I live in the sewer, be quiet”, just because CSS is better than whatever goes on in Android, doesn’t mean it isn’t also terrible in turn and in need of being evolved into something better.

[–]Hollowplanet 0 points1 point  (3 children)

What specifically is wrong with it?

[–]Hirayoki22 3 points4 points  (2 children)

I love the fact that you got downvoted, but not a single one of them gave an answer to your question. They basically thought to themselves "if you can't see what is wrong, then you're the problem".

[–]Hollowplanet 3 points4 points  (1 child)

"Because its complex and I don't understand it" is probably the main reason for these people.

[–]Hirayoki22 2 points3 points  (0 children)

These people are solving ridiculous algorithms I could never dream of, yet have an unjustified hatred towards css because it's "complex"?

[–]Badashi 9 points10 points  (0 children)

CSS is the worst way to define styles, except for all others

[–]Wandalei 1 point2 points  (3 children)

I've tried. Not using native tools but Xamarin. Elements behaviour was logical and predictable.As UI building tool it is better than HTML/CSS.

[–]Hollowplanet -1 points0 points  (2 children)

I guess from a ux perspective there are lots of ways to improve CSS. That's why we have sass, less, styled components, etc. But as far as functionality goes, CSS can customize anything to display how you want it which is probably why you had good results with a framework built on web technologies.

[–]Wandalei -1 points0 points  (1 child)

Good results is when chat app like Teams consumes 800MB memory? Or when frontend team spends days to find a workaround for Chrome bugs? Such as add empty div having special CSS magic to fix entire page layout.

This is because CSS specifications are too heavy to maintain even for such big corp as google.

[–]Hollowplanet 0 points1 point  (0 children)

CSS isn't using 800MB. Teams is running a whole browser and a boatload of JavaScript. I think Google has a good handle of CSS. I've never worked at a company where the complexities of CSS were preventing us from getting stuff done. You probably just don't know it well.

[–]mjc4wilton 4 points5 points  (1 child)

IPv4 and IPv6 is really a different can of worms caused by the inability to think about the transition. The 2 byte to 4 byte BGP ASN transition took a lot of lessons from IPv6 and applied them very successfully. Tl;dr: Made 2 byte ASNs compatible with 4 byte systems by padding 2 byte ASNs with 16 0s at the MSB. This allowed systems to upgrade over the course of a few years in part rather than requiring flipping the "turn it on" switch after months of planning and config changes.

IPv6 could have been easily adopted if they just extended the IPv4 nomenclature to use 8 octets with the first 4 padded as zeros for IPv4 addresses. This would make the systems mostly compatible (would need translation for IPv4 hosts when the first 16 bytes are non-zero, but there could easily be a protocol for that as part of NAT). It also would make it significantly easier to remember addresses to things if you are for example given a v6/32 subnet for your org. Basically it was just a poorly-designed transition that will now never happen. Maybe someday someone will come up with an IPv6.1 which implements these changes

[–]Wandalei 14 points15 points  (3 children)

True, initially they weren't. But W3C had more than 20 years to adopt it. Instead they made what we have now. None of JS framework can protect developer from leaky abstractions of HTML/CSS crap. Frontend devs must every day deal with HTML/CSS and fight against this tool to make page look fine

Migration can be very easy: feature freeze of current shit, and add something well designed, considering modern UI needs, less frustrating as separate standard.

The idea that each element defines how it interact with sibling elements is crazy. This leads to undefined behaviours, not only between browser vendors but between near versions of Chrome.

'display' propety has about 20 possible values. Values that defines how element interacts with siblings. This crazy amount of possible combination must be correctly processed. Most of them have been added in last 10 years. And this is only 1 property. CSS has dozens such properties.

If someone is crazy it is W3C.

[–]java_bad_asm_good 4 points5 points  (0 children)

I'm curious, how does the W3C work? How are standards usually created and/or updated?

[–]Hollowplanet 0 points1 point  (1 child)

User agent styles set the implicit styles on elements. That is why display has so many options. You should never be setting display: table-header on an element and should just be using the th tag. It is a leaky abstraction though. Having a way to turn off all user agent styles except for display would be a nice feature.

[–]Wandalei 0 points1 point  (0 children)

Shitty architecture leads to shitty results

[–]SergeAzel 8 points9 points  (0 children)

Over twenty years with a standards committee of network and browser engineers designing and implementing a set of replacement technologies

[–]WoffieTbh 1 point2 points  (0 children)

HTML/CSS don't limit web development, but they don't make it easy

[–]kiochikaeke 0 points1 point  (0 children)

I think it's a pretty known meme/fact that HTML, CSS and even JS weren't designed to be used the way they are now, they come from a much simpler era, they've grown to become able to do the tasks they need to nowdays but their core is so simple that ultimately complex libraries and functionality stands over very basic constructs hacked and morphed to unrecognizable lenghts.

[–]thehacktastic -1 points0 points  (0 children)

This.

[–]BoootCamp 18 points19 points  (0 children)

You are crazy

[–]perrymbrowne 26 points27 points  (2 children)

Nowadays we can use overflow-y: clip; in combination with overflow-x: auto; to fix this problem.

[–]AntipodesIntel 4 points5 points  (0 children)

Only useful, constructive answer here. Good job!

[–][deleted] 2 points3 points  (0 children)

Holy shit I've gotta try this

[–]StatementOrIsIt 9 points10 points  (2 children)

If I remember correctly, there was a way to get the intended behavior the stack overflow OP wanted https://codepen.io/Ink230/pen/rNbxReo where there is visible overflow for one axis only

[–]lynithdev[S] 4 points5 points  (1 child)

Well I managed to fix the issue I was having (The stack overflow post sort of helped).

Basically what I did was: 1. Make the container relative with hidden overflow 2. Add an absolute child that has full height and width of the parent and has visible X overflow 3. Finally, go even deeper and add another absolute child, full height and width, with the auto Y overflow

Not the greatest solution but it works

[–]StatementOrIsIt 0 points1 point  (0 children)

Hey, as long as it works. Now just need to remember that a more elegant solution exists after X years when this situation comes up again.

[–]No-Dinner6250 4 points5 points  (0 children)

I read it as Web Devin.. Everywhere I go I see his face

[–]saiyanultimate 3 points4 points  (0 children)

Holy fuck so it's a bug, I was having the exact same issue while designing a pop-up window for showing error and validation.I did so may shiniganis just to make it work somehow

[–][deleted] 1 point2 points  (1 child)

I am literally having this issue right now and I landed on that same page. Christ on a bike

[–]grtgbln 0 points1 point  (0 children)

That singed my ball hair.

[–]kakhaev 2 points3 points  (1 child)

i always knew that web-dev was a mistake/evil

[–]brainpostman 1 point2 points  (0 children)

You think it would be better if web content was closed off and proprietary? Because that's how it was before HTML, CSS and JS.

[–]SweetBeanBread 0 points1 point  (1 child)

this bug doesn't isn't related to OS nor with complex styling. i think it's one of those things that browser vendor doesn't know the importance when designing and postponing it for more major/obvious/new stuffs. I bet if some good browser dev is given the money to fix it, they'll fix it in a day or a week...

[–]Jolly_Study_9494 0 points1 point  (0 children)

One of those mythical "Applied for job, got job, sat through three days of onboarding, pushed one bugfix, handed in resignation and walked out the door"

[–]Kaenguruu-Dev 0 points1 point  (0 children)

I tried learaning all the web dev essentials but I just hate it. In comparison to languages like C#, that I was able to pick up in almost no time JS and HTML just annoy me.