`this` isn’t working. When we first met, I was so excited. You were fun and [easy to get along with](https://medium.freecodecamp.org/what-programming-language-should-i-learn-first-%CA%87d%C4%B1%C9%B9%C9%94s%C9%90%CA%8C%C9%90%C9%BE-%C9%B9%C7%9D%CA%8Dsu%C9%90-19a33b0a467d). I told all my friends [you were Java](http://javascriptisnotjava.com/). We hit it off. Slowly at first… actually, [_really_ slowly](https://blog.chromium.org/2018/09/10-years-of-speed-in-chrome_11.html). You may not have had `class`, but at least you had [standards](https://www.ecma-international.org/). Things eventually got… [asynchronous](https://www.w3schools.com/xml/ajax_intro.asp). Bandwidth was tight, but it still felt like we were on the same page. I will always remember the first time we loaded individual elements together, instead of complete pages. With some [help](https://jquery.com/), even Internet Explorer seemed to be on board. We stayed up late at night, [holding requests](https://en.wikipedia.org/wiki/Comet_%28programming%29) for what felt like hours. You took it to [4 billion places](https://wearesocial.com/us/blog/2018/01/global-digital-report-2018) I never thought it could go. In my mind, you had [no equal](https://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used-in-javascript-comparisons). People thought [we were crazy](https://hackernoon.com/the-javascript-phenomenon-is-a-mass-psychosis-57adebb09359). I could hardly `await` to escape [callback hell](http://callbackhell.com) because with you, nothing was [out of scope](https://www.pluralsight.com/guides/javascript-callbacks-variable-scope-problem). We prototyped one great framework after the next, never stopping to wonder why. Then you started to `let` yourself go. You [changed _a lot_](https://benmccormick.org/2015/09/14/es5-es6-es2016-es-next-whats-going-on-with-javascript-versioning). You became harder to talk to, blocking requests and blaming [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing). We had to `use strict` rules for communicating. Sure, you got `class`, but somehow even that was not [quite right](https://medium.com/javascript-scene/how-to-fix-the-es6-class-keyword-2d42bb3f4caf). Now there are [too many frameworks](https://frankchimero.com/writing/everything-easy-is-hard-again/) and we have to [let some go](https://stackoverflow.blog/2018/01/11/brutal-lifecycle-javascript-frameworks/). Do not get me wrong, there were [Good Parts](http://shop.oreilly.com/product/9780596517748.do). But I hardly recognize you in the browser anymore. You are a transpiled, minified, polyfilled version of your former self. Several versions later and `this` is still not working. It is just one broken, nested [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) after the next. I just don’t want any more `[arguments](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments)`. I have been making and breaking websites since [XMLHttpRequest](https://en.wikipedia.org/wiki/XMLHttpRequest) gained widespread support. I decided to [write a “break-up letter”](http://anthropologizing.com/2014/01/03/design-research-method-the-love-letter-and-the-breakup-letter/) to Javascript as a means of exploring my frustration with both the language and ecosystem. Despite this letter, I do not categorically hate front-end frameworks or the Javascript. It is actually a versatile language that is well-suited for event-driven programming and strives for rapid self-improvement. It is no longer novel to include such dynamic features as a live clock or page view counter, so lately I have been exploring WebSockets, GraphQL, and WebAssembly. While the complexity of web development will undoubtedly continue to increase, I hope with them come improvements to user experience as significant as those Ajax offered a decade prior. Follow me on [LinkedIn](https://www.linkedin.com/in/tombarrasso) · [GitHub](https://github.com/Tombarr) · [Medium](https://medium.com/@tbarrasso)