I would say something like : Depends how complex the application of the scripting (how much logic does it add upto) and how often it has to run (some AI does alot of constant reevaluation of a situation just to select one action).
Also what 'script' features are needed that a native language doesnt do for you (ie garbage collection or soft typing, etc)
Script If there are Huge amounts of logic using scripting to make that logic 'nicer' for semi-programmers (and isnt run excessively to significantly lose performance) Thats if the actual server load is of any significance where that performance drop is important.
My usual solution is a normal native language with macros to do alot of grunt work (and alot of manual restrictions given to the scripters - coding forms and standards) but then I thought ....
IDEA :
A preprocessor to 'scriptify' a native language to 'dumb down' what you can do with it, to cut out alot of the 'gotchas', to sandbox it in various ways to allow use of the language in a simpler script pseudo code-like way and gain direct use of the good compilation (execution speed/codesize/lack of the 2 tier data translations) and direct debugger usage against the preprocessor-passed code.
The preprocessor would enforce the simplification of the language (search for verboten statement types, program constructs, etc.. Simple example is barf if it sees a reviled 'GOTO') but would still spit out ordinary native langauge to feed further down the build chain (and barf immediately in a readable way at a user who tried to use language features not allowed them).
Libraries could be controlled further (like not allowing use of ones not part of the allowed 'script language' specifications)
I suppose there have been more than a few script languages that translate to native code for compilation, but then you lose the advantages of a direct debug ability.
The problem -- since thereare all kinds of 'script' language features that make them used in the first place - can you replicate the ones required ?? Do many of them really never get used or wind up being source of programming problems so that its better off to eliminate them (selectively restrict them in the generalized precompiler)...
.
--------------------------------------------[size="1"]Ratings are Opinion, not Fact