Jeszcze do tematu dopowiem, że jeśli piszesz kod kompilowany do natywnego, np. w C++, to możesz w takiej aplikacji osadzić język skryptowy, np. Squirrel, aby móc łatwiej rozwijać taką aplikację, jako całość.
Jak dobrze to wszystko zrealizujesz, to piszesz tylko 'ogólny' silnik aplikacji w C++, a resztę oskryptowujesz.
Plusy takiego rozwiązania?
Rzeczy, które mają być wykonane z uwzględnieniem wydajności, koduje się zwykle w aplikacji-hoście, co zapewnia im właśnie odpowiednią szybkość działania. Umieszczenie czegoś "poza rdzeniem" aplikacji umożliwia szybsze wprowadzanie zmian - nie musisz każdorazowo kompilować na nowo programu, jeśli zmienisz coś w skrypcie.
Ba - jak dobrze pokombinujesz, będziesz mógł wprowadzać zmiany w trakcie działania programu. :) Ale to już jest inna bajka, tzw. meta-programming.
Poza tym - języki skryptowe zazwyczaj są łatwiejsze (wyższego poziomu), niż kompilowane do kodu natywnego - czyli hipotetycznie więcej ludzi (mniej wykwalifikowanych) może pracować nad rozwojem aplikacji.
No i jeszcze jedna bardzo ładna zaleta stosowania skryptów - daje możliwość tworzenia wtyczek, czy też modów przez społeczność użytkowników. :)