
© 2017 Charles Dunlevy
In the Beginning
I started learning to code at the end of 2017. At the time, I was interested in Visual Basic for Applications (VBA) because I enjoy working with Microsoft Excel. I started to learn VBA in order to help me unleash more of Excel’s power and utility but did not expect this experiment to send me down the path to madness.
Google Apps Script
I have been using Excel at work for as long as I have been working in offices. In recent years, Google Sheets has been my go to outside of my day job. As I dabbled in VBA, I began to wonder if such a feature exists for Sheets. I stumbled upon a YouTube video introducing Google Apps Script (or as I like to call it, GAS).
Google Apps Script provides similar functionality for Google’s suite of applications to what Visual Basic for Applications provides for Microsoft’s suite.
The syntax for GAS was entirely different from VBA. The system runs online in the web browser and has easy access to web-based features and APIs. I soon discovered that GAS was actually a form of the JavaScript programming language which is used for websites.
JavaScript
Curious, I started to look into JavaScript. Since JavaScript is primarily used in web page design, I had to learn to make web pages using Hypertext Markup Language (HTML) and Cascading Style Sheets (CSS). The 3 go hand-in-hand in creating beautiful, animated, and interactive websites.
I quickly found myself enjoying JavaScript much more than VBA. To me, the syntax looks “cleaner” and the flexibility of being able to practice code using nothing more than the developer features of a web browser lead me away from VBA. I had learned most of the VBA that I needed for work and would only study it when needed.
There is are unbelievable amounts of online resources to study JavaScript. Answers to most problems are often only a quick search away via Google or Stack Exchange. I love to study via textbooks but found that there are not enough up-to-date books available.
JavaScript is a massive beast which spawned many systems such as frameworks. The web developer community seems to be split between a growing number of framework camps such as Angular, React, etc. I found this all quite overwhelming but quickly discovered that I prefer actual raw coding during my studies. I have yet to use a framework, but will be choosing one soon.

© 2012 Charles Dunlevy
Thoughts
I found myself overwhelmed by the thought that I will never know everything. There is too much out there, and things keep changing rapidly. This may be the reason why up-to-date computer programming books are so scarce.
I started to wonder whether or not I should continue with my studies. Frustration arose whenever I found myself stuck on a problem. Pure joy and jubilation was the feeling whenever said problem was solved.
Advice and Inspiration
One day while reading articles online, an experienced developer stated that nobody knows everything in programming and that “Google is your friend.” He mentioned that everybody in the industry searches Google, looks items up in textbooks, or searches through sites like Stack Exchange, Quora, Reddit, etc. He said that computer programming is an ongoing learning process. He also said that you should focus on what you need to know to do the tasks you are working on. There is no sense in learning things that you do not or may never use.
I read similar sentiment from different developers online and even spoke with some at work and at the local bar. All pretty much said the same thing. This inspired me to keep going! Also, I find that I really do enjoy solving the problems. It is quite a euphoric feeling when you solve a problem and get the program to do something that you were previously stuck on. Each time I feel not only a sense of accomplishment, but inspiration.
Programming Languages
I also looked at code comparison between different languages. I learned that there are a lot of similarities between some languages such as C-based… at least when it comes to syntax or parts thereof.
JavaScript
A lot of people confuse JavaScript with Java. The two languages are similar in the first 4 characters of their names only. There is some syntactic similarities because both use C-based syntax. Java is an Object Oriented Programming (OOP) language while JavaScript was originally just a scripting language. Java is a massive beast in itself. It contains a lot of boilerplate code (extra code which may appear to be unnecessary at times). Java is a much more powerful language used in all aspects of computer programming.
Java
I started to study Java since I would love to write desktop and Android applications. It is also one of the most widely-used languages so there are a tonne of resources available.
Java seems far more difficult than JavaScript. I also realized that desktop applications are not a big market as everything these days seems to be mobile or web-based. I figured I could study Java to create Android applications and JavaScript for web-based applications.
Kotlin
Google announced that a new language called Kotlin was now the preferred language for Android. They will continue to support Java as well. I started reading articles about this new language which has in fact been in development since maybe 2011 if my memory serves me correctly.
The surprising thing to me was how every author mentioned that the code was clean and concise and a joy to write compared to Java. I started to read some tutorials and found the same thing. Where in Java it may take 8 lines of code for something simple, Kotlin would take maybe 3 or 4. The syntax is much nicer to read and write.
I quickly bought some Kotlin books so that I may study this language and make good use of it. Since I was only at the beginning stages of learning Java, I have decided to put that on hold and focus on Kotlin for now. Kotlin is a Java Virtual Machine (JVM) language that compiles to Java bytecode. It has been getting a lot of praise from Java developers for ease of use, clean syntax, and concise code.
Conclusion
Coding is definitely not for everybody, but if you like a) problem-solving and b) learning/studying, it is a great field to get into. I have always loved learning. I always believed that learning is a lifetime activity. One should not stop learning just because they finished school and started their career. Some careers such as computer programming or most tech-related fields involve a lifetime of learning as you can never know it all and it keeps evolving.

