My focus on learning JavaScript
JavaScript is a web technology to the core and there is something about the web that is love/hate for me. Things change so rapidly that it is sometimes difficult to keep current. It's not just the actual technology that changes, but the style of using the technology that changes. Not so recently, JavaScript has emerged as one of the most useful languages in terms of web tech. At the time of this writing, JavaScript is the number one language in GitHub -- meaning that it holds the most repositories. Something that has proven to be attractive to me about JavaScript is its somewhat functional nature. I hold most of my experience in statically-typed languages (C#, C++), so JavaScript's instant gratification as a result of no compilation makes me happy.
I write JavaScript from time to time in my current position and I've discovered that when you mix my lack of breadth and depth of knowledge of the language with the other software developer's lacking knowledge, you are left with very messy code. The JavaScript that we write is made to look and act like C#, which it can in some cases, but not using JavaScript the way that it was intended to be used causes cluttered, tightly-coupled, and often unmaintainable code. We rely on libraries (jQuery, Knockout, Telerik) to get us through the sometimes painful implementation. In most cases, we abuse these libraries creating even more of a maintenance nightmare. After all, why learn everything about a library when you can just get what you need working now without a complete understanding? I've seen emails from coworkers touting the need for design patterns in our code, but it seems that it only ever gets that far. I agree that design patterns are needed, but more importantly, testable, maintainable, well organized, and readable code is needed. The classic design patterns don't address third-party library uses specifically anyway. To date, we don't have a JavaScript testing or code quality strategy in place. Apparently, knowing JavaScript is just knowing what can be immediately ported from our existing C# knowledge and third party library implementation. What's worse is that there seems to be a movement to make JavaScript look and act more like a strongly-typed language. There has to be a better way.
I've decided to dive into JavaScript deeper to find out if there's a way to address the mess.
Here's where I am going to start:
Books
- JavaScript: The Good Parts
- JavaScript: The Definitive Guide
- Secrets of the JavaScript Ninja
- Programming JavaScript Applications
Tools
- Jsbin with Qunit
- Sublime Text 2
- jsLint
I am going to try to read a chapter from each of the books every 2 days, but we'll see how that turns out. As a new father, there is limitless things to do aside from reading books and playing with JavaScript. After each chapter read, I will attempt to post any interesting concepts with examples.
Speaking of being a new father, my daughter is now officially 2 months old. Since she doesn't have a job yet, she decided that unloading her full 4 ounces of breast milk all over me during her 2am feeding was a good gesture of appreciation. Eh, I'll take that as a good thing...
Speaking of being a new father, my daughter is now officially 2 months old. Since she doesn't have a job yet, she decided that unloading her full 4 ounces of breast milk all over me during her 2am feeding was a good gesture of appreciation. Eh, I'll take that as a good thing...
Subscribe to:
Post Comments
(
Atom
)

No comments :
Post a Comment