“It’s like, I’m cheating on JavaScript by fantasizing about the relationship I could have had, instead of being in the here, now.” My girlfriend tilted her head slightly and, with pursed-lips, gave me a slow, firm nod. For quite some time, this was the hard-earned realization she was hoping I would come to. Let’s backtrack a bit. I don’t find myself comparing languages to relationships and ex-girlfriends that often. programming I’m here to talk about a problem I have with JavaScript. I should clarify. I’m not blaming . JavaScript Yes, I have a problem with JavaScript. do . And it’s completely my own damn fault (I might have resolved my issue, but more on that later) In real life, I’m a front-end developer. Where I work, we create SPAs with React, Redux, and TypeScript along with other tools commonly associated in using these technologies. This is something that is still kind of new for me. This time last year, I was a few months in after having quit my last job, having decided to completely alter the trajectory of my career towards that of being a developer. I was giddy with the excitement of having finished a few courses on C#, .NET and ASP.NET MVC from Pluralsight. I was certain that I wanted to be a back-end developer using Microsoft technologies. My first rule for successfully changing careers was, ‘Always have fun’. And so it was that with .NET and C#, I was having a lot of fun. So far, . Eventually, I begrudgingly accepted having to learn JavaScript as something I’d have to do to pad my . I had avoided learning JavaScript résumé I was under the incorrect and biased assumption that I would eventually get a job doing ‘serious’ programming. Therefore, I didn’t believe I would enjoy doing whatever it was developers did with JavaScript. I’d learn JavaScript but only because I needed it to getting a job doing something else. That was before I discovered Eloquent JavaScript . Marijn Haverbeke’s completely changed my perspective. Learning about, and struggling to understand, gave me an intellectual high. chef-d’œuvre Functional programming in JavaScript was amazing. prototypal inheritance No longer were my ideas based on an irrational identity I had created in my mind about the sort of developer I would want to be. Having given it a real shot, I started to really enjoy learning JavaScript! Fast forward to the present day. My girlfriend found herself once again listening patiently to my rants about JavaScript: “No, . It’s just that the ecosystem scares me. . And it changes too often!” I don’t really the language hate It’s too fractured “Yes, We only rely on the most stable packages from NPM_._ It’s true; I haven’t yet got terribly stuck having to maintain a defunct package.” I have it good where I work. “And yes, even if I had to, I’d have help. But that could change one day…” I have a great team; a good mentor. “No, you’re right. My team uses That’s the one I told you about — made by the same guy who made C#. Yeah, it’s great.” I don’t even actually code straight-up JavaScript. TypeScript. “ Like, seriously, I my job. Our projects are interesting. I doubt I’d get something better in a .NET shop.” What am I complaining about then? I don’t know! like “I just… . Everything tells me I should be happy!” I don’t know why I’m dissatisfied Over and over again. Every week. Sometimes, twice a week. (P.S. I’m sorry, love.) This time, though, our discussion took a turn in a different direction. I don’t get it, Ash. You’re really patient with yourself when it comes to other things in your life. You’re way more accepting in your relationships, your hobbies… Why can’t you be more accepting of your main programming language? **“**I don’t know… I guess it’s because I feel invested in my hobbies and my relationships. I don’t feel invested in something I might want to not do in the future.” Then maybe that’s your problem. You don’t enjoy JavaScript, despite everything being great , because you refuse to invest in it. “I…” And that’s when she layed the smackdown: Imagine doing that to someone you were in a relationship with. That’s when it hit me. JavaScript. I’m sorry. I’ve been cheating on you. I’m like that partner in a relationship who hasn’t gotten over his or her ex. I lament the loss of being able to program in C# even though I’ve been programming more effectively, and for longer now, with JavaScript. I fantasize and romanticize my relationship with .NET while at the same time criticising my fortunate reality with Node/NPM & JavaScript. All those times: . Instead, reading article after article, I keep hoping from one technology to another. I could be investing in myself by learning Node . Instead, I’ve demotivated myself by telling myself I’d should do so only in languages I aspire to program in. I could be contributing to open-source today . Instead, I am accomplishing nothing by reading posts on Reddit that rag on JavaScript. I could be reading YDKJS Instead of snubbing and ignoring it, in the world. I could be actively participating in the fastest-growing developer ecosystem No more. JavaScript, I’m sorry. I cheated on you. How about we start from the beginning? You have my complete attention.