You already have a few answers that mention type safety, and this is a good reason, but it is definitely not the only one. The big problem with using scripts to generate the code is that it distributes the complex work during the build cycle and all the programmers using it. That is, even when a script is running, a programmer using a script should be reasonably aware of its existence. The build cycle has to be written in order to keep abreast of the script, and debugging with script-generated code is also relatively complex because you are debugging code that neither you nor any other person actually wrote. The script generated code is rarely written like an ordinary person will write the same thing, which makes it twice difficult to debug.
- , , . , : , ( , ) , / . , , , , .
, , , , . , , , , . , , ; .
, , . . TMP TMP . , . script, , script - .., , , , , , .