Unverbindliche SEO-Anfrage

Bitte w├Ąhlen Sie:

Skala Begriffserkl├Ąrung und Definition

skalaBei Skala handelt es sich um eine objektorientierte und funktionale Programmiersprache. Der Name Skala leitet sich von dem englischen scalable language ab. Dies bedeutet, dass es sich um einen kompakt gehaltenen Sprachkern in Skala handelt. Skala bietet die M├Âglichkeit die h├Ąufig verwendeten Sprachelemente wie es beispielsweise bei Operatoren oder bei zus├Ątzlichen Kontrollstrukturen der Fall ist, in die verschiedenen Benutzerklassen zu implementieren. Dadurch wird der Sprachumfang erheblich erweitert. Zudem ist es mit Skala m├Âglich eigene Sprachen, die beispielsweise dom├Ąnenspezifisch sein k├Ânnen, zu erstellen. Bei solchen domainspezifischen Sprachen handelt es sich um Domain Specific Languages, kurz DSL.

Die Geschichte der Entwicklung von Skala

Skala wurde in einem Schweizer Labor f├╝r Programmiermethoden entwickelt. Die Leitung hatte Martin Odersky, der unter Nikolaus Wirth arbeitete. Im Jahr 1995 entwickelte er in Zusammenarbeit mit Philip Wadler die Programmiersprache Pizza. Diese erweiterte Java um Pattern Matching, Funktionszeiger und Generics. Im sp├Ąteren Verlauf konzentrierten sich Odersky und Wadler auf die die Generics f├╝r Java. Durch dieses Projekt kam es zu der Einf├╝hrung der Generics in Java. Seit dem Jahr 1999 arbeitete Odersky an der ├ëcole polytechnique f├ęd├ęrale de Lausanne. Dort entwickelte Funnel, eine minimalistische Hybridsprache. Hier entwickelte er auch Skala. Skala diente im Gegensatz zu der Programmiersprache Funnel nicht nur rein akademischen Zwecken. Skala sollte eine vollwertige Programmiersprache f├╝r reale Anwendungen in der Wirtschaft und in der Industrie werden. Im Jahr 2004 kam es zur Ver├Âffentlichung von Skala. Die Ver├Âffentlichung f├╝r Java erfolgte im Fr├╝hjahr 2004, die f├╝r NET im Juni 2004. Seit dem Jahr 2011 wird durch das European Research Council die Weiterentwicklung von Skala finanziell unterst├╝tzt. Ziel der Unterst├╝tzung ist es, die Ressourcen der parallelen Programmierung weiter auszubauen und erweitern zu k├Ânnen. Odersky gab im Mai 2011 den Unternehmensstart von Typesafe bekannt. Bei Typesafe handelt es sich um ein Unternehmen, das es sich zur Aufgabe gemacht hat, den kommerziellen Support der Middleware Framework Akka voranzutreiben und den kommerziellen Vertrieb von Skala zu ├╝bernehmen.

Die Integration von Skala in Java

Die Programme von Skala k├Ânnen durch Java-JARs angesprochen werden oder diese ansprechen. So k├Ânnen die bestehenden Bibliotheken und Frameworks sowie die Projekte von Skala mit in Java eingebunden und folglich dort auch genutzt werden. So ├Ąhnlich sieht es auch bei der Integration der g├Ąngigsten Werkzeuge aus. Werkzeuge wie, Eclipse, IntelliJ oder NetBeans werden durch Skala unterst├╝tzt.

Die Objektorientierung von Skala

