Great Medium piece, How it feels to learn JavaScript in 2016. (It has a link to a reddit discussion where I found some like souls.)
It really is out of control. And that article catches the intimidation factor of it all.
I was never good at foreign language, which I attribute to my poor memorization skills and how language tends to be taught in the USA. But I had a motivation problem: every other class I took in high school and college offered to teach me something new. Foreign language was just new names for everything old. (I accept that if a learner keeps at a language until they internalize it, they will likely be rewarded with new outlooks and ways of thinking--to quote the poet Jack Gilbert "A man said no person is educated who knows only one language, for he cannot distinguish between his thought and the English version." -- but my lack of language chops keeps me far from that kind of rich understanding.)
Anyway, that's what this new ecosystem feels like, new words for everything old. In 1996, discovering Perl CGI was empowering; ditto jQuery and modern CSS in 2010. But this stuff? So little of it really lets me doing anything new. Some of it is more concise, sure, but that brevity is just a veneer over giant swaths of code I'll never understand, and god help me if I screw up using the framework-flavor-of-the-month and have to backtrack to what I did wrong... bespoke code certainly invites complexity, but at least it's YOUR complexity.
Some frameworks do offer new functionality impossible in the old world, like server-side rendering that might help with speed or webscrapers, and some toolkits pull their weight for stuff like running tests. And I certainly find some frameworks (like React) more appealing than others (like the client-side JSP taglib nature of Angular) but overall, I wish more developers would think about how hard it is to keep track of all this stuff, and prefer simplicity, ease of mental-modeling, and transparency to coolness and "power".
(See also: The State of JS survey. Really interesting seeing what things have a high "have used, would not use again" rating. Most notably for me, Angular 1.X)
No comments:
Post a Comment