<?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=J_%28Programmiersprache%29</id>
	<title>J (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=J_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=J_(Programmiersprache)&amp;action=history"/>
	<updated>2026-05-31T23:25:25Z</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=J_(Programmiersprache)&amp;diff=1661537&amp;oldid=prev</id>
		<title>imported&gt;PerfektesChaos: tk k</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=J_(Programmiersprache)&amp;diff=1661537&amp;oldid=prev"/>
		<updated>2024-10-02T12:27:26Z</updated>

		<summary type="html">&lt;p&gt;tk k&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
| Name                        = J&lt;br /&gt;
| Logo                        = &lt;br /&gt;
| Beschreibung                = Rein funktionale Programmiersprache, Array&lt;br /&gt;
| Erscheinungsjahr            = 1990&lt;br /&gt;
| Entwickler                  = JSoftware&lt;br /&gt;
| AktuelleVersion             = J9.5&lt;br /&gt;
| AktuelleVersionFreigabeDatum= 20. Dezember 2023&amp;lt;ref&amp;gt;[https://www.jsoftware.com/#/README Overview.] jsoftware.com (englisch).&amp;lt;/ref&amp;gt;&lt;br /&gt;
| Typisierung                 = schwach&lt;br /&gt;
| Paradigma                   = [[Funktionale Programmierung|Rein funktionale Programmiersprache]]&lt;br /&gt;
| Implementierung             = &lt;br /&gt;
| Dialekte                    = &lt;br /&gt;
| Beeinflusst_von             = [[APL (Programmiersprache)|APL]], A+, [[Functional Programming System|FP und FL]]&lt;br /&gt;
| Beeinflusste                = &lt;br /&gt;
| Betriebssystem              = [[Microsoft Windows|Windows]], [[Linux]], [[macOS]], [[Pocket PC]]&lt;br /&gt;
| Lizenz                      = [[GPLv3]]&lt;br /&gt;
| Website                     = [https://www.jsoftware.com/ Jsoftware.com]&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;J&amp;#039;&amp;#039;&amp;#039; ist eine rein [[Funktionale Programmierung|funktionale Programmiersprache]], welche Anfang der 1990er Jahre von [[Kenneth E. Iverson]] und [[Roger Hui]] entwickelt wurde. Sie basiert direkt auf der von Iverson entwickelten Programmiersprache [[APL (Programmiersprache)|APL]] und den von [[John W. Backus]] entworfenen Programmiersprachen [[FP-System|FP und FL]].&lt;br /&gt;
&lt;br /&gt;
Da J eine im Umgang mit [[Feld (Datentyp)|Arrays]], und dementsprechend auch mit [[Matrix (Mathematik)|Matrizen]], mächtige Sprache ist, ist sie besonders zur Lösung mathematischer und [[Statistik|statistischer]] Probleme geeignet. Des Weiteren ist J [[MIMD]] (Multiple Instruction, Multiple Data)-fähig.&lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu vielen anderen Sprachen, die [[objektorientierte Programmierung]] erlauben, wird durch das flexible, hierarchische [[Namensraum]]-Schema von J sowohl [[Klasse (objektorientierte Programmierung)|klassenbasierte]] als auch [[Prototypenbasierte Programmierung|prototypenbasierte]] Programmierung ermöglicht.&lt;br /&gt;
&lt;br /&gt;
Zwar basiert J auf APL, welches [[Sonderzeichen]] im [[Quelltext]] erfordert, verwendet aber nur Befehle und Operanden, die aus Zeichen im Bereich des [[ASCII]]-Zeichensatzes bestehen. Somit werden einige Probleme, die bei der Codierung von Sonderzeichen im Quelltext entstehen können, umgangen.&lt;br /&gt;
&lt;br /&gt;
Obwohl J der [[MIMD]]-Architektur und nicht der [[Von-Neumann-Architektur]] entspricht, lässt sie sich auch wie eine Von-Neumann-Sprache verwenden.&lt;br /&gt;
&lt;br /&gt;
== Beispielcode ==&lt;br /&gt;
Der folgende Code berechnet das [[Arithmetisches Mittel|arithmetische Mittel]] (den „Durchschnitt“) eines Arrays.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;j&amp;quot;&amp;gt;&lt;br /&gt;
avg=: +/ % #&lt;br /&gt;
avg 1 2 3 4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Ausgabe:&amp;#039;&amp;#039; 2.5&lt;br /&gt;
&lt;br /&gt;
Die Definition der Funktion &amp;lt;code&amp;gt;avg&amp;lt;/code&amp;gt; macht vom Konzept des &amp;#039;&amp;#039;Tacit programming&amp;#039;&amp;#039; (deutsch: „Implizite Programmierung“) Gebrauch: Die Operanden werden in der Definition nicht explizit genannt. Stattdessen wird die Funktion als &amp;#039;&amp;#039;Fork&amp;#039;&amp;#039; (deutsch: Gabel) definiert. Die Fork &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;+/ % #&amp;lt;/code&amp;gt; ist dabei gleichbedeutend mit einer Funktion &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;(+/ operand) % (# operand)&amp;lt;/code&amp;gt;, d.&amp;amp;nbsp;h. zuerst werden die linke und die rechte Funktion auf das Argument und danach die mittlere &amp;#039;&amp;#039;dyadische&amp;#039;&amp;#039; ([[Zweistellige Verknüpfung|binäre]]) Funktion &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; auf die dabei erhaltenen Ergebnisse angewandt. Die linke Funktion &amp;lt;code&amp;gt;+/&amp;lt;/code&amp;gt; summiert alle Elemente des Arrays (im beispielhaften Aufruf in Zeile&amp;amp;nbsp;2: &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;1 + 2 + 3 + 4 = 10&amp;lt;/code&amp;gt;), die rechte Funktion &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; liefert die Anzahl der Elemente im Array (in diesem Fall 4 Elemente) und &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; teilt den linken Operand durch den rechten (10 ÷ 4 = 2.5).&lt;br /&gt;
&lt;br /&gt;
Nach der Funktionsdefinition wird &amp;#039;&amp;#039;avg&amp;#039;&amp;#039; mit einem Array &amp;lt;code style=&amp;quot;white-space:nowrap&amp;quot;&amp;gt;1 2 3 4&amp;lt;/code&amp;gt; als Operand aufgerufen.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://code.jsoftware.com/wiki/Main_Page J Wiki]&lt;br /&gt;
* Henry Rich: [https://code.jsoftware.com/wiki/User:Markus_Schmidt_Groettrup J für C Programmierer.]  (PDF; 2,8&amp;amp;nbsp;MB) jsoftware.com; deutsche Übersetzung durch Markus Schmidt-Gröttrup.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Funktionale Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;PerfektesChaos</name></author>
	</entry>
</feed>