Aqui estou eu, fazendo malabarismo pra enfiar Lua ou até o JS nas aplicações C++ pra rodar scripts, enquanto a galera tá aí escrevendo script em... C++? Interessante.
Pois é, o C++ moderno tem seus brinquedinhos, mas, sinceramente, esses dois primeiros motivos – STL rica e estar disponível em todo lugar – o Python já faz tudo isso, e sem drama, né?
E essa do binário isolado pra "facilitar a virtualização"? Sei lá, não faz muito sentido. Eu quero que meus scripts rodem dentro de um ambiente específico, com tudo configurado, não de forma isolada.
Pra ser sincero, usar uma linguagem compilada pra fazer scripts me parece mais coisa de quem quer bancar o espertão do que uma vantagem real. As linguagen dinâmicas existem justamente para isso???
Se você realmente precisa que seus scripts sejam rápidos — o que, convenhamos, já indica que talvez nem devesse ser um script — aí sim, manda ver, com Go ou D que entregam performance quase total com muitos menos complicação e boiler plate que C++.
Estou sem tempo pra comentar decentemente e o seu também nem explorou tudo o que poderia, mas quero reforçar que isso faz pouco sentido real. Claro que dá pra usar e se a pessoa só sabe C++, isso é algo muito raro, até faria algum sentido mais prático do que necessidade. Várias argumentações da PO não fazem sentido, pelo menos para quem é experiente.
E sim, Lua é ótima pra isso, e dá até pra gerar exe
fácil se for muito necessário, resolve todas as questões que tenham alguma relevância (velocidade pra script...).
ai que tá qual versão do python você vai usar? pois o python tem atualizações frequentes pode cair na problematica de usar uma versão mais atualizada que outro.
no C++ as mudanças levam tempo, nunca são breakchanges e novas features são adicionadas somente 1 vez por decada.
STL do C++ é muito grande, equiparavel ao java.. muito maior que o Python, sem contar que você ainda tem beneficios de execução em comptime e muito mais polimorfismo maior que JS, Ruby ou Python.
Binário isolado faz total sentido, pois você não fica dependente de shell script para fazer coisas mais complexas ao usar containers, vamos supor que tu usa um gerador de documentação como doxygen, se usa-se python ou js teria que buildar uma imagem apenas para usar um pequeno script de filtro. já fazendo um binário estatico você pode usar imagens prontas do docker hub.