GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 03:24:18 JST Arne Babenhauserheide Arne Babenhauserheide

    Jedes Programm besteht aus vielen Teilprogrammen, die wir vollständig verstehen können.

    Statische Typisierung koppelt diese Teile leider leicht zu stark.

    Ja, Typescript "ihr solltet `any` verbieten", dich meine ich. Unter vielen anderen.

    Eine Lösung für den richtigen Grad an Typisierung habe ich allerdings noch nicht.

    In conversation Saturday, 16-Nov-2024 03:24:18 JST from rollenspiel.social permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 06:06:42 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy Zu starke Kopplung, weil die Typen oft an unterschiedlichen Orten genutzt werden.

      In meiner Funktion habe ich dann die gleichen Typen wie in der anderen Funktion und wenn ich die Datenstruktur in der einen verändere, muss ich auch den anderen Ort ändern.

      Das lässt sich durch explizite Dto-Typen vermeiden, das ist aber nicht das einfachere.

      In conversation Saturday, 16-Nov-2024 06:06:42 JST permalink

      Attachments


    • Embed this notice
      vampirdaddy (vampirdaddy@chaos.social)'s status on Saturday, 16-Nov-2024 06:06:44 JST vampirdaddy vampirdaddy
      in reply to

      @ArneBab Wieso zu starke Kopplung? Gut, ich muss dann ggfs explizit konvertieren - aber dafür habe ich dann auch die Gewähr, dass mit die Funktion nicht Runtime-Errort.

      Ich kann eine explizite Typprüfung in die Funktionen legen - verliere dann aber Fehlererkennung zur Compile-Time.

      In conversation Saturday, 16-Nov-2024 06:06:44 JST permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 06:19:07 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy Das Grundproblem (für das ich noch keine Lösung habe) ist, dass Typen die Verbindung von unterschiedlichen "Orten" sind (aufrufende und aufgerufene Stelle), aber an viele unterschiedliche aufgerufene Stellen weitergereicht werden.

      Definiere ich sie beim Aufrufer oder beim Aufgerufenen?

      Alice (ruft auf)
      Brian (wird aufgerufen, nimmt Typ Toni)
      Carol (wird aufgerufen, nimmt TYp Toni)

      Wo definiere ich Toni?

      In conversation Saturday, 16-Nov-2024 06:19:07 JST permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 06:44:43 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy Entweder das, oder über explizite Konvertierung.

      Ich bin am Suchen, weil mir bei uns beim Wechsel von Javascript auf Typescript aufgefallen ist, dass Typen Leute dazu animieren, Pyramiden zu bauen.

      Sie definieren damit Komplexität, weil sie die Sicherheit haben wollen, dass ihr Code immer richtig sein muss, weil sonst der Compiler meckert.

      Komplexität, die bei geänderten Anforderungen große Änderungen braucht. Obwohl der eigentliche Code nur minimale Änderungen bräuchte.

      In conversation Saturday, 16-Nov-2024 06:44:43 JST permalink
    • Embed this notice
      vampirdaddy (vampirdaddy@chaos.social)'s status on Saturday, 16-Nov-2024 06:44:45 JST vampirdaddy vampirdaddy
      in reply to

      @ArneBab
      Okay, ich sehe das Problem - geht nur unelegant in einer von allen eingelesenen, shared Präambel-Datei.

      Wenn die Typen zu eng definiert sind und dann die Struktur so weit ändern, dass die Funktionen angepasst werden müssen - dann muss ich entweder jeweils konvertieren oder alle anpassen.

      In conversation Saturday, 16-Nov-2024 06:44:45 JST permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 06:47:47 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy Als Mehrwert von Typen sehe ich, dass bestimmte Klassen von Fehlern unmöglich werden (solange die Typen stimmen), und dass leichter zu erkennen ist, welche Datenstrukturen Funktionen nutzen (automatisch geprüfte Dokumentation).

      Hardwarenahe Typen bringen außerdem Effizienz (Typescript nicht).

      Aber das hat seinen Preis und ich glaube nicht, dass was ich gerade bei Typescript sehe wirklich das Optimum ist.

      In conversation Saturday, 16-Nov-2024 06:47:47 JST permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 06:49:18 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy (mit jsdoc haben Leute übrigens viel weniger Pyramiden gebaut. Da waren Typen eher wirklich geprüfte API-Dokumentation und wurden nicht einfach geschrieben, weil der Linter sagte „das könnte any sein!“.

      In conversation Saturday, 16-Nov-2024 06:49:18 JST permalink
    • Embed this notice
      Arne Babenhauserheide (arnebab@rollenspiel.social)'s status on Saturday, 16-Nov-2024 08:04:21 JST Arne Babenhauserheide Arne Babenhauserheide
      in reply to
      • vampirdaddy

      @vampirdaddy Ich bin nicht sicher. WIe gesagt: ich kenne bisher keine Lösung, die ich wirklich gut finde.

      Ich habe zwar Ideen, aber noch nichts, dem ich hinreichend vertraue.

      Meine bisherigen Gedanken gehen eher in die Richtung, Hierarchien von Typen zu vermeiden und früher zu primitiven Typen zurückzugehen — und sie vielleicht neu zu verpacken.

      In conversation Saturday, 16-Nov-2024 08:04:21 JST permalink
    • Embed this notice
      vampirdaddy (vampirdaddy@chaos.social)'s status on Saturday, 16-Nov-2024 08:04:23 JST vampirdaddy vampirdaddy
      in reply to

      @ArneBab
      Ah - Überspezialisierung der Typen, ähnlich wie Klassen in Java?

      Da sind generische Typen besser, die den Verarbeitungstyp festlegen - so dass die Variablengröße und Verarbeitung sauber definiert ist

      Number: Int, Float (ggfs. unterschiedliche)

      Multidim: Vector, Matrix, Complex

      String

      generic: Array, Dictionary, Stack, FIFO/Buffer (Ringbuffer)

      composite: JSON-style, not predefined

      In conversation Saturday, 16-Nov-2024 08:04:23 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.