Yeah, a script is indeed a thread so you can handle multithreading. You couldn't do that for SQS scripts becaues there were no script handlers.
@ionos
Now I get the difference between the two commands, it writes the line numbers and it doesn't just put the "#" simbol after the error. But the ArmA compiler is very bugged anyway, it rarely shows the true error you made, I usually debug the code myself because if you put a wrong argument for a function (for instance you put a string but you forget to close it with " ) it casts a code block error (it says "code expected") if you do that inside a control structure.