Temat: Funkcie
Szczerze mówiąc gdybym miał dziś napisać parser, czy wewnętrzny DSL to pomimo iż jak na razie zdecydowanie pewniej poruszam się w Javie postawiłbym na Scalę.
Usprawnienia samego języka takie jak np. pattern matching oraz case classes bardzo ułatwiają np. analizowanie drzew wyrażeń, a parser combinators pozwalają w zależności od potrzeb układać parser z gotowych klocków lub tworzyć wszystko od zera.
Hipotetycznie zakładając, że w Twoim teamie nikt nie zna Scali i dla jednego modułu projektu trzeba by się wdrażać w nową technologię, to faktycznie może być overhead.
Pytanie tylko co będzie bardziej rentowne w przypadku kiedy konwencjonalne, czysto Javowe rozwiązania okażą się niewystarczające (nie wiem jaki % przypadków) - inwestycja w poznanie ANTLR/JavaCC, które ma ogromne możliwości ale tylko jedno zastosowanie czy poznanie Scali?
Jeśli natomiast chodzi ci o ciężkość w kontekście wydajności, to trudno mi się tutaj wypowiedzieć - nie widziałem zestawienia w stylu Java na regexp vs. ANTLR vs. Scala na Parser Combinators.
EDIT:
Co do pisania całej aplikacji w Scali - niekoniecznie. Kod napisany w Scali można wywoływać z poziomu Javy (jednak z pewnymi ograniczeniami) ->
http://www.codecommit.com/blog/java/interop-between-ja...Marcin Kubala edytował(a) ten post dnia 14.01.13 o godzinie 22:48