Using text to represent and edit code hinders efficient use of space. The lines-of-characters paradigm makes it easy to write and edit single-line expressions:
if p x then 1 else 0
Multi-line code is trickier because one needs to maintain indentation and alignment:
if p x then (do eatBreakfast writeCode goToSleep) else (do skipBreakfast launchMissiles)
Combined use of horizontal and vertical layout is not feasible at all:
if p x then do eatBreakfast writeCode goToSleep else do skipBreakfast launchMissiles
Structure editors can easily support this sort of layout, which becomes more important for highly nested expressions.