Im Gegensatz zu Java handelt es sich bei Scala um eine objektorientierte Programmiersprache. Bei Skala ist ein jeder Wert zugleich auch ein Objekt. Das ist auch bei primitiven Datentypen der Fall, ohne dass es in Skala zu Einbu├čen in der Performance kommt. Grund daf├╝r ist, dass der Compiler Bytecodes erzeugt. Diese Bytecodes verwenden primitive Datentypen. Die Interfaces hingegen werden ├╝ber Traits, bzw. ├╝ber deren Mechanismen implementiert. Die Traits bestehen nicht ausschlie├člich aus Definitionen, es k├Ânnen schon Implementierungen der Methoden darin enthalten sein. Durch die Klassen kann eine Trait erweitert werden. Zudem besteht die M├Âglichkeit, auch mehrere zu erweitern. Diese Traits beinhalten keine Mehrfachvererbung, sondern bestehen aus einem Mixin-Mechanismus. Durch das Schl├╝sselwort object, welches anstelle des Schl├╝sselworts class verwendet wird, kommt es zu der Bereitstellung der Implementierung von dem Entwurfsmuster Singleton.

Die Funktionen von Skala

Bei den Funktionen in Skala handelt es sich um First-Class-Objekts. Dieses First-Class-Objekt kann immer dann verwendet werden, wenn Werte erlaubt sind. Das ist beispielsweise bei der Zuweisung an Variablen der Fall. Hierbei ist jedoch nicht das Ergebnis von der Funktionsauswertung gemeint. Stattdessen ist die Funktion selbst gemeint. Es kann sich aber auch um die Zuweisung bei den verschiedenen Parameter├╝bergaben handeln. Diese Methoden in Skala k├Ânnen zu jeder Zeit zu Funktionen umgewandelt werden. Bei ihnen handelt es sich jedoch nicht um First-Class-Objekte. Aber auch die Funktionen von h├Âherer Ordnung k├Ânnen in Skala realisiert werden.

Das Typsystem in Skala

Skala wurde statisch typisiert. In Skala verwenden die generischen Klassen Typen. Diese Typen sind zum Zeitpunkt der Entwicklung jedoch noch nicht definiert. So k├Ânnen beispielsweise List Oberklassen die abstrakten Typen zwar vorgeben, diese m├╝ssen jedoch in den Unterklassen durch konkrete Typen weiter spezifiziert werden. Das gilt auch f├╝r die Variablen wie es bei var oder val der Fall ist und f├╝r die Methoden.

Die Kovarianz und die Kontravarianz in Skala

In Skala k├Ânnen die Typparameter innerhalb einer generischen Klasse mit Annotationen versehen werden. Die Annotation bestimmt dann wie die Untertyprelationen der Typargumente auf die verschiedenen. Durch die Varianzannotationen wird beeinflusst, wo der Typparameter genutzt werden darf. So d├╝rfen beispielsweise die kovarianten Typparameter nicht als ein Typ der Methodenargumente genutzt werden. Die Kontravarianten d├╝rfen nicht als ein R├╝ckgabetyp Verwendung finden.

Die Typinferenz

Bei der Typinferenz handelt es sich um die F├Ąhigkeit, von einem Compiler den Typ von einem Ausdruck aus einem Kontext herzuleiten.

Die Auswertungsstrategie in Skala

In Skala werden die funktionalen Ausdr├╝cke strikt ausgewertet. Durch das Schl├╝sselwort lazy kann eine Auswertung verz├Âgert werden. Hierbei handelt es sich um die Lazy-Evaluation. Hier werden einzelne Ausdr├╝cke spezifiziert. Methoden wie view oder force bieten die M├Âglichkeit von einer verz├Âgerten Auswertung. Die Methoden view und force unterst├╝tzen in Skala die Collektion-Klassen.

Die Nebenl├Ąufigkeit in Skala

Die Skala Threads werden durch Java-Bibliotheken unterst├╝tzt. In der Bibliothek von Skala gibt es die M├Âglichkeit der Implementierung der Aktoren. Die in Erlang umgesetzte Aktoren-Implementierung inspiriert dies.

Die Syntax in Skala

