Einloggen
[c] [test] [fefe]

/fefe/ – Fefes Kommentarfunktion


Antwort erstellen

(≤ 4)



[Zurück]

  • [l] Wusstet ihr eigentlich, dass "learn to code", wenn ... Effe ## Mod Sun, 10 Feb 2019 18:55:51 GMT Nr. 7132
    JPG 414×414 37.8k
    Wusstet ihr eigentlich, dass "learn to code", wenn einem Journalisten gesagt, abusive behavior und targeted harassment ist [0]?

    Oh und es es ist natürlich eine right-wing dog whistle [1].

    Harassment und Gaslighting [2]!

    Wenn es ein Journalist zu jemand anderem sagt, ist es natürlich ein wohlmeinender Fortbildungs-Ratschlag [3].

    Ein fieser Rechtsaußen-Gaslighting-Harasser kommentiert:

    >Thoughts and prayers during this challenging time

    Oh wie böse, fies und gemein! Gleich mal melden, den Account!1!!

    Falls jemand die Begriffe nicht kennt, komme ich hier mal meinem Bildungsauftrag nach:

     • targeted harassment: Völlig sinnentleerter Kampfbegriff. Ursprünglich: Jemandem gezielt böse Dinge antun. Heute: Synonym für social media.
     • abusive behavior: Völlig sinnentleerter Kampfbegriff. Ursprünglich: Jemandem böse Dinge antun. Heute: Synonym für social media.
     • Gaslighting: Völlig sinnentleerter Kampfbegriff. Ursprünglich: Wenn du vier Finger hochhälst, aber einem Beobachter gegenüber darauf bestehst, es seien fünf gewesen (siehe auch: 1984). Heute: Synonym für social media.
     • dog whistle: Völlig sinnentleerter Kampfbegriff. Ursprünglich: Einen Begriff oder eine Phrase verwenden, die Außenstehenden nicht schlimm erscheint, aber die den Kumpels signalisiert, dass du ein aufrechter Nazi bist. Heute: Synonym für social media.

    [0] https://twitter.com/bpopken/status/1091374430561939456
    [1] https://newrepublic.com/article/153019/fetid-right-wing-origins-learn-code
    [2] https://newrepublic.com/article/153019/fetid-right-wing-origins-learn-code
    [3] https://www.forbes.com/sites/annefield/2017/01/30/turning-coal-miners-into-coders-and-preventing-a-brain-drain/

    https://blog.fefe.de/?ts=a29eb3fb
  • [l] Update Effe ## Mod Sun, 10 Feb 2019 19:01:18 GMT Nr. 7133
    @@ -21,0 +22,2 @@
    +Dass das jetzt überhaupt hochschwappt, liegt an den Entlassungen neulich bei Huffington Post und co. Die, die das "learn to code" wohl gerade gehäuft abkriegen (oder vielleicht bloß die, die die Zeit haben, sich über sowas zu ärgern), sind anscheinend lauter so frisch entlassene Digital-"Meinungsjournalisten".
    +
  • [l] Felix Sun, 10 Feb 2019 19:46:07 GMT Nr. 7136
    Nein, Fefe. Das "learn to code" kommt komplett kontextlos und ist wenn es nicht allein steht, dann stehen da wüste Beschimpfungen dabei. Wenn sich jetzt alle möglichen 4chan-Trolle koordieren, das auszuführen, was soll das denn sonst sein, wenn nicht Belästigung? Und dein "wohlwollendes" Beispiel ist eben ein ausführlicher Beitrag, keine 100000 Drei-Worte-Tweets.

    Ich wette, wenn Fefe mit "iss weniger Wildschwein" zugespammt wird, würde er sich auch aufregen. Aber die anderen sollen sich den Scheiß doch bitte gefallen lassen.
  • [l] Felix Sun, 10 Feb 2019 20:23:32 GMT Nr. 7137
    >>7136
    Lern programmieren!
  • [l] Felix Sun, 10 Feb 2019 21:44:53 GMT Nr. 7138
    >>7136
    >Koche mit Soja
    Erstens ist das aufgrund der positiven Formulierung ähnlicher und zweitens, mach mal, gibt genügend Bretter, die sich dazu aufstacheln lassen würden. In Deutschland reicht auch ein Post auf $linker_platform oder wo auch immer sich solche Leute treffen. Interne Mailingliste zur Absprache von Journalisten habe ich auch mal gehört.
  • [l] hältst Felix Mon, 11 Feb 2019 10:33:58 GMT Nr. 7154
    >>7132
    >Gaslighting: ... Ursprünglich: Wenn du vier Finger hochhälst, aber einem Beobachter gegenüber darauf bestehst, es seien fünf gewesen (siehe auch: 1984).
    Nicht wirklich. So recherchiere er bitte, Herr Hochhals:
    https://de.wikipedia.org/wiki/Gaslighting
    https://en.wikipedia.org/wiki/Gaslighting
    vs.
    https://en.wikipedia.org/wiki/2%2B2%3D5#George_Orwell
  • [l] Felix Mon, 11 Feb 2019 12:18:52 GMT Nr. 7163
    >>7136
    >Das "learn to code" kommt komplett kontextlos
    Nein, eben nicht:
    https://twitter.com/joshuahjeaton/status/1093099232066785280
    https://twitter.com/HoffPeterA/status/1092962760101490688

    Und in dem Zusammenhang passt
    >"iss weniger Wildschwein"
    nicht. Herr von Leitner hat diese Diätvorschrift niemals anderen nahegelegt.
  • [l] Felix Mon, 11 Feb 2019 13:18:23 GMT Nr. 7165
    >>7154
    Die Beschreibung zu Gaslighting stimmt ziemlich exakt mit dem überein was in 1984 passiert und Fefe mit "Wenn du vier Finger hochhälst, aber einem Beobachter gegenüber darauf bestehst, es seien fünf gewesen" meint. Der weitere übertragene Sinn ist dabei nebensächlich.
  • [l] Felix Mon, 11 Feb 2019 13:35:43 GMT Nr. 7166
    >>7163
    >Nein, eben nicht
    Doch, eben ja. "Kontextlos" bedeutet, dass die Nachricht nur aus diesem Satz besteht, und nicht auf was auch immer sich das bezieht und da irgendwo mitschwingt. Jetzt werden auch noch Journalisten in Sippenhaftung genommen. Weiterhin: Wenn man 100000 Tweets bekommt, die nur aus dem bestehen, dann ist das böswillige Belästigung, sonst würde ein so ein ausführlicher Artikel reichen, anstatt kindergarten-artig mit so nem Scheiß nerven zu müssen. Dass das qualitativ etwas erheblich anderes ist, als ein paar ausführliche Artikel (so lebensfremd sie auch sein mögen), sollte sogar dir Armleuchter auffallen.

    >Herr von Leitner hat diese Diätvorschrift niemals anderen nahegelegt.
    Meine Fresse, dann ersetz das halt mit "programmier weniger bugs" sobald ein Bug in seinem Code bekannt wird. Muss ich hier für jeden das Denken übernehmen?
  • [l] Felix Mon, 11 Feb 2019 13:38:05 GMT Nr. 7167
    >Herr von Leitner hat diese Diätvorschrift niemals anderen nahegelegt.
    Andere Coder haben aber anderen Codern diese Diätvorschrift nahegelegt, und da diese 4chan-Aktion gegen irgendwelche Journalisten geht, weil irgendwelche anderen Journalisten Zechen-Arbeiten Programmieren nahelegen, passt das dann doch wieder.
  • [l] Felix Mon, 11 Feb 2019 19:41:07 GMT Nr. 7180
    >>7166
    >Wenn man 100000 Tweets bekommt, die nur aus dem bestehen, dann ist das böswillige Belästigung,
    Wer sich von Tweets belästigt fühlt, hat ein Problem, dessen Ursache aber nicht die 100_000 Belästiger sind.

    >Muss ich hier für jeden das Denken übernehmen?
    Natürlich nicht, es fällt dir ja schon allein für dich schwer genug.
  • [l] Felix Mon, 11 Feb 2019 19:57:38 GMT Nr. 7181
    PNG 1183×321 7.2k
    Ich verstehe nicht, was daran Gaslighting sein soll.
  • [l] Felix Tue, 12 Feb 2019 01:12:09 GMT Nr. 7187 SÄGE
    >>7180
    >Wer sich von Tweets belästigt fühlt, hat ein Problem, dessen Ursache aber nicht die 100_000 Belästiger sind.
    "Seht her, meine Depressionen sind so weit fortgeschritten und mein Narzissmus so stark ausgeprägt, dass ich von Beleidigungen durch Fremde überhäuft werden kann und mich juckt es nicht. Ich bin ein Internet-Superheld und DU kannst auch einer werden!"

    >Natürlich nicht, es fällt dir ja schon allein für dich schwer genug.
    Hach ja, die erwachsene™ Version von "selber selber lachen alle kälber".
  • [l] Felix Tue, 12 Feb 2019 07:59:51 GMT Nr. 7189
    >>7165
    Nee, das sind zwei verschiedene Dinge. Bei Gaslighting geht es darum durch subtile Manipulationen der Umgebung den Anderen zu verunsichern und ihm psychische Probleme einzureden. Bei dem was Fefe beschreibt geht es darum, den Willen des Anderen zu brechen, indem man ihm eine offensichtliche Lüge aufzwingt.
  • [l] Felix Tue, 12 Feb 2019 13:51:27 GMT Nr. 7208
    >>7181
    >Ich verstehe nicht, was daran Gaslighting sein soll.
    Nichts. Die Leute haben haben halt eine für sie neue Vokabel entdeckt, die sie nun voller Freude verwenden. Ist vergleichbar mit dem Herrn Danisch, der jedem zweiten, der ihm widerspricht, Rabulismus vorwirft, seit er mal irgendwann was über rhetorische Kniffe gelesen hatte. Und der Herr von Leitner hat auch immer mal wieder solche Phasen, wo er erst einen neuen Begriff lernt und anschließend alles damit zu erklären versucht, egal ob passend oder nicht.

    >>7187
    >>Wer sich von Tweets belästigt fühlt, hat ein Problem, dessen Ursache aber nicht die 100_000 Belästiger sind.
    >"Seht her, meine Depressionen sind so weit fortgeschritten und mein Narzissmus so stark ausgeprägt, dass ich von Beleidigungen durch Fremde überhäuft werden kann und mich juckt es nicht. Ich bin ein Internet-Superheld und DU kannst auch einer werden!"
    Du hast wirklich Probleme. Solltest du mal professionell untersuchen lassen. Man kann Twitter einfach ignorieren. Niemand braucht dieses Tummelbecken für asoziale Legastheniker. Höchstens Leute, die auf anderen Wegen keine Selbstbestätigung bekommen.

    >>Natürlich nicht, es fällt dir ja schon allein für dich schwer genug.
    >Hach ja, die erwachsene™ Version von "selber selber lachen alle kälber".
    In welchem Zusammenhang soll dieser Satz einen Sinn ergeben?
  • [l] Felix Tue, 12 Feb 2019 20:52:33 GMT Nr. 7227
    >vages Anwenden von neuen Konzepten
    Ist das dieses kindlich-nerdige Verhalten, über das alle anderen lachen?
  • [l] Felix Wed, 13 Feb 2019 11:00:24 GMT Nr. 7241
    Mal von dem ganzen Rechtsaußen-Geschrei abgesehen, ist es sicher eine gute Idee, wenn Journalisten programmieren können. Man schaue sich nur an, was Leute wie 538 machen und vergleiche das mit dem ansonsten üblichen Niveau.
  • [l] Felix Wed, 13 Feb 2019 13:24:44 GMT Nr. 7248
    Die Frage ist dann aber, was man unter "Programmieren" versteht.
  • [l] Felix Thu, 14 Feb 2019 07:28:07 GMT Nr. 7296
    >>7248
    Das ist einfach: Beherrschen einer Turing-vollständigen Sprache.
  • [l] Felix Thu, 14 Feb 2019 09:34:47 GMT Nr. 7297
    >>7296
    Also fallen Herr von Leitners C-Kenntnisse nicht unter Programmieren? https://memo.barrucadu.co.uk/c-is-not-turing-complete.html

    Oder meintest du TC im "volkstümlichen" Sinn, so dass auch Krempel wie HTML mit CSS in diese Kategorie passt? http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html



  • [l] Felix Thu, 14 Feb 2019 13:58:13 GMT Nr. 7311
    >>7297
    C würde ich trotz der Einschränkungen noch gelten lassen, da auf jedem Rechner mit endlichem Speicher der gesamte Speicher alloziert werden kann. Und wenn jemand mit CSS oder PowerPoint eine Turing-Maschine implementieren kann, dann würde ich das auch als Programmieren gelten lassen, ja.
  • [l] Felix Thu, 14 Feb 2019 15:12:46 GMT Nr. 7325
    >>7297
    Zu C:

    Auf einer Turing-Maschine braucht jedes Programm für eine Eingabe, auf der das Programm hält, nur endlich viel Bandspeicher. Sagen wir
    m
    .

    Die C-Spezifikation sagt nun, ein Pointer hat
    n
    Bits. Nennen wir so eine Sprache C_n. Die C-Spezifikation deckt alle Sprachen C_n ab (man könnte sagen, C_n ist eine C-Sprachimplementierung). C_32 und C_64 sind in der Praxis am weitesten verbreitet. Jede C-Sprachimplementierung kann sich bezüglich solcher Größen, aber auch z.B. bzgl. unspecified behavior unterscheiden.

    Für jedes Programm und jede Eingabe, auf der das Programm hält, hat man also eine C-Sprachimplementierung mit 2^n > m, und kann ein C-Programm schreiben, das die gewünschte Ausgabe liefert.

    Was ist aber, wenn nur das Programm vorgegeben ist, und das C-Programm auf jeder beliebigen Eingabe die gewünschte Ausgabe liefern soll? Dann nimmt man die Menge aller Eingaben, auf denen das Programm hält (höchstens abzählbar unendlich viele), hat jeweils notwendigen Bandspeicher m_1, m_2, ... für diese haltenden Programme, bestimmt den maximalen Bandspeicher
    m* = max(m_1, m_2, ...)
    , und nimmt wieder eine C-Sprachimplementierung mit 2^n > m*. Die restlichen Eingaben, d.h. die, auf denen das Programm nicht hält, sind wurst.

    Und so ist C turing-vollständig, weil C die Menge aller möglichen C-Sprachimplementierungen ist. Es gibt kein Programm, dass sich nicht mit einer C-Sprachimplementierung ausdrücken lässt.
  • [l] Felix Thu, 14 Feb 2019 16:02:26 GMT Nr. 7328
    >>7325
    >Die restlichen Eingaben, d.h. die, auf denen das Programm nicht hält, sind wurst.
    IBTD. Ein Server ist ein Programm, dass idealerweise nicht hält. Ich bezweifle allerdings, dass ein C-Compiler, der einen Mailserver gegen einen Webserver austauscht, mit der C-Spezifikation konform geht.
  • [l] Felix Thu, 14 Feb 2019 16:07:19 GMT Nr. 7330
    >>7325
    Felix ist ziemlich sicher, dass das schon daran scheitert, dass der maximal benötigte Speicher für ein haltendes Programm eine nicht-berechenbare Zahl ist (s. Beaver, Busy).
  • [l] Felix Thu, 14 Feb 2019 16:21:52 GMT Nr. 7333
    >>7328
    Ein Server als Turingmaschine hält tatsächlich. Jedes mal, wenn ein Client eine Anfrage schickt, wird das Programm auf der Turingmaschine erneut ausgeführt. Die Berechnung hält und die Antwort des Servers steht auf dem Band. Dann wird die Turingmaschine weggeschmissen und eine neue, identische (mit leerem Band) hingestellt. Der gesamte Status des Servers ist Teil der Eingabe an das Programm. TM-Programme sind immer pure Funktionen.

    >>7330
    Es ist ein Existenzbeweis. Die Zahl m bzw. m* von oben ist nicht berechenbar, aber sie existiert - d.h. man kann jedes Programm mit einer C-Sprachimplementierung ausdrücken. Man weiß nur nicht, mit welcher.
  • [l] Felix Thu, 14 Feb 2019 16:33:04 GMT Nr. 7335
    >>7181
    Wenn das so ein "Lern lesen"-Pöbler ist, dann kommt das schon hin.
    Aber meist kommt "lern programmieren" doch von Leuten die es können gegen Leute die es nicht können, es sich aber einbilden.
  • [l] Felix Thu, 14 Feb 2019 22:33:20 GMT Nr. 7345
    >>7325
    >Und so ist C turing-vollständig, weil C die Menge aller möglichen C-Sprachimplementierungen ist.
    Was ist das für ein Blödsinn? Zwei verschiedene Implementierungen können inkompatibel sein, was sie z.B. im Hinblick auf maximale Objektzahl auch sind. Wenn du ein NG besitzt, kannst du damit auch nicht den gesamten Ein-NG-Laden leerkaufen.

    Wenn überhaupt müsste abstraktes C aus den Gemeinsamkeiten aller Implementationen bestehen. Oder ist C jetzt ein Lisp, weil eine Implementation ja in Lisp geschrieben sein und à la Inlineassembly Inlinelisp zulassen könnte?
  • [l] Felix Fri, 15 Feb 2019 08:58:08 GMT Nr. 7347
    >>7333
    >Dann wird die Turingmaschine weggeschmissen und eine neue, identische (mit leerem Band) hingestellt.
    Und wer macht das, der Weihnachtsmann? Das kann ja nur durch eine andere Turing-Maschine geschehen, also ist deine Server-Implementation nicht vollständig.
    >TM-Programme sind immer pure Funktionen.
    Dann wäre jede Implementierung, die nicht-reine Funktionen unterstützt, mächtiger als eine Turing-Maschine. Das glaube ich nicht, Tim.
  • [l] Felix Fri, 15 Feb 2019 15:41:24 GMT Nr. 7383
    >>7347
    Darf Felix als bisher Außenstehender dieser Diskussion mal fragen, was es überhaupt für eine Relevanz hat, ob die Turingmaschine hält? Wer hat gesagt, dass eine Turingmaschine halten muss?

    Anscheinend ging es um diese Aussage:
    >>7325
    >Auf einer Turing-Maschine braucht jedes Programm für eine Eingabe, auf der das Programm hält, nur endlich viel Bandspeicher. Sagen wir m.
    >Die C-Spezifikation sagt nun, ein Pointer hat n Bits.
    Wenn Felix sich nicht irrt, dann sagt die C-Spezifikation nicht mal, dass ein Pointer überhaupt intern ein "Int" ist. Es gibt ja auch Architekturen, die gar keinen zusammenhängenden Speicherbereich haben, sondern z.B. verschiedene Segmente.

    Insofern hat ein Pointer im allgemeinen gar keine Bits, sondern ist einfach ein opaker, "magischer" Typ, der sich dereferenzieren, zuweisen, inkrementieren und dekrementieren lässt. Wenn man also annimmt, dass man eine Hardware hat, die einen solchen Typ für einen unendlich großen Speicher bereitstellen kann (geht natürlich in der Praxis nicht, genau so wie man in der Praxis auch keine Turingmaschine bauen kann), dann lässt sich eine Turingmaschine sehr leicht in C implementieren, da man ja immer nur einen Pointer inkrementieren/dekrementieren muss, um sich auf dem Band zu bewegen.
  • [l] Felix Sat, 16 Feb 2019 02:41:46 GMT Nr. 7422
    >>7383
    >Wenn Felix sich nicht irrt, dann sagt die C-Spezifikation nicht mal, dass ein Pointer überhaupt intern ein "Int" ist.
    Er irrt sich nicht, wobei es zumindest das optionale (u)intptr_t gibt. Tatsächlich ist die Definition eines "Pointers" in C ziemlich aberwitzig, da der Standard weniger eine nützliche abstrakte Sprache definiert und eher mehrere Implementationen eines unspezifizierten Meta-Cs verallgemeinert. Diese Erfahrung musste dieser naive Felix machen, als er sich überlegte, eine C-Implementation in einer Hochsprache zu schreiben, sodass bei undefiniertem Verhalten nützliche Fehlermeldungen ausgegeben werden. C ist nur einfach zu implementieren, wenn man dem Nutzer den Mittelfinger zeigt.

    Als einfaches Beispiel: Das Casten von Datenpointern (ohne Dereferenzierung, und ja, es gibt einen Unterschied zwischen Daten- und Funktionspointern in C) kann bereits undefiniertes Verhalten sein.
  • [l] Felix Tue, 19 Feb 2019 12:37:04 GMT Nr. 7539
    Ich habe mal etwas nachgedacht.

    >>7345
    >Zwei verschiedene Implementierungen können inkompatibel sein, was sie z.B. im Hinblick auf maximale Objektzahl auch sind.
    Korrekt. Das widerspricht dem vorherigen aber nicht. Bloß weil man sagt, C sei die Menge aller möglichen C-Sprachimplementierungen, heißt es nicht, dass zwei C-Sprachimplementierungen zueinander kompatibel sind. Das widerspricht auch nicht:
    >Und so ist C turing-vollständig, weil C die Menge aller möglichen C-Sprachimplementierungen ist.
    Denn die Frage ist, was überhaupt der Bedeutungsinhalt von "C ist nicht turing-vollständig, da mit Pointern nur endlich viel Speicher adressiert werden kann" sein soll.

    Ich mache mal ein Beispiel: Wenn man die (offensichtlich nicht turing-vollständige) Programmiersprachen L_k = "Schreibe k-viele Einsen aufs Band" definiert, hat man mit L_1, L_2, ... eine Menge an Sprachen. Nun kann man sagen, L = {L_1, L_2, ...} ist die Menge der Sprachen. D.h. L_5 ist eine L-Sprache.

    Und so hat man auch bei C eine Menge an Sprachen. Was ist also C? Eine Menge an Sprachen oder nicht? Was meint man, wenn man von C spricht? Eine spezifische Sprache mit z.B. Pointergröße 32 oder 64 Bits - und der Rest ist dann keine C-Sprache? Oder die gesamte Menge aller möglichen Sprachen? Ich sage: C_32 ist eine C-Sprache.

    D.h. das obige "C ist (nicht) turing-vollständig" ist nicht spezifisch genug. Spezifischer genug wären:
    1. "Gegeben ein bestimmtes Programm und eine bestimmte C-Sprache, lässt sich das Programm in dieser C-Sprache umsetzen?"
    2. "Gegeben eine bestimmte C-Sprache, lassen sich alle Programme in dieser C-Sprache umsetzen?"
    3. "Gegeben ein bestimmtes Programm, lässt sich das Programm in einer C-Sprache umsetzen?"

    Die Antworten sind:
    1. Hängt vom Programm und der C-Sprache ab.
    2. Nein.
    3. Ja.

    Wenn man also "C ist turing-vollständig" im Sinne von 3. versteht, so ist das korrekt. Wenn man "C ist nicht turing-vollständig" im Sinne von 2. versteht, so ist das korrekt. Man muss nur mal in der Frage genau genug werden, dann lösen sich die Probleme in Wohlgefallen auf.

    >>7347
    >>Dann wird die Turingmaschine weggeschmissen und eine neue, identische (mit leerem Band) hingestellt.
    >Und wer macht das, der Weihnachtsmann? Das kann ja nur durch eine andere Turing-Maschine geschehen, also ist deine Server-Implementation nicht vollständig.
    Eine Turing-Maschine funktioniert klassisch so: Eine TM kriegt eine Eingabe, berechnet das Programm, und (wenn sie hält) hat dann eine bestimmte Ausgabe auf dem Band. Sollte die TM einmal in einem akzeptierenden Zustand sein, kriegt man die dort nie wieder raus, da es keine Übergänge aus einem akzeptierenden Zustand heraus gibt.

    Deshalb erst mal zu:
    >>Die restlichen Eingaben, d.h. die, auf denen das Programm nicht hält, sind wurst.
    >Ein Server ist ein Programm, dass idealerweise nicht hält.

    Das Problem und die Ursache der Konfusion ist, dass da von zwei unterschiedlichen "halten" die Rede ist, und zwar nennen wir es einmal das TM-Halten und das Computerprogramm-Halten. Im ursprünglichen Zitat verwendete ich "halten" im Sinne von TM-Halten.

    Zum TM-Halten: Bei einer klassischen TM ist es so, dass man eine Eingabe hat, und nur einmal eine Funktion für diese Eingabe berechnen will, und dann fertig ist. Bevor die TM nicht gehalten hat, ist das Band nicht die Ausgabe der TM, da die TM schließlich noch in späteren Schritten etwas auf das Band schreiben könnte. Wenn die TM nicht gehalten hat, gibt es auch keine Ausgabe. Bei einer Turing-Maschine gibt es auch nur eine endlich lange Eingabe.

    Zum Computerprogramm-Halten: Natürlich kann da ein Programm eine Ausgabe liefern, bevor es hält. Ob ein Programm eine unendlich lange Eingabe erhalten kann, darüber lässt sich streiten.

    Jetzt zu:
    >Und wer macht das, der Weihnachtsmann? Das kann ja nur durch eine andere Turing-Maschine geschehen, also ist deine Server-Implementation nicht vollständig.
    Natürlich macht das eine Turing-Maschine. Man nimmt die Server-TM, führt diese bis zum TM-Halt aus (d.h. die Antwort für den Client steht auf dem Band, und M hält dann), löscht das Band (maximale Länge des Bandinhalts kann von der TM berechnet werden) und führt dann wieder die Server-TM aus, usw. Das Problem ist dabei, dass man die gesamte Eingabe, d.h alle Client-Anfragen, im Voraus kennen muss. Wie kann man das lösen? Wie kann der Server die Client-Anfragen antizipieren?

    Der Trick, ein Client-Server-System als TM zu bauen, liegt darin, nicht Clients und Server zu trennen, sondern das alles als eine einzige TM zu pressen, d.h. alle Clients und der Server in einer TM. Eingabe an die TM sind die Eingaben an die Clients vom Nutzer (endlich), Ausgabe sind die Ausgaben der Clients an den Nutzer (endlich). So kann man das als eine einzige TM bauen, ohne das Wekschmeißen und Neuanfangen mit leerem Band wie in einem vorherigen Pfosten.

    Alles, was die Nutzer vom Client-Server-System berechnet haben wollen, können sie so von der TM berechnet bekommen.

    >>TM-Programme sind immer pure Funktionen.
    >Dann wäre jede Implementierung, die nicht-reine Funktionen unterstützt, mächtiger als eine Turing-Maschine. Das glaube ich nicht, Tim.
    Man kann nicht-reine Funktionen durch reine Funktionen ersetzen, die den gesamten Status als zusätzlichen Parameter haben, und den gesamten (eventuell geänderten) Status mit zurückgeben. Klappte ähnlich in C++ schon mit dem versteckten
    this
    -Pointer als ersten Parameter der Funktion. :3


[Zurück]
[c] [test] [fefe]