Re-Learning JavaScript
Tags: learning, javascript, myjourney, programming
Published: 2019-04-02 03:22:03

---
title: Re-Learning JavaScript
published: true
description: I want to finally learn the ins and outs of the programming concepts & best-practices I’ve been mimicking since the early days of my self-taught journey.
tags: Learning, JavaScript, My Journey, Programming
canonical_url: https://blog.dallasreedy.com/re-learning-javascript/
cover_image: https://images.unsplash.com/photo-1475275166152-f1e8005f9854?ixlib=rb-1.2.1&q=80&fm=jpg&crop=center&cs=tinysrgb&w=1000&h=420&fit=crop&ixid=eyJhcHBfaWQiOjF9
---

When I first started learning JavaScript back in 2006, I was fresh out of college with a degree in Graphic Design focused on print media, living with friends in a rental house, and working at my second post-collegiate “design” job. In my spare time I built a stupid-simple “web app” that looked up a directory on my computer which was full of directories of musical artists, and each of those were full of directories of albums, and each of those, of course, was full of MP3s. I had made a little music catalog that I could browse through! It even had some pretty slick animations (for the time) when you opened up or closed any of the sub-directories. How fantastic!

Since those early vanilla days, I’ve learned to live in library land with tools like [Prototype](http://prototypejs.org/) & [Script.aculo.us](http://script.aculo.us/) during the [early days of my Ruby on Rails](https://weblog.rubyonrails.org/2007/1/19/prototype-1-5-now-with-a-manual/) journey, [jQuery](https://jquery.com/) a _lot_ since those early days, and other bits & pieces like [Underscore.js](https://underscorejs.org/) and [Lodash](https://lodash.com/) as time has gone on. I’ve also been thrust into various frameworks, like [AngularJS](https://angularjs.org/), [Angular (2.0 & beyond)](https://angular.io/), and, much more recently, [React](https://reactjs.org/).

Deep down I’ve always had a love for JavaScript – as quirky as it is at times! I fell in love with the technologies of the web part way through my collegiate experience when I was introduced to the world of CSS via [CSS Zen Garden](http://www.csszengarden.com/) and I happily said goodbye to all those table-based layouts and the ways of Web 1.0.

Lately I’ve been wanting to actually learn some of the computer programming basics that I never formally learned. Sure, I’ve been using many of the concepts, techniques, styles, and best-practices just by mimicking the tutorials and open-source code repos I’ve digested along the way, but I recently had an experience that made me realize it’s probably way past time I at least knew the names and basic details of these things.

So, I’ve been working my way through [Marijn Haverbeke’s “Eloquent JavaScript”](https://eloquentjavascript.net/) online book. The best part about it has been the live code examples that you can just click into and start modifying, as well as the live code exercises at the end of each chapter. I really appreciate the author’s style of breaking down each chapter’s concepts into bite-size chunks, applied to some plausibly real-world example that you can totally play along with at home.

I’ve also been playing a few levels of [Untrusted](https://alexnisnevich.github.io/untrusted/), a meta-JavaScript adventure game [by Alex Nisnevich & Greg Shuflin](https://github.com/AlexNisnevich/untrusted), nearly every day to compliment what I learn from the day’s chapter of “Eloquent JavaScript.”

It’s really been a lot of fun learning a bunch of new concepts, putting names to existing concepts, and even stretching my decade-old knowledge of what JavaScript is and what it can do. I’ll likely be sharing some of my learnings along the way throughout my blog and on Dev.to as well. **1)** because it really helps me to learn better and to better retain what I learn when I share it, and **2)** because it might actually be helpful to other people embarking on a similar journey of intrigue, exploration, wonder, and learning.

Warm regards,
Dallas