In Skala ist die Syntax der Programmiersprache an ML und auch an Java angelehnt. Von Java wurden in Skala etliche Schl├╝sselworte ├╝bernommen. Aber auch die in Skala verwendete Blocksyntax wurde von Java ├╝bernommen. Von ML wurden in Skala die Deklarationen und die Typannotationen verwendet. Bei der Syntax von Skala kann jedoch im Vergleich zu der Syntax von Java meist das Semikolon, welches in Java am Ende der Zeilen verwendet wird, entfallen. Jedoch lehnt sich die Syntax zur Typendefinition der Variablen und der R├╝ckgabewerte in Skala an der von ML an. Hier wird nicht der Typ variable, sondern der variable: Typ formuliert. In Skala erfolgt die Definition und die Definition von Werten, Methoden und Variablen durch die Schl├╝sselw├Ârter, def, var und val. Hierauf folgen die Typangaben. Skala bietet zudem die M├Âglichkeit, Quelltexte im Vergleich zu denen von Java kompakter zu gestalten. Das kann beispielsweise durch Typinferenz, anonymen Funktionen oder for comprehensions geschehen.

Die Operatoren in Skala

In Skala gibt es f├╝r die Pr├Ąfix-Operationen fest vorgegebene Mengen. Diese fest vorgegebenen Mengen sind +, -, ! und ~. So bedeutet in Skala beispielsweise -x das gleiche wie x.unary_-. Zudem sind in Skala Postfix-Operator-Ausdr├╝ck m├Âglich. Der Operator erf├Ąhrt hier keinerlei Einschr├Ąnkungen. Das ├ťbersetzungsergebnis ist in Skala ein Aufruf von der parameterlosen Methode. Dieser Aufruf erfolgt in Skala auf dem Operanden. Bei den Infix-Operationen ist das erste Zeichen der Operatornamen entscheidend ├╝ber die Assoziativit├Ąt und die Pr├Ązedenz. Diese erfolgen in Skala nach den in der Mathematik g├Ąngigen Konventionen. In Skala wird auf dem Objekt 1 die Methode + aufgerufen. Dabei wird das Ergebnis, also der Parameter z.* von einem weiteren Methodenaufruf ├╝bergeben. Wenn der Methodenname von einem Infixoperator mit einem Doppelpunkt endet, so wird die Reihenfolge der Empf├Ąnger, und die der Parameter vertauscht. Der Operator ist in diesem Fall rechtsassoziativ.

Die Verwendung von Skala in der freien Wirtschaft

Skala wird mittlerweile h├Ąufig in der Industrie angewendet. Bei den Social Networks wie LinkedIn oder Twitter ist eine Implementierung von Skala f├╝r die Nachrichten-Warteschlangen erfolgt. Zudem wird Skala in vielen Unternehmen verwendet. Darunter befinden sich unter anderem auch Sony, Siemens, Novell oder auch ├ëlectricit├ę de France Trading.



Zur├╝ck zur Hauptseite: s

Wir sind Ihre Spezialisten:

  • ✅ Erfahrung seit 2004
  • ✅ Sitz in Deutschland
  • ✅ Betrieb eigener Webseiten = eigenes Know-how
  • ✅ Kostenlose, unverbindliche Erstberatung
Tel. 0771 - 1589439
Anfrage Formular

Onpage Optimierung

Suchmaschinenoptimierung im Quelltext

Wir schaffen f├╝r Ihre Webseite oder Ihren Shop eine optimale Onpage-Basis f├╝r weiterf├╝hrende Optimierungsma├čnahmen.

Offpage Optimierung

Offpage Suchmaschinenoptimierung

Nat├╝rlicher Linkaufbau gem├Ą├č den Regeln der Suchmaschinen - wir bieten ihn!

SEO Beratung

SEO Beratung

Unsere Spezialisten beraten Sie gerne hinsichtlich Ihrer akuten oder strategischen Fragen.

Ranking Monitoring

Ranking Optimierung

Bei uns Standard: qualifiziertes Monitoring Ihrer Google Platzierungen.

Suchmaschinenoptimierung f├╝r Google

Google Suchmaschinenoptimierung

Wir kombinieren Google Optimierung mit ganzheitlicher Suchmaschinenoptimierung.

SEO Strategie

SEO Strategie

Praxisbew├Ąhrte Strategien, die auf Zahlen und Fakten basieren.

SEO Tools

SEO Tools

Immer im Bild: professionelle SEO Tools informieren Sie ├╝ber den Status Quo.