>MO any introductory programming environment that doesn't let you do something like 10 PRINT BUTTS <RET> 20 GOTO 10 <RET> and get BUTTS BUTTS BUTTS... out of it is a failure to launch.
But Python doesn't let you do that - there's no goto...
While I'm being somewhat tongue-in-cheek, I do think it's true that
while true:
print("BUTTS")
carries quite a bit more conceptual overhead than the BASIC equivalent, and is not exactly a "very simple imperative syntax". You don't have the simplistic and obvious "goto" - instead you have the ungrammatical and obtuse "while true". And then there's the indentation, the colon, and the parentheses around the argument to print... all explainable of course, but all requiring explanation. To fully grok it you need to understand booleans and conditions, block structure, and function calls. Of course it's all perfectly obvious to experienced eyes but remember the mountain you have to climb when you're first starting out - more than one or two seemingly inexplicable things when you're first starting out can be very discouraging.
Worse, to my mind, is the loss of that small moment of enlightenment regarding complex behavior emerging from computer programs - with 10 PRINT BUTTS : 20 GOTO 10 you are composing two atomic, individually obvious statements to create something more - an infinite loop. When one of the statements is a slightly more complex line that essentially means "do an infinite loop", some of that magic is lost.