Everything you learn in life will be new to you at least once. It is my belief that nothing is truly easy the first time you learn it. Take public speaking for example. The majority of people struggle the first time they have to speak in front of a crowd, whether that be in elementary school or as an adult. Now you might say that there are people who are simply naturally good at public speaking and upon first glance, I might agree with this statement. This assumption fails to account for past experience, when learning to speak publicly there are many other things one must first learn, these include: walking, the language of choice, how to write a speech, and much more. Imagine if today you were asked to give a speech on the evolution of South African fashion in the 1800’s in Latin while walking exclusively on your hands. This seems like a ridiculous task at first, but imagine you already spoke Latina, loved South African fashion in the 1800’s and could walk on your hands for hours. Then this might seem like a do-able task.
Learning Javascript, I feel like I can already speak Latin and can walk on my hands; all I have to learn is some fashion history. Most of my experience comes from what I have learned in earlier classes in computer science at UH Manoa. In high school, ICS 111 and 211, I learned how to write in Java, in ICS 212 and in VEX robotics, I learned how to write in C and C++. All this is to say that while I did not know Java script before taking this class, leaning Javascript was similar to a Magician learning a new trick: new but familiar and fundamentally the same.
This is not to say that everything about the experience was easy or that there was no point in what I learned. With regards to ES6 on free code camp in particular, nearly everything I learned was totally new, and at first this was a little challenging. The things that I have learned in the past about Java left me a little confused when I completed tasks. Take the deconstructing assignment for example, in the context of Java, the syntax of the statement makes no sense what so ever, even after completing the tasks, it felt like I just did something that should not have worked.
After I got over my first impressions of the specific ES6 changes, I found that they are quickly becoming some of my favorite things about Javascript. I love taking short cuts when they don’t have any effect on the outcome as any logical person should, and Javascript seems to be full of them. Oddly enough, these short cuts are also one of my least favorite things about Java script, they make the code less readable to someone who does not know the short cuts. In languages like Java and C, there are very few ways to create and call a function however Javascript introduces the arrow operator which adds further complication to the task. What I find helps with this is the in class timed practice sessions (WOD’s) that we are forced to do. They force me to know as many of the short cuts as I can learn to give me a better chance of finishing on time. So far I have found these practice sessions stressful, mostly because it feels like a competition, sure I can finish on time, but if I take almost the full time, it feels like I have failed regardless.