Javascript Language or: How I Learned to Stop Worrying and Love the Code
I’ve been thinking about language a great deal recently. Why? I’m learning to code. It’s cliché to say that trying to start out in the vast world of programming is like learning a language, yet… it is. Immersing myself in Javascript has not only made me think about Javascript specifically, but also think of communication in general. There’s a lot to say about language. Words are fluid — an expression or idiom doesn’t mean the same thing the next country over, let alone in the next town over. This is a blog post, so I won’t get too far into the conceptual weeds. After all, academics like Noam Chomsky and Ludwig Wittgenstein have said far more at a far greater level than I can here. However, some of my observations I do find useful as fuel to help ground myself as I work through the labyrinth of coding.
Javascript possesses its own hidden language that isn’t in everyday use. Ask a friend with no programming knowledge what an object is. I’m doubting they’ll reply with anything close to what I’ve been creating the past few weeks.
To pivot away from JS for a bit, fields that use specialized, non-standard words or symbols often seem more difficult to the neophyte. If you don’t know the terms, you don’t know what’s going on — regardless of how intelligent you are. People who don’t know the formal math definition of fields, groups, and rings probably aren’t going to get much from an abstract algebra paper. This idea can be expanded to lots of disciplines that have their own inside baseball terms: formal logic, law, philosophy, sciences. This makes all these fields seem more imposing. I firmly believe that most people can engage in these subjects and understand them, but it is murkier to enter the gates of learning when you need to speak the language. Often these fields, at least a general aptitude in them, are propped up to be harder than they are due to this obscure language ideal. Conversely, activities or academic areas that are more commonplace we often believe to be easier to master since people understand the base level. Everyday we cook, play sports, sing, make music, write, design. How many people think they could be a master at one of those fields versus being a master at rocket science or phenomenology? More people will read a dense history book, using everyday words, than pick up a math book for fun.
Back to Javascript. This language barrier definitely makes it trickier to learn. I have to wrestle with those new words and symbols as I figure out how to solve the logical puzzles of programming. I’m assuming anyone at the level of coding I’m at sometimes sighs, rubs their eyes, peers at the screen in a haze and thinks, “Do I need a [, a (, or a { here?” I will have an idea about the logic or thought process I want to use to solve a problem. Unfortunately, I won’t have the JS language skills to do what I need to. Luckily, the more I work and study the more natural it becomes. As a personal example, I offer up event listeners to the reader. The first time I encountered them I’d run my eyes over the code and it might as well have been Cyrillic script. The idea isn’t that complex. Someone does an action. The action is done to a target. An event occurs. That isn’t dense sci-fi computing. Writing one? That was tricky. Now, it makes sense. I see one and realize what it changes and why it is written the way it is. It’s progress. I’m not a master by any means, but I’m not one of the uninitiated.
Get Michael Zidar’s stories in your inbox
Join Medium for free to get updates from this writer.
I’ve also thought that recently learning another spoken language has given me a solid groundwork for my Javascript adventures. I studied Tagalog. My partner received a grant to study the Bangsamoro peace process in Mindanao — the southernmost island in the Philippines. Much like philosophizing on language, this blog I can’t provide a full report of a religious and cultural dispute that began centuries ago. I can say that, despite horrific events like the siege of Marawi, a base level of peace has been reached and a new autonomous region has been formed. We didn’t live down there; we stayed north on Luzon in Quezon City — a city that is part of Metro Manila. The universities my girlfriend was affiliated with were in Manila, so it made sense. Tagalog is what is spoken in Metro Manila. It isn’t the only language in the Philippines — it is the official language, but it isn’t spoken as the primary language everywhere.
I didn’t want to be impolite and live somewhere else without attempting to learn the language. It feels like moving into someone’s home and not respecting their rules. So, there I was, in our apartment (as a boxing fan, I was thrilled that our apartment looked out over the Araneta Center where Muhammad Ali and Joe Frazier had the legendary “Thrilla in Manila”) looking over books and using apps to try to pick up Tagalog. It is interesting how much the process reminds me of learning Javascript. Studying helps, but I had to practice the language. One of the great things about learning Tagalog was how easy it was to put my skills to use. I could run downstairs to the hole in the wall café nearby and grab some bangus. I’d spin by 7–11 after finishing my crunchy fish grab some coffee. My chats with the waiters and clerks were some great drills. I could practice numbers, basic sentences, and try to see how much I understood them. I’d head home and talk about basketball (I didn’t know before going that basketball is bigger there than it is here) with the guards in our building. More great practice! I’d pick up new words and new ways to use what I knew. For example, people may not say the same thing in real life as my books said — something that I learned may be too formal and polite to use in day-to-day life.
Practice was essential. All I had to do was go anywhere and I could converse in Tagalog. Javascript offers the same ease for training. One can just code. Which, honestly, I love. To discuss math again, when doing hard proofs you can find yourself in the dark. You think it what you are trying is right, but it is hard to know for sure. Delving down one rabbit hole of ideas could be spending hours poking at logic or ideas that don’t help at all. With coding it is easier to test what’s happening. There are still problems to deliberate over, but it is so much simpler to see how things are going. Does the code work? Yes or no. You can throw small parts in and see what happens. For proofs? It can be hard to find more examples to work on. Javsascript has alleviated this dilemma. When I wanted to master my old friend the event listener, I opened the DOM on the Atlanta Falcons Wikipedia page and saw how I could change the page in ways that I found amusing. Silly? Maybe. Still, after multiple attempts of figuring out different ways I could alter the owner Arthur Blank’s name into mine I leveled up my event listener skills.
Lastly, learning the language of Javascript reminds me of the ups and downs of learning Tagalog. Like a sine wave added to a linear function, my feeling about my skills went up on a macro level, but there were dips and peaks day by day. I’d master basic pronouns and numbers? I’d feel great! Then I’d try to say how I want my eggs made at my favorite breakfast place or try to watch a tv show and realize how little I knew. A few days later, I’d realize I could have a conversation with a cab driver and describe how to navigate the way home from the SM Mall of Asia. I’d be on top of the world. However, right before exiting the taxi I’d try to use a verb in a different tense and once again be thrown down to the reality of my skills. I would ground myself and step back and think about how I was doing with Tagalog. I definitely, despite this roller-coaster feeling of learning/frustration, was improving. Javascript is the same. When you figure out how to do a loop or navigate an object you feel great… until you stumble on some code on Stack Overflow and don’t recognize half the terms. Next, you figure out how to manipulate the DOM and feel like a boss. That high doesn’t last once you can’t get your .then to do anything after fetching. Step back though. You are growing and learning.
COVID ended my Philippines journey early. I did come home with a deep love of the most beautiful place I’ve ever lived… and with an affinity for sisig and the works of José Rizal. I also returned with a new best friend; Rocco, a Filipino street dog I adopted — trying to get him back into the states with a week’s warning of evacuation definitely was trickier than figuring out why my appendChild won’t append my <p> to anything. It’s doubtful my coding adventures come to such an abrupt and odd end. I’m excited to keep learning more and to keep ruminating on the oddness of this new language I’m diving into.






