I’ve never touched Javascript until a week ago.
I have heard bad things about it: that it’s messy or poorly designed. But I remember seeing a quote online, something to the effect of “there are two types of languages; ones that people complain about and ones that people don’t use.” Well, Javascript is language that is widely used, so surely there’s something valuable to it?
I noticed that the syntax is pretty similar to C and Java, so the transition wasn’t as jarring as I had thought. Without a doubt, I am definitely learning new things. It’s a quirky language (dynamic typing, functions are first class). Some things will take some getting used to.
One thing that I found discouraging was returning to a previously learned concept and not remembering it–or at least not remembering it as fully as I once had. I can understand a concept and figure out how it works decently fast enough but when I go back the next day, it’s as if I am doing it for the first time and have never learned it before. It drove me nuts.
When I put that frustration aside, and persisted in re-learning it, I found some success. Something that I think would really facilitate and enhance this learning process is the athletic software engineering model. It may be simple to learn something at first, but as aforementioned, I can fail to retain that information. WOD’s basically force me to revisit these programming concepts and hopefully keep them under my fingertips. And honestly, the pressure of these timed challenges I find makes me productive and ensures that I stay on track. There’s something about that stress that spurs me into working.
At the moment, I am enjoying Javascript. Granted I am still getting accustomed to it, and I anticipate it becoming a chore to get proficient in later on; but realizing its prevalence in web development, this language is absolutely important to learn in terms of software engineering.