Hacker News new | ask | show | jobs
by markuz 4194 days ago
I see people complaining about JS fragmentation. While it is a problem, it is just a consequence of how hard it is to create a complex webapp this days.

The thing is this.

Things in tech are always changing, and in this web dev of ours, things change faster than anything else. It's crazy. And it is hard. SUPER HARD. And we got to deal with it. So, deal with it.

Things like Exilir, closurescript or any other non-javascript thing are not the answer. Simply because they don't provide a solution on how to architecture your app (front and back end). There is a reason why the JS world is fragmented today. If someday closurescript becomes popular, I guarantee it will be fragmented with frameworks. Simple because WE STILL DON’T KNOW how to create webapps. Sure it would be more functional, pure or whatever. But who cares ?

Now let me tell you what is the situation in the JS community today.

There is the frontend and the backend JS ecosystems, and they have different approaches on how to architecture an app. While the frontend folks used (past tense here) to subscribe to a monolithic approach (angular/ember) the backend folks always subscribed to the unix way (single purpose tools doing one thing well).

I've being coding exclusively js for 3 years now. And trust me when I say that since last October (ng-conf), there is a trend in the frontend community to move away from these monolithic solutions (http://www.breck-mckye.com/blog/2014/12/the-state-of-javascr...). This article really illustrate the feeling we have this days. (and here is the HN: https://news.ycombinator.com/item?id=8679245)

Now think about the backend folks, The unix way have around for over 40 years, and the nodejs folks have embraced it. I guess they got something right. Just a though here. (Compare this with convention over configuration)

Nodejs tools like npm, browserify and gulp are the way to go for building your app and they completely replace rails asset pipeline and rvm (and much more flexible). And there will be no replacement for them anytime soon. They are around for about 5, 3 years and 2 years (an eternity) and they get things right.

JavaScript 1.6 (ES6) feels like a complete different language. Things like Map, modules and generators are game changers. And 6to5 is the best way to translate ES6 into ES5. So you should learn them ASAP if you wanna be ahead of the curve.

Now let me tell you this about Ruby versus JS world. While the former offers lots of magic with the goal of making the programmer job easier, the later offers the right primitives without any sugar at the cost of convenience. It seems crazy at first (I came from python world, and I used to love their battery included approach) but there is wisdom in the JS approach.

My conclusion, JS and its community has many flaws, but learn to see beyond the trees. The jungle is beautiful and vibrant. And thats be best we got.

PERIOD. and move on. PLS