DEV Community

Discussion on: Fuck you, Internet Explorer 💖

Collapse
 
thejaredwilcurt profile image
The Jared Wilcurt

The browsers you support is always a business decision.

I classify Developers as:

  • Professional: Supports the browsers and OS's used by their userbase
  • Hobbyist: Refuses to learn their craft and only supports the browser they develop in.

With the tools we have today, I don't think anyone should be complaining about cross-browser/platform support. We have Eric Meyer's Resets for weird old feature phones, Normalize.css for all modern browsers, and Auto-Prefixer + browserslist for everything else. And we have Babel to transpile and polyfill newer JS. All modern frameworks even produce multiple builds for modern browsers that support ES6+ so those users get a lighter payload that runs faster, along with legacy browser support.

If you're going to complain about anything, complain about Grid still being a year away from real production use (no animation, no subgrid, poor devtools). Complain about the evergreen browsers slow adoption of basic text layout like box-decoration-break or line-clamp. Complain about developers abusing every new technology that comes out (arrow functions that return arrow functions that return arrow functions, replacing all Sass variables with custom-properties that don't need to be dynamic, etc).

IE is not long for this world anyways. This is just a lazy post. Learn your craft. Get off my lawn.

Collapse
 
deciduously profile image
Ben Lovy

arrow functions that return arrow functions that return arrow functions

I'm not a JavaScript person, nor much of a developer at all. This sounds okay to me, and like something that might happen to me if I wrote a bunch of JS, can you elaborate on why it isn't? Is it just a smell, i.e. you should be using classes better?

Collapse
 
thejaredwilcurt profile image
The Jared Wilcurt
x=>y=>(z,a)=>{
  return (z) => {
    return (a) => b
  }
}
Enter fullscreen mode Exit fullscreen mode

stinky stinky stinky. If you convert it back to normal functions and it looks like an abomination, you're coding wrong.

function (x) {
  return function (y) {
    return function (z,a) {
      return function (z) {
        return function (a) {
          return b;
        };
      };
    };
  };
}
Enter fullscreen mode Exit fullscreen mode

It's the same for nested ternaries. It is the result of someone being clever and trying to put everything into one line. Being clever is the fastest way to writing bad code.