A Response to Analysis Paralysis
The *I’m a web developer and I’ve been stuck with the simplest app for the last 10 days* Medium post gained a lot of attention on HN and /r/programming yesterday. The article is in no way unwarrented or off-base, I can sympathize. However, I want to address the two reoccuring themes from the comments:
- “Well you should try X framework!”
- “Bah, all these libraries are to save you 20 keystrokes. Just use raw JS!”
While neither of those comments are completely disagreeable, they forget the big picture. Using raw JS may end your paralysis, but is it always the best choice?
Most sucessful frameworks and tools exist and prosper not because they saved you keystrokes or they just wanted to do something different for the hell of it. They exist because the vanilla technologies used for webdev (HTML/CSS/JS) make it hard to follow some very important principals:
Ignoring these principals is fool hearted. They’re hard learned lessons from decades of programming experience. For example, encapsulation eliminates an entire class of bugs! Those bugs will bite you regardless of your project’s size, and they’ll only become more aggressive as it grows.
Successful frameworks and tools often got there by making it easier to follow your principals. To name a few: Sass and Handlebars keep it DRY, Webpack and Browserify keep it non-global, React and Web Components help encapsulate.
Great minds discuss principals. Average minds discuss technologies. Small minds discuss tools. – Brad Frost