Osobní stránky

Scala – instalace na Ubuntu linux

Scala je moderní programovací jazyk postavený nad Java Virtual Machine (JVM). Byl inspirován moderními jazyky jako například Ruby, takže umožňuje psát menší množství kódu, což vede k méně chybám. Do kódu píšete opravdu pouze nezbytné znaky, bohužel na úkor vyšší složitosti celého jazyka.

Jednou z největších výhod Scaly je, že zdrojový kód je kompilován přímo do bytekódu Javy, takže může běžet všude tam, kde poběží Java. Navíc můžete přímo ve Scale používat třídy a knihovny z Javy. Máte tak k dispozici celý ekosystém hotových knihoven a frameworků pro Javu, které můžete použít přímo ve Scale.

Další nespornou výhodou Scaly je její škálovatelnost. Například Twitter přepsal jádro svého systému právě do Scaly kvůli rychlosti a škálovatelnosti. Pro paralelní spuštění programu byla Scala vytvořena a s narůstáním počtu jader v procesor se tato vlastnost bude hodit mnohem více.

Instalace Scaly

Pro instalaci si nejdříve musíte stáhnout nejnovější verzi z oficiálních stránek: http://www.scala-lang.org/downloads. Pro instalaci na Ubuntu, nebo kteroukoliv linuxovou distribuci vyberte: Unix, Mac OS X, Cygwin. V době psaní článku byla aktuální verze: 2.9.1.

Po stáhnutí balík rozbalte. To uděláte tak, že po kliknutí na archiv pravým tlačítkem vyberete Extract here (Extrahovat zde v české verzi Ubuntu). Anebo můžete archiv rozbalit přímo z příkazové řádky zadáním:

tar zxf scala-2.9.1.final.tgz

Musíte samozřejmě zadat jméno vámi staženého souboru. V rozbaleném archivu byste měli nalézt složky (u různých verzí se může tato struktura měnit):

  • bin
  • doc
  • lib
  • man
  • meta
  • misc
  • src

Celou složku nyní přesuneme do /usr/share/scala/, aby byla Scala dostupná pro všechny uživatele našeho systému. Použijeme příkaz v terminálu:

sudo mv scala-2.9.1.final /usr/share/scala-2.9.1.final

Znovu musíte uvést jméno složky vašeho rozbaleného archivu. Jelikož do složky /usr/share/ je povoleno kopírování jen pro administrátora systému (root), musíme před příkaz přidat sudo, která se zeptá na heslo do systému a příkaz povolí.

Nyní máme Scalu přístupnou pro všechny uživatele systému, ale pravděpodobně budeme chtít najít scalu bez nutnosti pamatovat si aktuální verzi. Vytvoříme tedy složku /usr/share/scala, která bude odkazovat na aktuální verzi, v našem případě na /usr/share/scala-2.9.1.final. Odkaz vytvříme následovně:

sudo ln -s /usr/share/scala-2.9.1.final /usr/share/scala

Při přechodu na novější verzi, stačí přesunout rozbalenou složku s novou verzí do adresáře /usr/share, například /usr/share/scala-2.9.2.0. Následně jen přepíšeme odkaz na nové umístění:

sudo ln -s /usr/share/scala-2.9.2.0 /usr/share/scala

Výhoda tohoto přístupu tkví v tom, že pokud budeme potřebovat znovu používat starší verzi, změníme jen odkaz a vše bude ihned fungovat.

Posledním krokem je přidání proměnných systému, abychom mohli používat Scalu z příkazové řádky a dalšími programy. Ke globálním proměnným systému přidáme SCALA_HOME a přidáme cestu ke Scale do PATH proměnné.

Do souboru /etc/profile přidáme na konec tyto dva řádky:

export SCALA_HOME="/usr/share/scala"
export PATH="${SCALA_HOME}/bin:${PATH}"

Na konec musíme načíst proměnné do systému:

source /etc/profile

Nyní již můžeme využívat Scalu z příkazové řádky. Stačí v terminálu zadat:

scala

A zobrazí se vám konzole Scaly s informací o verzi a dalších podrobnostech. Zde můžete zadávat příkazy a testovat Scalu.

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) Client VM, Java 1.7.0).
Type in expressions to have them evaluated.
Type :help for more information.

Pro ukončení Scala konzole zadejte :quit.

Scala v Netbeans

Pro programování v Javě používám jako svůj vývojový nástroj Netbeans. Do Netbeans existuje plugin i pro používání Scaly, takže můžeme toto vývojové prostředí používat pro oba jazyky.

Nejprve musíme stáhnout oficiální plugin ze stránek: http://sourceforge.net/projects/erlybird/files/nb-scala/.

Pro instalaci archiv rozbalíme a přidáme do NetBeans následovně.

  1. Otevřeme okno plugins: Tools -> Plugins
  2. Na kartě Downloaded přidáme všechny soubory z rozbaleného archivu: Add Plugins 
  3. Pod výběrem balíčků klikneme na Install.
  4. Po úspěšné instalaci se vám v nabídce New project objeví možnost Scala.

Pro spuštění Scala aplikace přímo v Netbeans je potřeba říct kde je Scala umístěna. Ve složce, kde jsou Netbeans nainstalovány musíte upravit soubor etc/netbeans.conf. Při klasické instalaci je tento soubor v adresáři: /usr/local/netbeans-7.1/netbeans.conf, může se lišit číslo verze vašich Netbeans.

Řádek začínající netbeans_default_options je potřeba upravit tak, že na konec před uvozovky (") dáte -J-Dscala.home=/usr/share/scala. Celý řádek tedy bude vypadat následovně:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Dscala.home=/usr/share/scala"

Nyní již můžete spouštět Scala projekt přímo z Netbeans stejně jako Java aplikace přes: Run -> Run Main Project.

Odstranění Scaly

Pro smazání staré verze Scaly stačí smazat adresář odpovídající verze v umístění /usr/share/. Z příkazové řádky:

sudo rm -rf /usr/share/scala-2.9.1.final

Pro úplné odstranění ze systému musíte smazat přidané řádky v souboru /etc/profile, uvést konfigurační soubory Netbeans do původního stavu, smazat všechny verze z /usr/share a nakonec musíte smazat i samotný odkaz:

sudo rm /usr/share/scala

Závěr

Scala je rychle se rozvíjející moderní jazyk, který odráží potřeby vývojářů rychle vyvinout aplikaci. Java je v této době již poměrně starý jazyk a nese si proto s sebou závislosti z minulosti (např. špatně navržená třída Date a Calendar), které kvůli zpětné kompatibilitě nemůžou být jen tak odstraněny. Scala je tedy takovou moderní náhradou Javy s upravenou syntaxí a bez zbytečných závislostí.

Jakub Škvára


Jakub je cestovatel, blogger a webový vývojář. Zajímá se především o technické novinky a rád navštěvuje konference. Používá: Symfony2 Framework, AngularJS, NodeJS, MongoDB a další moderní technologie. Aktuálně žije v Londýně.