I mean , you can say your first statement about a lot of full stack frameworks . I have no criticisms about Django other than in writen in you know what . For loops in python less sense IMO because while python is multiparadigm , it seems the majority of constructs tend to lean towards imperative programming , yet the for loop is implemented in that way . I don ' t think it ' s irrational . It feels bad to write , thus it ' s my preference . I ' ll give you an example , some of the design decisions kind of bother me . Why is filter a function wrapping a collection rather than a function called from the collection type ? arbitaryList . filter element s o meElementOperationelement feels much better to me than f iltersomeElementOperation , arbitraryList . Design decisions in the language is what drives me to hate python , and my biggest gripe is the goddamn stupid whitespace syntax shit . I just want to be able to write code then ctrlv and or on vim and not have to worry about an indented code block breaking my shit because it actually defines scoping . Yes you can rant about any language , but that ' s the point . We ' re arguing preference here , not whether you can or cannot do something in python . Both python and insert lang here are turing complete so they can describe the same ~~ computations ~~ algorithms .