I've recently started writing a front end for a complex configuration tool in React and following the (very good) React tutorial was confusing (why are we 'hoisting state'?) until I started investigating the fundamentals of functional programming a little more and started with So You Want to be a Functional Programmer by Charles Scalfani and the overall structure imposed by React starts to make quite a bit of sense and I saw why people think it's so cool. And also very dogmatic! I mean look at the head image for that series of blog posts -
I know, it's funny and self depreciating image, but come on! In fact I found that article after reading Goodby Object Orientated Programming which I couldn't help mentally contrasting with Steve Yegge's 2006 classic rant Execution in the Kingdom of Nouns which presents the fundamental absurdity of OOP:
In the Kingdom of Javaland, where King Java rules with a silicon fist, people aren't allowed to think the way you and I do. In Javaland, you see, nouns are very important, by order of the King himself. Nouns are the most important citizens in the Kingdom. Steve Yegge
And I've only just started looking at functional programming and I'm still in the 'enjoying the brain stretch' phase, but I feel sure that there are some cases where functional programming is not the answer, and that some of the intellectual underpinnings are not without flaws. Maybe it's just human to pick bounded ideas and to start excluding any ideas outside, starting with 'knocking down the walls' of the old intellectual castles and given the wider problems of the world understandable that people wish to retreat within the castle walls of which ever ideology makes them feel comfortable.
I fully understand the needs of teams to have a coherent methodology when creating applications, but I can't help but feel that couching everything in such dogmatic terms leads to inherently blinkered thinking.
Now, I understand that there are specific paradigms that it's useful to have very
And a lot of the ancillary tooling like, Prettier falls into the same pattern - on the git hub page: Prettier is an opinionated code formatter. (Actually I really like Prettier and the approach - why mess around with a fundamentally aesthetic set of judgements on tabs versus spaces?)