Escolhendo um front-end / intérprete para um código científico

A ferramenta de simulação que desenvolvi nos últimos dois anos é escrita em C ++ e atualmente possui um front-end interpretado por tcl. Foi escrito de forma que possa ser executado em um shell interativo ou passando um arquivo de entrada. De qualquer forma, o arquivo de entrada é escrito em tcl (com muitos comandos adicionais específicos de simulação que eu adicionei). Isso permite arquivos de entrada bastante poderosos (por exemplo, ao executar o monte-carlo sims, distribuições aleatórias podem ser programadas como procedimentos tcl diretamente no arquivo de entrada).

Infelizmente, estou descobrindo que o intérprete tcl está se tornando um pouco limitado em comparação com o que as linguagens interpretadas mais modernas têm a oferecer, e sua sintaxe parece um pouco misteriosa. Como o mecanismo computacional foi escrito como uma biblioteca com uma API compatível com c, deve ser fácil escrever front-ends alternativos, e estou pensando em mudar para um novo intérprete, mas estou tendo um pouco de tempo escolhendo (principalmente porque não tenho experiência significativa com muitas linguagens interpretadas). As opções que comecei a explorar são as seguintes:

Restante com tcl:
Prós:
- Não há necessidade de alterar o código existente.
- Os arquivos de entrada existentes permanecem os mesmos. (embora eu provavelmente mantenha o front end do tcl como opção)
- Linguagem madura com muito apoio da comunidade.
Contras:
- Sensação limitada pela sintaxe da linguagem.
- Receber reclamações dos usuários quanto à dificuldade de aprender tcl.

Pitão:
Prós:
- Intérprete moderno, conhecido por ser bastante eficiente.
- Comunidade grande e ativa.
- Módulos científicos e matemáticos conhecidos, como scipy.
- Comumente usado na comunidade científica / engenharia acadêmica (usuários típicos do meu código)
Contras:
- Eu nunca o usei e, portanto, levaria tempo para aprender a linguagem (isso também é um profissional, pois eu pretendo aprender python há algum tempo)
- Formatação estrita dos arquivos de entrada (recuo, etc.)

Matlab:
Prós:
- Ferramenta matemática muito poderosa e amplamente utilizada
- Poderosa visualização / plotagem embutida.
- Extensível, através de código enviado pela comunidade, bem como caixas de ferramentas comerciais.
- Muitos acadêmicos de ciências / engenharia estão familiarizados e confortáveis com o Matlab.
Contras:
- Não é possível distribuir como executável - precisaria ser um complemento / caixa de ferramentas.
- Requereria (?) O compilador matlab (que é caro).
- Requer Matlab, que também é caro.

Esses prós e contras são o que pude apresentar, embora tenha muito pouca experiência com linguagens interpretadas em geral. Eu adoraria ouvir qualquer opinião sobre os intérpretes que propus aqui, se esses prós / contras listados forem legítimos e quaisquer outros intérpretes em que eu não tenha pensado (por exemplo, o php seria apropriado para algo assim? ?). A experiência em primeira mão na incorporação de um intérprete no seu código é definitivamente uma vantagem!

questionAnswers(3)

yourAnswerToTheQuestion