Prezentace Scala vs. Java 8
V rámci interních školení u nás proběhla prezentace představující programovací jazyk Scala a porovnávající jej s jazykem Java ve verzi 8. Scala je programovací jazyk kompatibilní s Javou, který v sobě kombinuje objektově orientované a funkcionální programování. Tento jazyk, navržený v roce 2003 Martinem Oderskym, německým počítačovým vědcem působícím ve Švýcarsku, se vyznačuje několika zajímavými vlastnostmi jako jsou pattern matching, duck typing či anonymní funkce. Právě posledně jmenované Anonymní funkce přinesla i Java 8 v podobě lambda výrazů.
Agenda školení
Představení jazyka Scala
- Navrhl Martin Odersky v roce 2003
- Integruje funkcionální a objektově orientované programování
- Kompatibilní s jazykem Java
- Platformy: JVM, LLVM
Syntaxe
- Volná pravidla syntaxe
- Stručnost
- Nepovinné středníky
- var, val, def
Zajímavé vlastnosti
- Pattern matching
- Anonymní funkce
- Duck typing
- Clousures
- Currying
Objekty
- Vše je objekt
- Objekt – singleton pattern
- Třídy Any, AnyVal, AnyRef, Null, Nothing
- Třídy, abstraktní třídy, traity, templaty, dědičkost
Funkce
- Povinné typování parametrů
- Procedura
- Anonymní funkce
- Parameter placeholder
Anonymní funkce
- Java 8 – lambda výrazy
- Modifikace proměnných vně funkce
XML
- Podpora parsování
- Ukázka kódu
Výkon
- Výpočetně asymptoticky ekvivalentní Javě
- Vyšší paměťová náročnost
- Kratší kód
Ukázky kódu
- Hello world
- Duck typing
- Currying
- Clousures
- Quick sort
Ukázky z prezentace
Stručné představení jazyka Scala a jeho hlavních vlastností, vyzdvižení jeho přínosů a nevýhod.
Ukázka kódu řadícího algoritmu quick sort, která demonstruje stručnost syntaxe Scaly.
Ukázka použití lambda výrazů v Javě 8 a ekvivalentní používání anonymních funkcí ve Scale.
Závěr
V prezentaci jsme se seznámili s vlastnostmi jazyka Scala a porovnali jsme jej s jazykem Java, ukázali jsme si několik příkladů jeho použití a v závěru prodiskutovali jeho klady a zápory. Během diskuse, která následovala po prezentaci, byly účastníky komentovány hlavně anonymní funkce a možnosti jejich používání v jazyce Scala. Jako největší výhoda jazyka Scala z diskuse vyšel duck typing, tedy možnost definovat parametry funkce pouze pomocí metod, které implementují bez nutnosti implementovat jednotné rozhraní. Následně pak také proběhla diskuse o výkonu programů napsaných ve Scale. Pokud Vás náplň školení zaujala či máte nějaký dotaz, neváhejte nás kontaktovat na adrese info@bcvsolutions.eu.