<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Sleep_%28Programmiersprache%29</id>
	<title>Sleep (Programmiersprache) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Sleep_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sleep_(Programmiersprache)&amp;action=history"/>
	<updated>2026-05-30T00:50:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Sleep_(Programmiersprache)&amp;diff=534475&amp;oldid=prev</id>
		<title>imported&gt;Nina: keine sinnvolle Zwischenüberschrift, siehe WP:WSIGA##Überschriften und Absätze</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Sleep_(Programmiersprache)&amp;diff=534475&amp;oldid=prev"/>
		<updated>2026-03-04T14:17:32Z</updated>

		<summary type="html">&lt;p&gt;keine sinnvolle Zwischenüberschrift, siehe &lt;a href=&quot;/index.php?title=WP:WSIGA&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:WSIGA (Seite nicht vorhanden)&quot;&gt;WP:WSIGA##Überschriften und Absätze&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{{Infobox Programmiersprache&lt;br /&gt;
| Name                         = Sleep&lt;br /&gt;
| Paradigma                    = [[Prozedurale Programmierung|prozedural]], [[Funktionale Programmierung|funktional]]&lt;br /&gt;
| Erscheinungsjahr             = 2004&lt;br /&gt;
| Entwickler                   = Raphael Mudge&lt;br /&gt;
| AktuelleVersion              = 2.1 update 5&lt;br /&gt;
| AktuelleVersionFreigabeDatum = 29. Februar 2020&lt;br /&gt;
| Typisierung                  = [[Dynamische Typisierung|dynamisch]]&lt;br /&gt;
| Beeinflusst_von              = [[Perl (Programmiersprache)|Perl]], [[Objective-C]]&lt;br /&gt;
| Betriebssystem               = [[Plattformunabhängigkeit|plattformunabhängig]]&lt;br /&gt;
| Lizenz                       = [[BSD-Lizenz|BSD]]&lt;br /&gt;
| Website                      = [http://sleep.dashnine.org/ sleep.dashnine.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sleep&amp;#039;&amp;#039;&amp;#039; ist eine prozedurale [[Skriptsprache]], die von&lt;br /&gt;
[[Perl (Programmiersprache)|Perl]] und [[Objective-C]] inspiriert  wurde.&lt;br /&gt;
Die einzige bekannte Implementierung ist in [[Java (Programmiersprache)|Java]]&lt;br /&gt;
geschrieben und für die einfache Integration in Java-Anwendungen vorgesehen.&lt;br /&gt;
&lt;br /&gt;
Die Sleep Java API erlaubt es, die Sprache um neue Operatoren, Funktionen und „Environments“ zu erweitern.&lt;br /&gt;
&lt;br /&gt;
Sleep wird zum Beispiel in dem [[IRC-Client]] &amp;#039;&amp;#039;jIRCii&amp;#039;&amp;#039; und dem [[Internet Relay Chat|IRC]]-[[Bot]] &amp;#039;&amp;#039;SleepyBot&amp;#039;&amp;#039; benutzt.&lt;br /&gt;
&lt;br /&gt;
== Die Eigenschaften der Sprache ==&lt;br /&gt;
=== Daten, Strukturen und Typen ===&lt;br /&gt;
Sleep besitzt drei verschiedene Datentypen:&lt;br /&gt;
Skalare, [[Feld (Datentyp)|Arrays]] und [[Hashtabelle|Hashes]] ([[Assoziatives Array|Assoziative Arrays]]).&lt;br /&gt;
Skalare beginnen mit einem Dollarzeichen&amp;amp;nbsp;([[$]]), Arrays mit&lt;br /&gt;
einem At-Zeichen&amp;amp;nbsp;([[At-Zeichen|@]]) und Hashes mit einem [[Prozentzeichen]]&amp;amp;nbsp;([[Prozent|%]]).&lt;br /&gt;
&lt;br /&gt;
==== Skalare ====&lt;br /&gt;
Ein Skalar kann beispielsweise eine [[Zeichenkette]] oder eine [[Zahl]] repräsentieren.&lt;br /&gt;
Zeichenketten sind Literale oder „parsed literals“. Zahlen sind entweder Ganzzahlen oder [[Gleitkommazahl]]en.&lt;br /&gt;
Skalare können überdies aber auch beliebige Objektreferenzen repräsentieren, beispielsweise wenn HOES benutzt werden.&lt;br /&gt;
&lt;br /&gt;
==== Arrays ====&lt;br /&gt;
Ein [[Feld (Datentyp)|Array]] ist eine Sammlung von Skalaren, Hashes oder anderen Arrays,&lt;br /&gt;
die über einen numerischen Index angesprochen werden können, beginnend bei [[Null]]&amp;amp;nbsp;(0).&lt;br /&gt;
&lt;br /&gt;
==== Hashes ====&lt;br /&gt;
[[Hashtabelle|Hashes]] sind assoziative Arrays und bilden Schlüssel auf&lt;br /&gt;
Werte ab. Schlüssel können sowohl Zahlen als auch Zeichenketten sein.&lt;br /&gt;
&lt;br /&gt;
=== Dynamische Typisierung ===&lt;br /&gt;
Sleep benutzt wie viele Skriptsprachen [[Dynamische Typisierung]]. Das bedeutet, dass&lt;br /&gt;
Variablen vor der Benutzung nicht deklariert werden und einen Datentypen zugewiesen haben müssen.&lt;br /&gt;
Das hat gewisse Vorteile, aber auch gewisse Nachteile.&lt;br /&gt;
&lt;br /&gt;
=== HOES ===&lt;br /&gt;
Neu in Sleep 2.0 sind HOES (Haphazard Object Extensions for Sleep). Diese ermöglichen die Erzeugung und Verwendung von [[Java (Programmiersprache)|Java]] Objekten.&lt;br /&gt;
&lt;br /&gt;
== Code-Beispiele ==&lt;br /&gt;
=== „Hello World“ ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   # Gibt &amp;quot;Hallo Welt&amp;quot; auf der Standardausgabe aus&lt;br /&gt;
   println(&amp;#039;Hallo Welt&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zeichenketten ===&lt;br /&gt;
==== Literale ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   # Zuweisung eines Literals an einen Skalar&lt;br /&gt;
   $string = &amp;#039;Diese Zeichenkette ist ein Literal&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== „Parsed literals“ ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   $str1 = &amp;#039;Variablen&amp;#039;;&lt;br /&gt;
   $str2 = &amp;#039;werden&amp;#039;;&lt;br /&gt;
   $str3 = &amp;#039;in geparsten Zeichenketten&amp;#039;;&lt;br /&gt;
   $str4 = &amp;#039;ersetzt&amp;#039;;&lt;br /&gt;
   $string = &amp;quot;Prima, $str1 $str2 $str3 $str4&amp;quot;;&lt;br /&gt;
   println($string);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ausgabe:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Prima, Variablen werden in geparsten Zeichenketten ersetzt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konkatenation ====&lt;br /&gt;
Zeichenketten werden mit dem Punkt-Operator verkettet.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   $punkt = &amp;#039;.&amp;#039;;&lt;br /&gt;
   $ende = &amp;#039;verkettet.&amp;#039;;&lt;br /&gt;
   $string = &amp;#039;Zeichenketten &amp;#039; . &amp;#039;werden mit dem &amp;#039; . $punkt . &amp;quot; $ende&amp;quot;;&lt;br /&gt;
   println($string);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ausgabe:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Zeichenketten werden mit dem . verkettet.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   @namen = array(&amp;#039;Thomas&amp;#039;,&amp;#039;Michael&amp;#039;,&amp;#039;Andreas&amp;#039;);&lt;br /&gt;
   println( join( &amp;#039;, &amp;#039;, @namen ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ausgabe:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Thomas, Michael, Andreas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hashes ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   %person = hash( vorname =&amp;gt; &amp;#039;Thomas&amp;#039;, nachname =&amp;gt; &amp;#039;Müller&amp;#039;, alter =&amp;gt; 33 );&lt;br /&gt;
   println( &amp;#039;Name:  &amp;#039; . %person[&amp;#039;vorname&amp;#039;] . &amp;#039; &amp;#039; . %person[&amp;#039;nachname&amp;#039;] );&lt;br /&gt;
   println( &amp;#039;Alter: &amp;#039; . %person[&amp;#039;alter&amp;#039;] . &amp;#039; Jahre&amp;#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ausgabe:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; highlight=&amp;quot;1-2&amp;quot;&amp;gt;&lt;br /&gt;
Name:  Thomas Müller&lt;br /&gt;
Alter: 33 Jahre&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== HOES ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
   # Erzeugt einen JFrame und zeigt diesen an&lt;br /&gt;
   import javax.swing.*;&lt;br /&gt;
   $jframe = [new JFrame: &amp;#039;Sleep HOES Beispiel&amp;#039;];&lt;br /&gt;
   [$jframe setDefaultCloseOperation: [JFrame EXIT_ON_CLOSE]];&lt;br /&gt;
   [[$jframe getContentPane] add: [new JLabel: &amp;#039;Erstellt mit Sleep HOES&amp;#039;]];&lt;br /&gt;
   [$jframe pack];&lt;br /&gt;
   [$jframe show];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
Sleep wird im Augenblick in folgenden Anwendungen benutzt:&lt;br /&gt;
* [http://www.oldschoolirc.com/ jIRCii] – Java [[IRC-Client]]&lt;br /&gt;
* [http://www.ululatus.org/sleepybot/ SleepyBot] – [[Bot|IRC-Bot]]&lt;br /&gt;
* [http://open.afterthedeadline.com/ After the Deadline] – [[Open Source]] Sprachüberprüfungs-Technologie&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://sleep.dashnine.org/ Sleep Projekt Seite]&lt;br /&gt;
* [http://sleep.dashnine.org/manual/ Sleep 2.1 Manual]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Skriptsprache]]&lt;br /&gt;
[[Kategorie:Java-Programm]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Nina</name></author>
	</entry>
</feed>