Nechápu, proč je Scala tak populární. Samozřejmě jsem koketoval s myšlenkou, že se Scalu naučím. Ale rozmyslel jsem si to, aniž bych se v ní pokusil cokoliv napsat (dokonce ani Hello World). Tento příspěvek jsem pojal jako obhajobu, proč se Scale nehodlám věnovat. Jak už psal Paul Graham v kritickém příspěvku Přebal Javy: „Musíte se naučit posuzovat podle vnějších znaků a určit, které technologie stojí za váš čas.“. Vzal jsem na vědomí, proč není tak rozšířené Groovy, ale co se Scaly týče, tak souhlasím s tím, co bylo napsáno v knize Seven Languages in Seven Weeks, ze které budu citovat.

Scala představuje naprosté kacířství pro funkcionální programátory a ryzí požehnání pro Java programátory .
Přísně vzato, Scala není čistě funkcionální programovací jazyk, stejně jako C++ není čistě objektově orientovaný.
Když bylo objektově orientované paradigma nové, dav nemohl přijmout Smalltalk, protože to byla příliš nová teorie. Potřebovali jsme jazyk, který by jim dovolil pokračovat v procedurálním programování a nechal je experimentovat s objektově orientovanými myšlenkami. Díky C++ mohly vedle sebe žít objektově orientované triky spolu s existujícími procedurálními rysy jazyka C. Výsledkem bylo, že lidé mohli začít používat nové triky ve starém kontextu.
Syntaxe Scaly mi přijde trochu akademická a nesnadná pro oči.
Problém je, že přepínat ze Scaly do Javy a zpět stojí víc úsilí, než by mělo.
Použil bych Scalu ke zlepšení produktivity, kdybych měl významné investice do Java programů nebo programátorů. Rovněž bych zvažoval Scalu pro aplikace, které mají značné výkonnostní požadavky potřebující concurrency. Komerčně cílí tento Frankenstein velmi dobře, protože představuje most a zahrnuje významnou programátorskou komunitu.

Pokud někdo touží programovat funkcionálně, ale je nucen zůstat u JVM, proč nezvolí Clojure?

Clojure a Java se navzájem zoufale potřebují. Lisp potřebuje trh, který může Java virtual machine nabídnout, a Java komunita potřebuje seriózní modernizaci a injekci zábavy.

Akumulátor test

V souvislosti s Javou 8 jsem připomínal úlohu akumulátor test. Porovnejte s řešením ve Scale, Clojure a v Javě 8.

Trendy

Na závěr mé dva oblíbené zdroje grafů (Nevěřím žádné statistice, kterou jsem sám nezfalšoval – jakkoliv je to podvržený citát) a to Google Trends a pracovní server Indeed.com.

A jaký je váš vztah ke Scale?