isn’t working. this When we first met, I was so excited. You were fun and . I told all my friends . We hit it off. Slowly at first… actually, . You may not have had , but at least you had . Things eventually got… . 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 , even Internet Explorer seemed to be on board. easy to get along with you were Java slowly really class standards asynchronous help We stayed up late at night, for what felt like hours. You took it to I never thought it could go. In my mind, you had . People thought . I could hardly to escape because with you, nothing was . We prototyped one great framework after the next, never stopping to wonder why. holding requests 4 billion places no equal we were crazy await callback hell out of scope Then you started to yourself go. You . You became harder to talk to, blocking requests and blaming . We had to rules for communicating. Sure, you got , but somehow even that was not . Now there are and we have to . let changed a lot CORS use strict class quite right too many frameworks let some go Do not get me wrong, there were . But I hardly recognize you in the browser anymore. You are a transpiled, minified, polyfilled version of your former self. Several versions later and is still not working. It is just one broken, nested after the next. I just don’t want any more . Good Parts this Promise [arguments](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments) I have been making and breaking websites since gained widespread support. I decided to 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. XMLHttpRequest write a “break-up letter” 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 GitHub Medium