FS199 Dieses Wochenende, nächstes Wochenende

Zeitreferenzen — Arrays — VR — JavaScript — WebASM — Continuous Integration — 360 Grad Kameras — Hobbys

Michaela ist zu Gast und wir sprechen über ihre Arbeit als Webentwicklerin, ihre Vorträge und Einblicke in Gestaltungsanforderungen für VR, über JavaScript und Entwicklungsplattformen, 360-Grad-Fotografie und ihre Anwendung. Und wir öffnen die Nerdperspektive auf Stricken, Nähen und Schneidern.

Dauer: 3:24:05

avatar
Tim Pritlove
avatar
Letty
avatar
Michaela Lehr
avatar
David Scribane
avatar
Xenim Streaming Network
Shownotes

66 Gedanken zu „FS199 Dieses Wochenende, nächstes Wochenende

  1. Zu den Wochenenden:

    Diese Woche -> Dieses Wochenende
    Nächste Woche -> Nächstes Wochenende
    Letzte Woche -> Letztes Wochenende

    Daher, wie auch Letty schon richtig sagte: Übernächste Woche -> Übernächstes Wochenende. Das Wochenende gehört, wie der Name schon suggeriert an das Ende der Woche, ist daher auch mit der jeweiligen Woche verknüpft. Hat die Woche schon begonnen, hat also auch die Zeiteinheit des Wochenendes schon begonnen. Daher kann das nächste Wochenende nicht in der schon laufenden Woche liegen, sondern eben erst in der nächsten Woche.

  2. Andrew Koenig empfiehlt in C Traps and Pitfalls, S. 36ff.:
    Express a range by the first element of the range and the first element beyond it.
    Begründung:
    1. The size of a range is the difference between the bounds.
    2. The bounds are equal when the range is empty.
    3. The upper bound is never less than the lower bound, not even when the range is empty.

    Mit dieser Regel ist der Umgang mit 0 als untere Array-Grenze gut handhabbar.

  3. @frontend: Knockout und eigenes UI im letzten Großprojekt lief top. Komplexes Projekt mit glücklichem Kunden. Was will man mehr?

    Ansonsten schreibe ich alle meine Komponenten selbst, z.B. den Router o.ä. oder nutze die einmal geschriebenen wieder. Sind alle Minimalist groß und komplex und einfach zu verstehen und nutzen. No need for bloated libraries…

    JavaScript auch pure ohne Typen. Einmal komplett verstanden, eine Entwicklungsumgebung mit enormer Flexibilität, die sogar Spaß bringt beim Entwickeln. :) Lernt die Sprache und wenn ihr sie mögt, bringt sie euch in vanilla überall hin.

  4. @Tim zum Thema Kategorien in der Buchhaltung: Verwendest Du einen Kontenrahmen?
    Die DATEV eG bringt jedes Jahr die ganz brauchbaren Kontenrahmen SKR03 (Prozessgliederungsprinzip) und SKR04 (Abschlussprinzip) raus. Welchen Du jetzt verwendest, ist im Grunde reine Geschmackssache. In beiden kannst Du jedenfalls auch eigene Konten (weil genug Platz zwischen den Kontenklassen besteht) hinzufügen, sodass eine Auswertung nach Deinen Wünschen möglich sein sollte.
    Hier mal der Link zum Download: https://www.datev.de/web/de/datev-shop/material/kontenrahmen-datev-skr-03/

    Dem Finanzamt ist es übrigens völlig egal, wie Du deinen Kontenrahmen strukturierst. Wichtig ist nur, dass die steuerlichen Informationen (Aufwand oder Ertrag, Umsatzsteuer keine, 7 oder 19 Prozent etc.) korrekt sind.

    Theoretisch kannst Du auch einen ganz eigenen Kontenrahmen entwickeln (METASKR01).
    Der Vorteil bei den Standardkontenrahmen ist der, dass sich der Steuerberater nicht groß in die Buchführung – also Dein Buchungsjournal – einarbeiten muss, weil er den Kontenrahmen bereits von seinen anderen Mandanten her kennt.

    In der Praxis verwenden fast alle Steuerberater das Rechnungswesenprogramm der DATEV eG. Dieses zeigt die geänderten bzw. neuen Konten an die dann ggf. vom Steuerberater nochmals überprüft werden.

    Wir setzen bei uns im Betrieb beispielsweise den SKR03 mit einigen Zusatzkonten ein. In Verbindung mit Kostenstellen kann man dann schon ganz gute Auswertungen erstellen.
    Wenn es detaillierter sein soll, kommt man wohl um den so genannten Rechnungskreis II (Kosten- und Leistungsrechnung) nicht umher.

    Gruß

    Sebastian

  5. Und Theodor Prinz der Tapfere, Hüter der Flamme des Herzens, zeigte sich beim stopfen der Meta-Bong mit dem erlesenstenen Alamout Black nicht geizig, womit er zur Bereicherung, Belustigung und Befnordung der Zuhörerschaft eine vollkommen verschallerte Podcast-Session in Gang setzte…

  6. Michaele war eine angenehme Bereicherung der Sendung (auch wenn ich mich mit dem Frontend-foo jetzt nicht so auskenne), ich würde mir aber ein bischen mehr „von sich aus erzählen“ wünschen, bspw. war das Thema des Vortrags zu Begin doch sehr interessant und hätte gerne in 3-4 Minuten zusammengefasst präsentiert werden können. So kommt die Sendung nicht richtig in Gang, weil viel nachgefragt werden musste – vielleicht hat ja auch das Stricken abgelenkt (ich weiß ja nicht was Hukl und Rest sonst so nebenbei machen).

  7. Ah, mein liebstes Hassthema: „Buildtools“. Gerade bei diesem Thema scheinen Informatiker gerne das Rad neu erfinden zu wollen, weiß wer warum!

    ant, maven, gradle, buck
    bower, gulp(?)
    make, cmake + ninja
    Usw….

    Machen alle schon irgendwie dasgleiche aber doch alle anders.

  8. @Michaela
    Kein großes Korn, sondern ein Brötchen (das aussieht, wie ein vergrößertes Korn). Zumindest hielt ich das bisher für den Witz. Humor ist eben individuell :)

  9. Das aktuelle Wochenende ist ja nur aktuell ein Wochenende, wenn bereits Wochenende ist, also mindestens Freitag abend. Donnerstags ist aktuell kein Wochenende, das nächste Wochenende ist das folgende aka das Wochenende nächster Woche.

    Das ist keine Frage der Sichtweise sondern der Sprachkompetenz.

    Mit Arrays hat es nichts zu tun. Wieso sollte man ein Wochenende, das noch bevorsteht, aus der Beobachtung, welches das nächste ist, auslassen? Aber bitte, wenn der Zeiger auf das 7 Element zeigt, ist das nächste Element das 8. und nicht das 9.

    „Dieses Wochenende“ ist falsch, wenn kein Wochenende ist, sondern das Wochende dieser Woche. Auf der Autobahn sagt man auch nicht „diese Stadt“ wenn man noch 50 km entfernt ist. Das ist die nächste Stadt (Hannover, zum Beispiel).

    Außer man spricht schon über Hannover:
    „Gleich kommt Hannover.“
    „Und was ist die nächste Stadt?“
    „Braunschweig.“
    Von Hannover aus gedacht, nicht von hier.

    Am 7. Oktober hat Pronnes Geburtstag. Am nächsten Wochenende ist das Santanakonzert (ausgedachtes Beispiel).

    Das erste Element im Array hat den Index 0 und ist nicht das Nullte Element. Nullte is nich. Das Element mit Index 0, dauert eine Sekunde und ist wesentlich kürzer als ad-hoc-Essays über Nummerierung und nächste Verwandte.

  10. Hey, danke mal wieder für die tolle Folge!

    In den Kapitelmarken ist mir ein Tippfehler aufgefallen: In Kapitel 10 fehlt bei „JavaScript App Framworks“ ein ‚e‘

    Liebe Grüße aus NRW,
    Boland

  11. Eure Diskussion über JavaScript ist ja echt lustig. Ein wenig ahnungslos ;)

    Wenn mir das jemand so erklärt hätte, würde ich auch so reagieren wie ihr. Ist ja schiwerig, wenn man sich so über Frontends beschwert, aber dann hohe Erwartungen hat.

    Zum Thema Stringenz, genau das tut Angular (2). Das Target ist Frontend-Technologien wieder handhabbar zu machen. Niemand möchte mehr jQuery schreiben. Wo ich Recht geben muss, es gibt mittlerweile sehr viele Auswüchse. So gesehen eine sehr wilde Zeit, die JS gerade durchmacht, da muss noch etwas konsolidiert werden.

    Plattformmeister ist zur Zeit JS, weil bisher keine andere Sprache diese Möglichkeit gibt, wirklich plattformübergreifend zu entwickeln. Den Anspruch den Java schon immer erhoben hat, die lingua france des Webs zu sein, auf diesem Weg ist gerade JS angekommen. Nicht zur Freude von jedem Entwickler. Aber wer mal mit TypeScript entwickelt hat, wird erstaunt sein, wie stringent auf einmal Frontend-Entwicklung sein kann.

  12. Ich sitze beim Arzt im Wartezimmer und bin der Erste in der Reihe. Aus dem Lautsprecher tönt es „der nächste bitte!“ . Muss ich dann sitzen bleiben und der nach mir geht rein, weil ich der kommende, aber nicht der nächste bin? #naechsteswochenende

  13. @Wochenende:
    Die unterschiedlichen Sichtweisen kann man meiner Meinung nach auf zwei unterschiedliche Auffassungen des Begriffs Wochenende zurückführen.
    1. Sind die zwei Tage Teil der Woche, ist dieses Wochenende = „Ende der Woche“ < nächstes Wochenende.
    2. Wechseln sich Wochentage mit dem Wochenende ab, so ergibt „dieses Wochenende“ unter der Woche keinen Sinn und die nächste Instanz vom WE muss mit „nächstes Wochenende“ beschrieben werden.

    Bei mir persönlich ist variiert die Definition innerhalb einer Woche. Hatte bisher auch den Eindruck, dass das der Intuition der meisten Menschen entspricht oder sie zumindest gleich verstehen welches WE gemeint ist.
    Montags/Dienstags ist das „nächste Wochenende“ in fünf Tagen, Donnerstags/Freitags springt es dann aufs Wochenende darauf.
    ( Mittwochs wird der Begriff vermieden ;) )
    Grundlage wäre also
    „Dieses WE“ := argmin_{x∈ Wochenende} dist(heute, x)

    Wurde aber auch schon konsterniert angestarrt, als ich Montags fragte, was denn dieses Wochenende erlebt wurde ;)

    @Start von Arrays: Bei Null, bilde ich mir ein, werden die Formeln insgesamt kompakter/leichter, da anderenfalls oft „index – 1“ in den Formeln auftaucht.

  14. Für große Dateien kann man auch mal joe probieren. Der fristet zwischen Emacs und vi(m) ein Schattendasein, hat aber ein paar Optimierungen speziell für diesen Zweck.

  15. Zum Thema Array Start bei 0 oder 1, sage ich nur Ada. Die Programmiersprache erlaubt einem den Index zu setzen, wie man will. Hilft meist, wenn man selbst nicht viel denken möchte. Dann setzt man den Beginn des Arrays einfach auf 42 oder was auch immer. Ich glaube Fliesskommazahlen gehen auch.

  16. Ich weiß leider noch immer nicht was Michaela macht. Sie hat eine Firma und programmiert wohl VR, aber das ergab sich aus der späteren Diskussion – um die eigentliche Frage wurde herumgewürgt, als wäre es ihr peinlich.
    Dieses Herumgestammel mit körperloser Fistelstimme fern vom Mikrofon war selbst mit Kopfhörern nervig, phasenweise gänzlich unverständlich und eines Pritlove Podcasts unwürdig. Hätte man sie nicht zwischendurch öfters erinnern können, daß Podcast ein Audio-Format ist?
    Gut, daß zwischendurch Letty für sie gesprochen hat.
    Kein guter Einstand.

    • Leider muss ich auch sagen, dass ich Michaela kaum verstanden habe. Sie ist oft am Ende des Satzes leiser geworden.

      Zu gerne hätte ich mehr über das erfahren, was sie macht. Und wie. Und mit was. Und warum. Und wo. …

      Nächstes mal bitte mehr. Und etwas lauter.

        • Mir ist schon klar, dass man die einzelnen Personen googlen kann. Aber danke für den Link.

          Nur ist es (bei mir persönlich) so, dass ich Podcast fast ausschließlich unterwegs höre. Da habe ich keine Lust anzuhalten, Pause zu drücke und erstmal die Personen zu googlen.

          Ich will ja auch nicht ihre Lebensgeschichte wissen. Sie hätte doch ein bisschen aus dem Nähkästen plaudern können. Vor allem etwas lauter.

          Nein, ich habe keinen Anspruch auf das alles. Da habe ich mich unglücklich ausgedrückt.

          Mir war der Gespächsanteil von Michaela zu gering und zu leise.

    • „Ich weiß nicht, was Michaela macht“.. Hier tun manche so, als hätten sie auch nur im Geringsten einen Anspruch darauf.

      Ich habe im Übrigen auch den Eindruck, dass die meisten Gäste nur ungern über Privates/Berufliches sprechen. Etwas, das ich sehr gut nachvollziehen kann.. ist ja schließlich kein Vorstellungsgespräch beim Finanzamt.

      Fand‘ die Folge gut, endlich noch mal Hacker in der Hütte..

      • Jetzt hat Michaela ja aber über ihre Firma, Vorträge und ihre Programmierarbeit erzählt. Wenn man danach noch immer nicht weiß was sie so macht ist wohl in der Kommunikation irgendetwas schief gelaufen, entweder beim Sender oder beim Empfänger der Informationen.

    • Zu leise war Michaela schon, aber das ist dann finde ich die Aufgabe des Tonmanns sie entsprechend hochzuregeln. Alles eine Frage des setups. Ansonsten hat sie nämlich eine sehr schöne und angenehme Stimme finde ich.

    • Ich finde leider auch, dass die Sprachqualität von Michaelas Beiträgen deutlich zu schlecht war. Am Ende der Sätze ist sie zu häufig zu leise geworden und während der Autofahrt habe ich einfach nichts mehr verstanden.
      Das hat mich echt gestört und genervt, so dass ich gar nicht mehr zuhören wollte. Da würde mich schon interessieren, ob das ein technisches Problem war?
      Wenn ja, dann wäre es schön, es zu fixen (und davon gehe ich bei Tim auch aus).
      Wenn es kein technisches Problem war, wäre es schön, wenn sich Michaela das nächste Mal drauf konzentrieren könnte, am Ende der Sätze nicht so leise zu werden.

      Thomas

  17. @Tim, der sich gefragt hat, warum es drei Worte gibt, die das kommende/nächstes/dieses Wochenende beschreiben (ich glaube, es waren diese Worte).

    Ähnlich geht es doch den drei Wörtern „wieso, wesalb, warum“. Macht ihr da einen Unterschied?

    Wohl kann man da einen Unterschied machen: https://german.stackexchange.com/questions/3230/was-ist-der-unterschied-zwischen-den-fragew%c3%b6rtern-wieso-weshalb-und-warum#3231
    Ich mache da aber perönlich keinen Unterschied.

  18. Bei React geht’s übrigens um Konsistenz und Berechenbarkeit. Mit jeder Zustandsänderung gibt mein Renderer eine Beschreibung des kompletten gewünschten DOMs zurück. React ermittelt und überträgt die Unterschiede in das reale Browser-DOM extrem schnell.

    Der Witz sind nicht die HTML-Tags im JS sondern der virtuelle DOM-Baumund die Definiertheit der View.

    Insbesondere in Verbindung mit Redux ist das alles sehr spannend, ich empfehle dazu den Vortrag von Dan Abramov.

    https://facebook.github.io/react/blog/2013/06/05/why-react.html
    https://www.youtube.com/watch?v=xsSnOQynTHs

  19. Hi,

    das Wochenenden Thema wurde nun wirklich lang diskutiert. Ich halte es übrigens. Damit dies dieses Wochenende dieses Wochenende ist, und das nächste das danach.
    Ein Kommentar zu den Indizies in Programmiersprachen. Es gibt da eine ganz abgefahrene neue Programmiersprache Namens Pascal. ;) Die macht hier einiges richtig. Also umgeht das Problem maximal… Man kann nämlich den Bereich von bis der Indizies eingeben. Ist für für größere Projekte aber vllt. verwirrend?

  20. Bei der Editor-Diskussion darf der Hinweis auf nvim / neovim nicht fehlen

    https://neovim.io/

    Alle neuen Vim Features (async) sind vermutlich darauf zurückzuführen, dass neovim sie implementiert hat, und damit das etwas behäbige VIM Projekt unter Zugzwang gesetzt hat.

    Tim wird gefallen, dass neovim konsequent auf Lua setzt und plant den vimscript interpreter durch einen vimscript->Lua(jit) interpreter zu ersetzen.

    • > Alle neuen Vim Features (async) sind vermutlich darauf zurückzuführen, dass neovim sie implementiert hat, und damit das etwas behäbige VIM Projekt unter Zugzwang gesetzt hat.

      Gutes Marketing vom Neovim Projekt, was? Das hört man so leider überall und macht es dennoch nicht wahr. Mir ist auch nicht klar, was mit „behäbigem Vim Projekt“ gemeint ist…

      > neovim konsequent auf Lua setzt und plant den vimscript interpreter durch einen vimscript->Lua(jit) interpreter zu ersetzen.

      Ja, das sagen sie, seit das Projekt existiert. Bisher ist davon nichts zu sehen. BTW: der Vimscript Interpreter (was soll das sein?) wird nicht ersetzt, er wird immer dabei bleiben (müssen).

      • ach herje. nehmen wir forks persönlich?

        Mit behäbig meine ich, dass conributions über eine Mailingliste geschehen, auf der so mancher Patch auch einfach unkommentiert versandet, dass es keine test suite gibt, und auch keinen CI Job, Header im Format das vor 1990 chic war (gabs vor 2-3 Jahren noch). Im übrigen meine ich behäbig garnicht despektierlich, vermutlich hätte ich auch „gemütlich“ schreiben können.

        > der Vimscript Interpreter (was soll das sein?) wird nicht ersetzt, er wird immer dabei bleiben (müssen).

        Wenn es parst und evaluiert, dann wirds wohl ein Interpreter sein.

        Im aktuellen Stand ist Lua per default immer bei neovim dabei (bei vim eher optional, korrigier mich wenn das nicht stimmt). Der Transpiler ist tatsächlich in der Entwicklung, im Moment aber (habe jetzt extra nachgelesen) wohl on hold wegen Performance problemen und seitdem wird eval.c wohl erstmal refakturiert.

        Ich finde es jedenfalls prima wenn das Vim-Konzept von zwei Projekten weiterentwickelt wird. Ich behaupte die befruchten sich. Und wer kann schon was dagegen haben, wenn ein paar Entwickler Spaß am Gerät haben.

        • > Mit behäbig meine ich, dass conributions über eine Mailingliste geschehen, auf der so mancher Patch auch einfach unkommentiert versandet,

          Du meinst so wie bei allen aktiven OpenSourcen Projekten die älter sind als github? Also linux, git, mutt, z.B. Ich wüßte nicht was daran schlecht wäre, wenn es funktioniert.

          > dass es keine test suite gibt,

          Gibt es seit Jahren, aber zugegebenermaßen seit 8.0 erst relativ einfach.

          > und auch keinen CI Job,

          Gibt es seit Jahren, inklusive nightly windows builds und appimage builds.

          > Header im Format das vor 1990 chic war (gabs vor 2-3 Jahren noch). Im übrigen meine ich behäbig garnicht despektierlich, vermutlich hätte ich auch “gemütlich” schreiben können.

          Das stimmt. Liegt vermutlich auch daran, dass wir alle noch etwas hauptberuflich zu tun haben und nur in unserer Freizeit entwickeln.

          > Wenn es parst und evaluiert, dann wirds wohl ein Interpreter sein.

          Er parst nicht.

          > Im aktuellen Stand ist Lua per default immer bei neovim dabei (bei vim eher optional, korrigier mich wenn das nicht stimmt). Der Transpiler ist tatsächlich in der Entwicklung, im Moment aber (habe jetzt extra nachgelesen) wohl on hold wegen Performance problemen und seitdem wird eval.c wohl erstmal refakturiert.

          Soweit ich die Entwicklung verfolge, kann man noch nicht komplette Plugins in lua entwickeln und der ursprüngliche Ansatz vom Vim wurde ja auch erstmal raus geworfen. (eval.c wird auch schon seit Jahre refactored)

          > Ich finde es jedenfalls prima wenn das Vim-Konzept von zwei Projekten weiterentwickelt wird. Ich behaupte die befruchten sich. Und wer kann schon was dagegen haben, wenn ein paar Entwickler Spaß am Gerät haben.

          In der tat, es tut sich was und die Vim Entwicklung hat auch wieder deutlich angezogen. Ich kann bloß das NeoVim Marketing nicht mehr hören. Da gab es zu viel böses Blut in der Vergangenheit.

  21. Tim hat extrem gut performt dieses mal. Ich habe neulich die Freuden der Buchführung entdeckt und kann den geernteten Spott gut mitfühlen. Übrigends wäre ich an (einer eventuell anonymisierten Version von) Tims Code für die MoneyMoney interessiert. Darf man den mal einsehen?

    Ich selbst benutze ledger für die Buchführung. Ich habe noch keinen Ganzjahreszyklus durchlaufen, aber man spürt schon nach sehr kurzer Zeit die unglaubliche Macht der Kommandozeile. Außerdem hat John Wiggley bei dem Format gute Arbeit geleistet: Einfache Sachen sind einfach, Komplizierte Sachen sind kompliziert.

  22. „nach“ und „nah“, für beide Stämme verwenden wir die Ableitung „nächste“, obwohl eigentlich „näheste“ und „nächste“ richtiger wären. Was wir dann darunter verstehen hängt von der Sozialisierung ab.

    Ob das Array mit dem Element 0 oder 1 beginnt, hängt davon ab wie der Entwickler der Sprache sich einen Raster vorstellt. Setzt er die Daten auf die Kreuzungspunkte der Linien, dann beginnt er mit 0, legt er sie in die sich ergebenden Felder, beginnt er mit 1.

  23. Macht doch mal einen Podcast oder ein CRE über (Zitat Tim) „seriöse“ Softwareentwicklung. Ein spannender Teilnehmer wäre bestimmt Stefan Tilkov https://www.innoq.com/blog/st/ . Oder die Leute vom Heise Developer Podcast https://www.heise.de/developer/podcast/.
    Dann müsste man sich nicht mehr über den „Java Panzer“ lustig machen und würde wissen dass zwischen „hacken“, „programmieren“ und Software-Entwicklung doch ein gewisser Unterschied besteht ;-)

  24. Zu array[0] oder array[1]: Wie schon gesagt wurde, macht in C 0 Sinn mit der Äquivalenz von a[i] und *(a+i). Diese Frage von einer Konfigurationsvariable entscheiden zu lassen, halte ich für ganz ganz grossen Quatsch, spätestens wenn man code reuse mit anderen machen will, fällt einem das auf die Füße.

    Nachdem ich jahrelang das Programmieren quasi ganz sein gelassen hatte, hatte ich als Student irgendwann mal eine Epiphanie, als mir jemand Perl nahegelegt hatte. Und eine Sache, die ich da gelernt habe, ist, dass es in 99% der Fälle sowieso ein Denkfehler ist, die Datenstruktur, die man oft mit einem Array beschreibt, mit integers zu indexieren. Meist meint man naemlich etwas ganz anderes und die Sprache ist nur nicht expressiv genug, um das zu schreiben was man meint. Viele Dinge sind zB in Wahrheit Listen: Gute Operationen darauf sind first() und rest() oder meinetwegen auch noch von hinten(*) und man will über alle Elemente iterieren (oder auch map oder reduce machen). Dann ist aber eine foreach-Schleife das was man will und nicht etwa for(i = 0; i <= länge – 1; ++i). Kein Wunder, das letzteres immerzu zu Obiwan-Bugs führt. Will sagen, eine Liste ist eine geordnete Reihe von Elementen, aber sich von vornherein entscheiden zu müssen, wieviele, ist mindestens doof und meist irrelevant, eben so, dass alle reinpassen.

    Die andere Möglichkeit ist, dass die verschiedenen Positionen verschiedene Bedeutung haben, zB die Argumente eines Funktionsaufrufs oder die Einträge in einem Telefonbuch. Dann ist das aber auch keine gute Idee, die mit integers zu indexieren, man will entweder eigentlich sowas wie ein struct machen, dass die Elemente Namen bekommen oder sowas wie ein Hash/assoziativer Array, also ein Array, wo die Indexmenge irgendwas ist, zB die Namen der Leute im Telefonbuch. Da interessiert ja auch niemanden, was der 4711. Eintrag ist, sondern ich will wissen, was die Nummer von von Tim Pritlove ist. Die Nummern sind also besser mit Namen indexiert (und dann gibt es auch keine definierte Reihenfolge). Es ist nur halt so, dass als Menge jede endliche Menge isomorph (aber eben nicht kanonisch isomorph) zu einer Menge der ersten N natürlichen Zahlen ist. Warum soll meine Indexmenge nicht {Tim, Letti, Hukl, Clemens, Roddi, Dennis} sein? Wer zwingt mich die mit {1, 2, 3, 4, 5, 6} oder {0,1,2,3,4,5} zu identifizieren? Pizzawahl[name] ist doch viel mehr das, was ich will als Pizzawahl[i].

    Ganz ganz selten sind die natürlichen Zahlen wirklich die Indexmenge der Wahl, aber das sind nur so Fälle wie ein game_of_life[x,y].

    In Kuerze: Feinde zwingen Freunde nicht, entscheiden zu müssen of Tim==0 oder Tim==1.

  25. Ich möchte das Thema diesen/nächsten Wochentag/-ende ein für alle Mal und mit der einzig wahren Letztbegründung klären: Bittet einfach die Athene unter den Weisen, die hübscheste aller Gesichtslosen, eure kleine Taschenfreundin: Siri, eine Erinnerung für diesen/nächsten Wasauchimmer einzutragen, und vernehmt ihre Worte und Taten! So sprach’s und ward vernommen. Und es mögen die frevelnden Kinder nicht der tumben Idee anheimfallen dem Erderschütterer im kalifornischen Olymp über die rechtschaffenen und weitsichtigen Worte, ein Wehklagen anzustimmen! O meine Brüder, so lasset fallen den eherne Klang eurer scharfen Zungen und eint euch zu größeren Taten: beschert uns die beste UX mit Angular und frohlocket!

  26. Zum Thema Indizierung:
    Ich finde viel wichtiger, als die Frage der 0 oder der 1 ist, dass bei der Definition des Arrays nur ein Ende inklusiv ist. Denn nur dann ist gegeben, dass bei einer Teilschleife (Slice) gilt: End-Start = SliceLength. Mit einem Grenzwert exclusiv kann man zwei aneinander liegende Slices auch einfach mit „Von A bis B und von B bis C“ angeben. Würden beide Enden inklusive sein, müsste man B für den ersten Abschnitt um 1 verringern oder für den zweiten Abschnitt um 1 erhöhen. Unter dieser Vorgabe lässt sich eine einfache Schleife über ein Array mit N Einträgen also nur als:
    do i = 0, N:…
    schreiben. Für 0 Indizierer wäre der Index N nicht mehr drin, für 1 Indizierer, würde i nicht 0 annehmen. (Ich halte es für naheliegender, dann doch für eine 0 Indizierung zu stimmen)
    Wenn ein 1 Indizierer nun seine Schleife mit
    do i = 1, N:…
    beschreibt, dann wären ja Ende und Strart inklusive zu definieren und damit hat die Schleife
    do i = A, B:…
    genau B-A+1 Iterationen. Oder man müsste
    do i = A, B-1:…
    schreiben.
    Wie man’s macht, alle Enden inklusive führt zu vielen +1 und -1 und damit zu Fehlern. Also ist die Antwort auf „13 bis 42 ohne 13 oder 42?“ wohl naheliegend.

  27. Schade dass die Gäste nicht wirklich was interessantes beitragen konnten und Tim ihnen alles aus der Nase ziehen mussten; war etwas anstrengend dem Ziehen zuzuhören. Trotzdem, danke für diese Ausgabe! ;-)

Schreibe einen Kommentar zu toma Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.