Języki dynamiczne potrzebują środowiska uruchomieniowego (zresztą obecnie każdy język poza assemblerem musi mieć jakiś wspomagający go run-time). Najczęściej jest to silnik tłumaczący kod źródłowy w locie do kodu półskompilowanego i wykonujący w swym środowisku (wspomagającym o różne biblioteki). Nazywamy to interpreterem. Interpreter natywny wspiera jeden język. Ale teraz coraz częściej w roli takiego interpretera wykorzystuje się maszyny wirtualne. W przypadku platformy .NET mamy do czynienia z DLR (Dynamic Language Runtime) wspierającym m.in. Python, Ruby. W przypadku Javy mamy JVM (Java Virtual Machine). Język dynamiczny to taki, który aktualnie coś robi a nie bawi się w ceremoniał owijania wszystkiego (programu źródłowego) w bawełnę w imię optymalizacji kodu – języki dynamiczne ułatwiają programowanie czyniąc to krótko i treściwie.
W JVM mamy do wyboru wiele języków dynamicznych, do najpopularniejszych zaliczamy wg. infoworld):
- JVM scripting language No. 1: Groovy -- powerful, high-level, enterprise-friendly
- JVM scripting language No. 2: JRuby -- a better Ruby than Ruby?
- JVM scripting language No. 3: Scala -- fast, multiparadigm programming
- JVM scripting language No. 4: Fantom -- Java and .Net plus performance
- JVM scripting language No. 5: Jython -- Python for the JVM
- Clojure, JavaFX, and NetRexx
Brak komentarzy:
Prześlij komentarz