No właśnie to już nie jest przesadnie czytelne, bo normalnie masz 5x dłuższy tekst i 5x więcej funkcji per linijka, każda z 3-5 argumentami. Oczywiście na co dzień i tak korzystamy z edytora, ale wyobraź sobie wysyłanie takiego tekstu do korektora, który nie ma pojęcia co to wszystko znaczy. W zasadzie rodzi to potrzebę posiadania oddzielnej tablicy stringów, a to znowu komplikacja.
No i przy takim rozwiązaniu każdą jedną rzecz musisz ująć we własny skrypt. Czyli już nie starczy actor.depth+=1 wiszące luzem, ale właśnie coś w stylu: "action:"actorDepth", arg:1, arg0:1". Pozornie to mała różnica, ale przy debugu i późnym polishu możliwość szybkiego zrobienia poprawki poprzez bezpośrednie wstawienie GML bardzo się przydaje.
Więc tego. Wiadomo - wszystko się da i to niby nie problem. Ale jednak execute_string pozwalało na więcej elastyczności i wygody przy edycji.
[*]