, 24 tweets, 4 min read Read on Twitter
The javascript community fought hard for the fat arrow syntax, () => {}.

It’s shorter for sure. But way more annoying to type on a regular basis than function() {}.

And that is the folly of programmer culture IMO. Constantly optimizing the wrong things for the wrong reasons.
I couldn't fit it into the last tweet. But obviously don't @ me.
When I say "literally" I usually mean figuratively. When I say "don't @ me" I literally mean don't @ me.
Okay, small story to go with this fat arrow thing. I used to spend a lot of time talking about JavaScript and web tech. And this was actually the issue that made me back away from active involvement in the community.
I haven't talked heavily about coding and tech stuff on this TL for years. It was a conscious decision to step back. Because what I realized at some point was that it didn't matter as much to me as it did to a lot of other people.
That was not a small decision. I had gained some small amount of clout in the community, and people who were working on the JavaScript spec actually cared what I thought about it. Here's the thread where I told them it was a bad idea. gist.github.com/polotek/2364818
I went to lots of JavaScript events. I gave talks. I was responsible for sponsorships from my company. I hired people from the community. And I participated in a lot of the discussion about what should happen with the web. Both online and offline.
That thread basically happened around the middle of the JavaScript Renaissance as it were. With the resurgence of web tech and big tech companies built on the web, the "lingua franca" of the web needed some investment too. So there were many interested parties and much debate.
I spent way too much time arguing with other nerds about it. But there was a point somewhere around that thread where I realized I wasn't having the same conversation as everyone else. The thing I cared about was not what most other people cared about.
What I cared about was the experience of learning to code, reading code, comprehending other people's code, and maintaining complex systems made up of a lot of code. Other folks cared about these things to some extent. But those weren't the driving factors for language decisions.
That's a bold statement, and I can already anticipate many people getting their backs up about it. That's cool. I still don't wanna argue about it. In fact I did what a lot of people would shout at anybody who disagreed. I stopped complaining and stepped away from the table.
That was the right thing to do in many ways. Unblocking the JavaScript spec so it could move forward was much more important than arguing about minutiae. But progress always comes at a cost, and that cost is often hard to quantify.
JavaScript has always been an ugly language. Aesthetically for sure. And also from the perspective of education and comprehension. It's not an easy language. But the upside for me was that it was small. The surface area of the whole language could mostly fit in my head.
I wanted to preserve that. Because I remembered how difficult it was for me to get some of the harder concepts. And every time I try to teach someone else to code, I'm reminded of the monumental hurdle that is retraining your brain to think like a computer.
So this is how I found myself arguing with Brendan Eich, no less than the creator of the original JavaScript language, and asking him not to be so quick to add these weird syntax things.
I did what we're all supposed to do. I presented cogent arguments. I used code examples. I gathered data to back up my position. I went in with some other people and created a whole GitHub repo dedicated to providing counter-proposals with in-depth arguments. (It's taken down)
All of this to try to convince people "this second function syntax is non-intuitive. It's confusing to me and it'll be really confusing to a lot of others."

What I got back was "don't worry, we added a third function syntax to fix that one. We're good."
That's when I knew we weren't having the same conversation. I was thinking about designing a language for humans. Other people were designing a language for programmers. And in the process, ensuring that the barrier to going from one to the other would stay high.
I remember the realization that this process had nothing to do with enabling more people to learn JavaScript. It was mostly about giving the language more capabilities, and enabling the inevitable rise in the *business* of tech. Turns out programming languages are big business.
Anyway, fast forward to today and here we are. JavaScript is taking over the world. People are making billions of dollars. Community people are being backstabbed and then ousted by corporate interests. And meanwhile we're entirely unable to fill the tremendous demand for js devs.
The surface area of the language is huge. And it has sprouted an ecosystem that complicates it further still. There's a type system and half a dozen competing component libraries. Ironically, we went from half a dozen web browsers back to one.
At the same time there is a growing industry dedicated to trying to teach people all this shit so they can go get jobs. Every company I talk to is finding it difficult to hire. While every new dev I talk to is finding it difficult to *get* hired. This is a mess.
Anyway, I'm rambling at this point. All I'm saying is that I realized I was being naive by jumping in and trying to represent the concerns that don't make anybody money. It was taking a lot of my energy for very little gain.
I've held on to my gripes about fat arrow and other JavaScript stuff for years. Literally waiting until it didn't matter anymore. This shit is shipped to the world and set in stone. It's a done deal. So when I say don't @ me, I seriously mean it. I put in my time already. Thanks.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Marco Rogers
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!