wtorek, października 25, 2011

Co z językami skryptowymi?

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):

  1. JVM scripting language No. 1: Groovy -- powerful, high-level, enterprise-friendly
  2. JVM scripting language No. 2: JRuby -- a better Ruby than Ruby?
  3. JVM scripting language No. 3: Scala -- fast, multiparadigm programming
  4. JVM scripting language No. 4: Fantom -- Java and .Net plus performance
  5. JVM scripting language No. 5: Jython -- Python for the JVM
  6. Clojure, JavaFX, and NetRexx

Uratowane projekty z laboratorium Google

Mimo cięć oszczędnościowych w portfelu laboratorium Google jest jeszcze wiele ciekawych projektów:

  1. Google Transliteration – tłumaczenia foneyczne (to nie to samo co Google Translate)
  2. Swiffy – tłumaczy Flash do HTML5
  3. Google Shared Spaces – teraz włączony do G+ handsOut
  4. Google Body
  5. Google App Inventor