I like Python's syntax, I enjoy how easy it can be to get up and running with something real. I also like that Ubuntu comes with it, but everything else is crappy. I don't like the package system, pip is not that great and needs work. The almost cult like refusal to upgrade to 3.x weakens the community resulting in less available modules. It's also not a very strong contender for web development.
If I was going to be nitpicky, it was not actually communism, but it was partly the work of some aspects of communist theory, as the idea of state communism was that you had to go through this immense struggle and remake society before you got to the nice fluffy city on the hill.
However the folk who rose to the top realised that if they wanted to stay on top, they had to keep the struggle bit going indefinitely.
I really need someone to explain to me what they love so much about React.js. I tried it out and I absolutely hated the way components didn't understand their relation with other components. I had to chain a callback all the way down to my ListItem Component just so it could set which item was selected in the component and let other components know that. If you ever end up adding another parent component you have to rewrite all those top level components to pass that information down.
That's because you used React alone, which works as a top-down view engine. If you want to modify something in the view, you have to go back to the top and modify the model. Instead of doing it manually, Facebook has created the Flux architecture to help you scale this process efficiently.
Which was a poor decision, imho. Using React only makes sense with Flux, why separate them? Furthermore, the examples on React's docs use the pass-down-the-event-handlers madness, instead of using Flux. React+Flux is a good solution, but the documentation leaves a lot to be desired.
React components can be brought into any architecture. Using them with flux certainly simplifies many things, but by the same token, flux apps can be written using other libraries (react based like om, or even full frameworks like angular). The decoupling is good. It lets you try out a component from http://react.rocks/ without diving into a fully architectured SPA.
I think if you need to pass callbacks several levels down you should consider some form of event system so that you may decouple your components from the hierarchy.
That's because React only makes sense if used with Flux. Otherwise just use Ractive.js - components can communicate with each other via events, so you don't have to pass event handlers down the hierarchy.