What is Software Engineering? It only seems natural that this would be the primary question that I am trying to answer in my first software engineering course. While it may be too soon to tell the tale, JavaScript looks to be the first stop on this journey of discovery.
JavaScript is one of the many programming languages in the ever growing world of computer science. In previous courses, I have mainly studied the Java language. Seeing as these two languages share a striking similarity in their names, I thought that maybe they would not be too different from each other. After a quick introduction to the basics of coding in JavaScript however, I feel that JavaScript seems more similar to the language Python. While I have not taken any courses in Python, I have studied it enough to know my way around the basics. I do not think that I have enough experience with JavaScript to form a strong opinion on its effectiveness, but I do appreciate the simplicity in its easy-to-read design.
What I find interesting is that learning a new programming language is not so different from learning to speak a second language. Programming is essentially how we communicate with a computer. Just as I use the English language to communicate with other human beings, I use the language Java to communicate with computers. I have been studying French for seven years now and I am even pursuing a certificate (similar to a minor) from the University of Hawai’i at Manoa. One of my favorite French instructors always stressed the importance of “laying the train tracks in your brain” and the best way to accomplish this was through quizzing yourself every day to practice what you have learned. Nearly all of our assessments under this instructor were timed. While time limits are stressful, there is no better way to achieve fluency because you are forced to let your knowledge flow rather than search your memory or flip through your notes. I still do not consider myself fluent in French, but I do know that I have come a long way as a result of these methods. I believe that similar results can be achieved in learning a new programming language while following this approach to learning.
The real power of studying language, whether that is a programming language or spoken language, is not just in the fact that you are diversifying your abilities. What most people do not realize is that in learning a second language, your understanding of your native language grows even deeper than you previously knew. After learning French, I found that I understood more about English grammar that I had previously known before. This concept is difficult to understand if you have not studied a second language as it needs to be experienced. I hope to encounter this same phenomenon as I continue to learn new programming languages.