Trivial Pursuit "Scala"

Scala Trivia – das QUIZ: Wie gut kennst du dich mit Scala aus?

Lightbend Engineering Team

© Shutterstock / Frazao

Unser Trivia-Quiz ist wieder da, dieses Mal mit einer weiteren populären Programmiersprache: Scala. Blutiger Anfänger oder wahrer Meister – wo stehst du?

Scala erfreut sich nach wie vor großer Beliebtheit. Ursprünglich entworfen, um auf gewisse Kritikpunkte von Java zu reagieren, handelt es sich bei Scala um eine konzise funktionale Programmiersprache. Heute fordern wir euch zu einem kleinen Scala-Quiz heraus: Wie gut steht es um euer Grundlagenwissen?

Los geht’s mit der ersten Frage!

1. Wann wurde Scala erschaffen?

a) 1997
b) 2004
c) 2005
d) 2010

Antwort

b) 2004! Der deutsche Informatiker Martin Odersky hat Scala 2004 erschaffen.

 

2. Die Leitung von Scala liegt bei der EPFL. Wofür steht EPFL?

a) Eclipse Process Flow Language
b) rEal Programming For Luminaries
c) École Polytechnique Fédérale de Lausanne
d) Enterprise Functional Programming Language (Der Fehler in der Reihenfolge war unbeabsichtigt, hat sich aber so erhalten)

Antwort

c) École Polytechnique Fédérale de Lausanne! Die EPFL, also Swiss Federal Institute of Technology in Lausanne, ist eine Forschungseinrichtung bzw. Universität in der Schweiz, die sich auf physikalische Ingenieurswissenschaften spezialisiert hat und an der Martin Odersky als Professor tätig ist.

 

3. Martin Oderskys vorherige Programmiersprache, die er zusammen mit Philip Wadler designt hat, hieß…:

a) Pizza
b) Chai
c) Repast
d) Chocolate

Antwort

a) Pizza! Pizza wurde 1996 entworfen. Es war eine Obermenge von Java, und einige der Scala Features waren bereits vorhanden, beispielsweise Pattern Matching.

 

4. Eine Collection des Typs scala.Seq ist immutable (unveränderlich).

a) Wahr
b) Falsch

Antwort

b) Falsch! Eine Collection des Typs scala.Seq kann mutable oder immutable sein. scala.Seq stellt keinerlei Mutations-Methoden zur Verfügung, so dass eine Methode, die ein Seq erhält, keine Veränderung durchführen kann. Anderer Code kann jedoch in der Lage sein, das zu tun.

 

5. Wie viele Codezeilen hat der Scala Compiler? Genauer gefragt, wie viele Codezeilen sind in Version 2.12.2 (inklusive des Quellcodes des Scala Reflection-Moduls „Scala-Reflect“, auf welchem der Compiler aufgebaut ist)?

a) 525.600 Zeilen insgesamt, 495.071 Zeilen Code
b) 24.601 Zeilen insgesamt, 22.742 Zeilen Code
c) 136.008 Zeilen insgesamt, 84.913 Zeilen Code
d) 190.637 Zeilen insgesamt, 107.253 Zeilen Code.

Antwort

c) 136.008 Zeilen insgesamt, 84.913 Zeilen Code! Das ist ganz schön viel Code. 525.600 ist natürlich die Anzahl der Minuten pro Jahr und 24.601 ist Javerts Gefängnis Nummer (Victor Hugo). Und für alle Adleraugen aus dem Hause Ravenclaw, d) bezieht sich auf die Anzahl der Wörter von „Harry Potter und der Feuerkelch“ bzw. „Der Gefangene von Azkaban“.

 

6. Wie viele Personen haben im letzten Jahr Beiträge zum Scala-Repository? geleistet

a) 42
b) 78
c) 87
d) 89

Antwort

b) 78! Man kann es auch selber überprüfen und nachgucken, wer alles bei Scala als Contributor ausgeholfen hat.

git shortlog -sn --since="23 May 2016" | wc -l

 

7. Ordnet die folgenden Sprach-Features an, vom ältesten zum neuesten:

a) Procedure Syntax: `def f() { …}` is equivalent to `def f(): Unit = { … }`
b) Optionale Semicolons
c) Lazy Values
d) Tuple Syntax, ursprünglich mit geschweiften Klammern {1, 2} ist äquivalent zu Tuple2(1, 2)=

Antwort

b, a, d, c! Optionale Semikolons waren Teil von Scala 2.0, Procedure Syntax ist in 2.30 aufgetaucht, Tuple Syntax folgte direkt danach in 2.3.2 und Lazy Values waren Teil von 2.6.0.

 

8. An welchem Feature wurde nie gearbeitet?

a) Virtuelle Klassen
b) Einrückungs-basierte Syntax ohne geschweifte Klammern
c) Übersetzung ins Deutsche, inklusive aller Keywords
d) Typen optional machen, dynamische Typing

Antwort

 d) Typen optional machen! Zumindest soweit wir wissen. Virtuelle Klassen, Einrückungs-basierte Syntax ohne geschweifte Klammern und eine Übersetzung ins Deutsche sind alle online verfügbar.

 

9. Auf welche der folgenden Runtime-Plattformen kann Scala momentan nicht kompiliert werden?

a) JVM
b) Android
c) .NET
d) JavaScript

Antwort

c) .NET! Der Support für die Kompilierung nach .NET wurde 2012 aufgegeben.

 

Ergebnisse:

Also, wie habt Ihr euch geschlagen? Hier ist die Auswertung:

0 bis 3 richtige Antworten: Du bist noch Anfänger in Sachen Scala. Ein bisschen mehr Zeit für das Studium der Sprache würde dir gut tun.

4 bis 5 richtige Antworten: Du kennst dich schon ziemlich gut in der Geschichte von Scala aus; dir fehlt aber noch der Blick fürs Detail.

6 bis 7 richtige Antworten: Sehr gut! Du beherrscht dein Handwerkszeug!

8 bis 9 richtige Antworten: Du bist ein echter Scala-Meister.

Lust auf mehr? Dann teste doch auch dein Grundlagenwissen in Sachen Java:

Wie gut kennen Sie sich mit Java aus?

Verwandte Themen:

Geschrieben von
Lightbend Engineering Team
  • Markus Eisele is a Developer Advocate at Lightbend.
  • James Roper is a Tech Lead at Lightbend.
  • Seth Tisue is a Software Engineer at Lightbend.
  • Lukas Rytz is a Software Engineer at Lightbend.
  • Ignasi Marimon-Clos i Sunyol is a Software Engineer at Lightbend.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.