Original question from Quora:
Some might think it is better performance or reducing code bloat. Both are good reasons to not use frameworks, but it is not really the best reason.
Have you ever learned something new? I try to learn something every day and improve my skills all the time.
When I need to learn something I always try and build with it right away. Even if what I’m building isn’t very good. It doesn’t matter.
When I’m forced to build something with a tool I don’t fully understand, I quickly figure things out. Otherwise, I don’t build much.
What does that have to do with vanilla JS?
When you don’t have a tool built already, you must reinvent the wheel. That is a powerful construct.
People say don’t reinvent the wheel because it’s a waste of time. Those people don’t understand wheels very well.
When you build from scratch you will learn incredible things that are hugely valuable. Also, you don’t have jQuery, Angular, Rails, React and so on if people didn’t build from scratch.
Oh by the way, all of those tools were reinventions of the wheel.
All. Of. Them.
The people who created those tools are 100x more valuable to the world than the users of those tools. Who speaks at conferences? Who gets paid the most? Who seems to be the smartest?
You don’t get to the top by just being someone who uses everyone else’s tools. At some point you have to be able to build tools yourself.
The best way to learn to do that is to practice. You get practice by building things from scratch.
There is tremendous value in this approach.
P.S. I unpack more ideas in Creative Genius.