For a while I was very much not a fan of Javascript, mostly because I found the field overwhelming with frameworks and tools popping up left and right. React, Ember, Backbone, Angular, Angular 2, Vue, Polymer, NPM, Hapi, Express, Koa, Sails, etc. On top of that at the time I thought the syntax was hideous which was funny seeing as I have been dabbling in C++ and Java as of late (though none will never be as ugly as PHP’s arrow notation). I decided to sit down and just learn the ecosystem that is Javascript, after some cautionary searching, I decided to learn React and Express for spitting out APIs. I’ve spent much less time on React and Express and more time learning how Javascript works, I don’t want to be someone who knows just enough of a language to do what they need to, I really wanted to learn JS at a decent level. So I sat down for months learning it. It was a bit different than ruby, python, and even C# to a certain extent but I found myself enjoying JS once I got around it’s idiosyncrasies with new ES release, they add new features and address other parts that I was lost on, or give people a baked in alternative to popular packages.

If I had to pick something that I love about Javascript it’s two things, one is a feature, async/await. Having messed with these in C# I was happy to see them in Javascript, and what’s more they work with Promises (I really got a firm handle on Promises thanks to the promises course over at Node School.

So why did I spend more time learning Javascript and less time on React and Express and other JS tools? Simply because once you become familiar with the language the tools themselves become much easier to learn, and if you ever need to switch to new tools your downtime will be minimal.

React is interesting and I’ve had to rethink the way I approach front end development in a good way (component based UI makes so much sense when you just sit and think about for a few minutes). Once I’ve spent more time with React, I’ll write a post on it.