As a Python user who read about 60% of SICP, yes it really is readable.
The trick is to realize that in lisps open-parenthesis denotes something more than a grouping. ( means "function call", and a change in scope.
So if it really was written in Python, it would look something like this:
setv(result, sub(div(add(1, 2, 88), 2), 8))
Really, this is clearer what's happening under the hood than infix notation. + is a function, and so is =. Why is it called the way that it is, other than convention? It's just syntactic sugar. Doing it with prefix notation makes every function have the same syntax, which makes nesting functions easier to look at and reason about.
The trick is to realize that in lisps open-parenthesis denotes something more than a grouping. ( means "function call", and a change in scope.
So if it really was written in Python, it would look something like this:
Really, this is clearer what's happening under the hood than infix notation. + is a function, and so is =. Why is it called the way that it is, other than convention? It's just syntactic sugar. Doing it with prefix notation makes every function have the same syntax, which makes nesting functions easier to look at and reason about.