WEBVTT

00:00:00.000 --> 00:00:03.620
Hallo liebe Hörer und Hörer, willkommen beim Python Podcast Episode 66.

00:00:04.700 --> 00:00:08.200
Heute quatschen wir über das nächste Kapitel im Fluent Python Buch,

00:00:08.300 --> 00:00:14.980
falls euch das interessiert, über Data Classes und warum das riecht oder nicht oder was cool ist

00:00:14.980 --> 00:00:18.280
und wer das sonst so ist mit Sachen.

00:00:18.640 --> 00:00:19.140
Hi Johannes!

00:00:20.400 --> 00:00:21.840
Hallo, hallo Dominik, hallo Jochen.

00:00:21.960 --> 00:00:22.340
Hi Jochen!

00:00:22.640 --> 00:00:24.000
Ja, hallo Dominik, hallo Johannes.

00:00:24.460 --> 00:00:28.420
Ich habe gehört, lieber Jochen, du wolltest, du warst auf einem Podcast Barcamp.

00:00:28.420 --> 00:00:31.880
Genau, und dann habe ich so gesagt, wie wir Podcasts aufnehmen.

00:00:32.100 --> 00:00:35.880
Ja, und dann haben wir gesagt, wir sollten ein bisschen mehr Kultur machen und das wieder ein bisschen schöner.

00:00:36.020 --> 00:00:41.300
Ja, das hat mich so leicht irritiert, aber dann dachte ich, ja gut, dann höre ich mal vielleicht, was so Leute zu sagen haben.

00:00:41.600 --> 00:00:43.020
Wir haben ja vielleicht auch Erfahrung und so.

00:00:43.700 --> 00:00:46.940
Weil wir unseren Podcast an anderen Podcasts machen, als sie ihren Podcast machen.

00:00:47.040 --> 00:00:50.460
Und deswegen machen wir das jetzt so, wie die anderen Leute, die nicht so einen Podcast machen, wie wir den Podcast machen.

00:00:51.200 --> 00:00:52.340
Wie wir das richtig machen.

00:00:53.360 --> 00:00:56.840
Also ich habe mich auch mit Leuten unterhalten und die haben dann so geguckt.

00:00:56.980 --> 00:00:57.600
Ich glaube, das geht.

00:00:57.600 --> 00:00:58.800
Und gar nicht so schlecht.

00:00:59.280 --> 00:01:02.980
Ja, das geht schon, aber ich meine, wir machen das ja nicht so richtig professionell.

00:01:03.220 --> 00:01:04.660
Wo kann ich sagen, Jochen, möchtest du das jetzt professionell?

00:01:04.660 --> 00:01:06.080
Nein, nein, das auch nicht.

00:01:06.420 --> 00:01:10.700
Aber also zum Beispiel irgendwie ein Ratschlag war halt so, ihr sagt doch vorher, wenn ihr euch vorstellt,

00:01:10.960 --> 00:01:14.800
einmal macht das immer gleich quasi, wie der Gefängnis wäre.

00:01:14.860 --> 00:01:17.440
Es wäre auch so eine Intro-Melodie oder so, wäre nicht so schlecht.

00:01:17.540 --> 00:01:18.960
Dann dachte ich schon so, oh Gott, oh Gott, oh Gott.

00:01:19.400 --> 00:01:22.340
Aber ja, ich habe gehört, es gibt Leute hier unter uns.

00:01:22.360 --> 00:01:27.100
Ich kann ja meinen eigenen Jingle schreiben, dann mache ich den auf meinen Style und dann können wir ja gucken, wie der Rest dann runtergeht.

00:01:27.600 --> 00:01:28.760
Dann kann man jetzt die Kurve angucken.

00:01:28.760 --> 00:01:29.480
Ich kriege dann auch einen eigenen Jingle.

00:01:30.180 --> 00:01:31.460
Ich nehme meinen eigenen Jingle.

00:01:31.860 --> 00:01:33.720
Wenn ich dabei bin, muss der am Anfang eingespielt werden.

00:01:33.740 --> 00:01:34.620
Das ist eigentlich eine coole Idee.

00:01:34.980 --> 00:01:42.180
Ja, okay, dann sieht die, wie viele Leute hören noch zu Kurve wahrscheinlich aus, wie so Akapulko, Klippenspringer, irgendwie ins Nichts.

00:01:42.240 --> 00:01:44.240
Das ist vielleicht auch nicht so toll.

00:01:44.340 --> 00:01:48.200
Ja, aber ich finde, wie wir es sonst so machen, wir haben ja eigentlich schon mehr eine Struktur, als du jetzt denkst.

00:01:48.340 --> 00:01:52.100
Also erstens kennen uns hier die Leute und wenn die sich dafür interessieren, wie wir sind oder interessieren würden,

00:01:52.240 --> 00:01:53.600
also ganz ehrlich, dann können die uns auch fragen.

00:01:53.900 --> 00:01:55.180
Hallo at PythonPodcast.de

00:01:55.180 --> 00:01:56.800
Also wir machen irgendwas mit Python.

00:01:56.800 --> 00:01:57.520
Das hat man vielleicht.

00:01:57.600 --> 00:01:58.420
Schon mal rausgehört.

00:01:58.700 --> 00:01:59.720
Ich glaube, das ist auch offensichtlich.

00:02:00.140 --> 00:02:02.700
Und viel mehr muss man, glaube ich, gar nicht wissen.

00:02:02.780 --> 00:02:03.960
Also muss man nicht, kann man natürlich gerne.

00:02:04.100 --> 00:02:05.340
Dafür kann man ja fragen oder uns kennenlernen.

00:02:05.480 --> 00:02:07.500
Unseren Hörer treffen, das bald stattfindet.

00:02:07.580 --> 00:02:08.420
Wir organisieren das nämlich.

00:02:08.880 --> 00:02:09.160
Genau.

00:02:09.260 --> 00:02:13.600
Wir haben noch immer noch gar keinen festen Termin, aber es wird wahrscheinlich auf August, September hinauslaufen.

00:02:14.200 --> 00:02:15.720
Ja, aber ich fürchte, das müssen wir jetzt sagen.

00:02:16.340 --> 00:02:16.680
Sag ich doch.

00:02:16.920 --> 00:02:17.580
August oder September.

00:02:19.480 --> 00:02:20.540
Das ist kein fester Termin, oder?

00:02:20.940 --> 00:02:21.200
Nein.

00:02:22.900 --> 00:02:25.000
Dann müssen wir jetzt noch mal kurz unsere Kalender übereinanderlegen.

00:02:25.000 --> 00:02:27.580
Also ich glaube, tatsächlich wird es eher Ende August.

00:02:27.600 --> 00:02:30.380
Bis Anfang September werden müssen, wegen Schulferien.

00:02:30.400 --> 00:02:32.080
Ja, Anfang September bin ich übrigens im Urlaub.

00:02:34.400 --> 00:02:35.740
Ja, das musst du leider absagen.

00:02:35.800 --> 00:02:36.280
Das geht halt nicht.

00:02:37.960 --> 00:02:40.160
Na gut, dann wird es halt vielleicht eher sogar Ende September.

00:02:40.760 --> 00:02:45.600
Okay, dann sagen wir, wir schieben die Ankündigung auf nächste Episode, die hoffentlich im Juli.

00:02:45.600 --> 00:02:45.700
Ja, genau.

00:02:45.780 --> 00:02:46.760
Also es sollte noch gutes Wetter sein.

00:02:46.800 --> 00:02:47.680
Wir wollen es nämlich draußen machen.

00:02:48.020 --> 00:02:51.780
Und okay, wir haben September, wirklich.

00:02:52.000 --> 00:02:52.600
Was ist mit August?

00:02:53.300 --> 00:02:54.080
Geht nicht gut.

00:02:54.360 --> 00:02:55.300
Wie gesagt, das ist ein Schulferien.

00:02:55.300 --> 00:02:55.420
Okay, geil.

00:02:55.520 --> 00:02:56.740
Dann diskutieren wir das später aus.

00:02:56.740 --> 00:02:56.960
Ja.

00:02:57.600 --> 00:02:58.740
Auf jeden Fall das Schulferien-Treffen.

00:02:58.940 --> 00:03:00.300
Sagt gerne Bescheid, wenn ihr vorbeikommen wollt.

00:03:00.380 --> 00:03:01.180
Es ist hier in der Gegend.

00:03:01.400 --> 00:03:03.380
Also hier heißt Rheinland-Düsseldorf.

00:03:03.560 --> 00:03:03.720
Ja.

00:03:04.460 --> 00:03:05.140
Wir können ja schon mal sammeln.

00:03:05.240 --> 00:03:10.340
Also wenn ihr uns irgendwas an hallo.atpipenpodcast.de schreibt, dann notifizieren wir euch, sobald wir genaueres wissen.

00:03:10.660 --> 00:03:10.840
Genau.

00:03:11.280 --> 00:03:14.460
Und es wird wahrscheinlich draußen irgendwie...

00:03:14.460 --> 00:03:15.680
Draußen gibt es vielleicht was zu essen.

00:03:16.020 --> 00:03:16.340
Irgendwie so.

00:03:16.500 --> 00:03:16.680
Ja, ja.

00:03:16.780 --> 00:03:17.120
Irgendwie Dinge.

00:03:17.920 --> 00:03:18.100
Ja.

00:03:18.720 --> 00:03:19.080
Okay.

00:03:19.800 --> 00:03:20.160
Genau.

00:03:20.720 --> 00:03:20.900
Ja.

00:03:21.580 --> 00:03:23.280
Das zur anderen Struktur, Jochen.

00:03:24.040 --> 00:03:24.200
Ja.

00:03:24.200 --> 00:03:24.980
Wir machen immer News.

00:03:25.280 --> 00:03:25.920
Ja, wir machen News.

00:03:26.020 --> 00:03:26.200
Cool.

00:03:26.300 --> 00:03:27.340
Dann machen wir doch gerade ein bisschen News.

00:03:27.440 --> 00:03:27.560
Ja.

00:03:27.860 --> 00:03:29.640
Aber vorgestellt hat sich jetzt keiner, oder?

00:03:29.640 --> 00:03:30.240
Ach, Mist.

00:03:30.640 --> 00:03:30.840
So.

00:03:31.280 --> 00:03:32.060
Jetzt auch kam ich schon...

00:03:32.060 --> 00:03:35.380
Der Jochen wollte so schön hinfahren und jetzt hat sich keiner eingestiegen.

00:03:35.380 --> 00:03:36.140
Ich bin ja dumm.

00:03:36.140 --> 00:03:36.980
Jochen, wer bist du denn?

00:03:37.440 --> 00:03:37.700
Ja.

00:03:37.700 --> 00:03:39.040
Die sind doch die wichtigen Leute.

00:03:39.140 --> 00:03:39.740
Stellt euch mal vor.

00:03:41.420 --> 00:03:43.040
Ja, aber man muss ja immer die anderen vorstellen.

00:03:43.140 --> 00:03:44.220
Man kann sich ja nicht gut selber vorstellen.

00:03:44.320 --> 00:03:45.120
Also ich stelle mal die Dominik vor.

00:03:45.180 --> 00:03:47.080
Dominik ist...

00:03:47.080 --> 00:03:48.920
Das hätte schon nicht sein.

00:03:48.920 --> 00:03:49.060
Ja.

00:03:49.220 --> 00:03:50.020
Das hätte Dominik.

00:03:50.020 --> 00:03:50.700
Das ist vorbei.

00:03:50.880 --> 00:03:51.580
Das ist vorbei.

00:03:53.180 --> 00:03:55.920
Also meine drei Hashtags sind Python, Eurorack und...

00:03:55.920 --> 00:04:00.220
Egentik.

00:04:01.580 --> 00:04:02.060
Bytecoding, ja.

00:04:02.200 --> 00:04:02.560
Bytecoding.

00:04:02.580 --> 00:04:03.000
Ja, ja.

00:04:03.000 --> 00:04:03.500
Bytecoding, ja, genau.

00:04:04.140 --> 00:04:04.560
Okay, Mist.

00:04:04.600 --> 00:04:07.280
Jetzt sind alle guten Hashtags schon weg.

00:04:07.400 --> 00:04:10.600
Meinst du, wir haben irgendwie Python...

00:04:10.600 --> 00:04:11.500
Jetzt mal Python Podcast.

00:04:11.820 --> 00:04:12.180
Jacqueline.

00:04:12.800 --> 00:04:13.120
Jacqueline.

00:04:13.120 --> 00:04:13.660
Ja, Uculele.

00:04:13.720 --> 00:04:14.480
Uculele ist auch sehr gut.

00:04:14.680 --> 00:04:15.100
Das ist auch schön, ja.

00:04:15.340 --> 00:04:15.540
Ja.

00:04:15.880 --> 00:04:17.420
Ich habe auch noch ein paar andere Instrumente, aber...

00:04:17.420 --> 00:04:19.560
Und Johannes, sollen wir...

00:04:19.560 --> 00:04:20.380
Ja, also ich...

00:04:20.380 --> 00:04:21.140
Hallo, ich bin Johannes.

00:04:21.760 --> 00:04:23.000
Für die, die mich nicht kennen.

00:04:23.000 --> 00:04:14.000
Ich bin gelegentlich hier im Python Podcast als Gast, weil ich diese beiden...

00:04:14.000 --> 00:04:25.800
Das ist gut.

00:04:25.800 --> 00:04:25.820
Das ist gut.

00:04:25.820 --> 00:04:25.860
Das ist gut.

00:04:25.860 --> 00:04:25.900
Das ist gut.

00:04:25.920 --> 00:04:26.700
anderen Typen da kennen.

00:04:28.940 --> 00:04:29.180
Und

00:04:29.180 --> 00:04:31.600
ich komme nicht aus dem Rheinland.

00:04:32.820 --> 00:04:33.580
Ich bin...

00:04:33.580 --> 00:04:35.780
Du warst da mal hier. Ich war mal im Rheinland,

00:04:35.880 --> 00:04:37.300
ja, aber es hat sich dann

00:04:37.300 --> 00:04:39.720
als... Also ich musste

00:04:39.720 --> 00:04:40.060
wieder weg.

00:04:41.220 --> 00:04:43.720
Und jetzt bin

00:04:43.720 --> 00:04:45.840
ich hier. Hier hat es übrigens

00:04:45.840 --> 00:04:47.760
800 Sonnenstunden im Jahr mehr als

00:04:47.760 --> 00:04:49.400
bei euch im Rheinland. Das ist nur so nebenbei.

00:04:49.940 --> 00:04:51.320
Deshalb bin ich auch so ein sonniges Gemüt.

00:04:51.320 --> 00:04:53.060
Ich kenne tausend Reklaster,

00:04:53.300 --> 00:04:54.800
die bei Johannes. Ja, richtig.

00:04:54.800 --> 00:04:56.800
Die kennst du übrigens alle aus dem Chaosumfeld

00:04:56.800 --> 00:04:57.900
so ein bisschen mehr oder weniger auch, oder?

00:04:58.520 --> 00:05:00.640
Ja, den Jochen habe ich im Computerclub

00:05:00.640 --> 00:05:01.080
kennengelernt.

00:05:02.400 --> 00:05:04.540
Meine Hashtags

00:05:04.540 --> 00:05:06.160
Django,

00:05:06.600 --> 00:05:08.700
Mathematik und

00:05:08.700 --> 00:05:10.780
Spiele. Spiele, richtig.

00:05:11.840 --> 00:05:12.800
Absolut korrekt.

00:05:13.700 --> 00:05:14.760
Hört man schon am Namen.

00:05:15.700 --> 00:05:15.800
Ja.

00:05:16.740 --> 00:05:18.000
So ein Nomen es zu Omen.

00:05:19.340 --> 00:05:19.740
Ja.

00:05:20.660 --> 00:05:22.720
Okay, dann können wir ja jetzt nahtlos mit den News

00:05:23.060 --> 00:05:23.540
einsteigen.

00:05:23.540 --> 00:05:25.320
Ich habe nicht die perfekte Struktur.

00:05:25.560 --> 00:05:26.080
Sehr gut, sehr gut.

00:05:26.580 --> 00:05:29.360
Ich konnte nicht so viel sammeln, weil ich momentan

00:05:29.360 --> 00:05:30.480
total im Stress bin.

00:05:30.640 --> 00:05:33.280
Ja, dann erzählen wir doch ganz kurz nochmal vielleicht über das Barcamp.

00:05:33.460 --> 00:05:35.400
Also das ist jetzt vielleicht nicht so interessant für alle Peißenleute,

00:05:35.480 --> 00:05:37.160
aber für alle Leute, die Podcasts mögen schon.

00:05:37.660 --> 00:05:39.320
Es gab da nämlich eine tolle Veranstaltung, wo man

00:05:39.320 --> 00:05:41.120
Barcamps kennt ja vielleicht aus dem Softwareumfeld,

00:05:41.540 --> 00:05:43.740
wo man ganz viele nette Podcastmenschen kennengelernt hat.

00:05:43.800 --> 00:05:45.460
Ich möchte nochmal Danke sagen für die tollen Kontakte,

00:05:45.560 --> 00:05:47.620
die ich da getroffen und kennengelernt haben durfte.

00:05:48.520 --> 00:05:48.700
Ja,

00:05:48.880 --> 00:05:51.580
Grüße an hier Working Draft

00:05:51.580 --> 00:05:52.540
zum Beispiel.

00:05:53.540 --> 00:05:55.160
Ich habe auch gehört,

00:05:55.420 --> 00:05:57.440
gute Tipps waren, wir sollten mal wieder mehr

00:05:57.440 --> 00:05:59.500
zusammen eine Episode aufnehmen.

00:05:59.720 --> 00:06:01.560
Ja, mit Working Draft, das wäre doch mal wieder eine Idee.

00:06:01.780 --> 00:06:03.600
Und wir haben auch schon konkret geplant,

00:06:03.700 --> 00:06:05.620
was zusammen mit, wo wir sind,

00:06:05.700 --> 00:06:06.500
ist vorne zu machen.

00:06:07.660 --> 00:06:09.640
Die kennen wir auch gut und

00:06:09.640 --> 00:06:11.560
treffen uns immer wieder auf allen möglichen Konferenzen

00:06:11.560 --> 00:06:13.820
und so,

00:06:14.060 --> 00:06:14.340
aber

00:06:14.340 --> 00:06:17.720
ist bisher noch nicht so richtig zustande gekommen,

00:06:17.840 --> 00:06:19.160
aber wir sind auf jeden Fall da auch noch dran.

00:06:20.420 --> 00:06:21.280
Ja, das war so ein Tipp.

00:06:21.280 --> 00:06:22.840
Besucht euch auch

00:06:22.840 --> 00:06:25.120
einfach gegenseitig. Auch ein guter Tipp war halt,

00:06:25.560 --> 00:06:27.200
ja, schaut nicht nur nach so

00:06:27.200 --> 00:06:29.000
totalen Berühmtheiten oder so,

00:06:29.280 --> 00:06:31.120
auch wenn das auf dem Papier

00:06:31.120 --> 00:06:33.020
oder so erstmal, wenn man darüber nachdenkt, gut aussieht.

00:06:33.640 --> 00:06:35.480
Meinst du, Guido? Ich wollte immer schon mal

00:06:35.480 --> 00:06:35.860
Guido haben.

00:06:36.760 --> 00:06:38.440
Das ist halt mit Englisch vielleicht ein Problem.

00:06:38.660 --> 00:06:40.480
Mit Sarah war das jetzt mal eine Ausnahme.

00:06:42.060 --> 00:06:43.340
Aber da gibt es ja schon Leute.

00:06:43.960 --> 00:06:44.540
Ja, gibt es auch.

00:06:44.960 --> 00:06:46.840
In der deutschsprachigen Welt gibt es Paltenmenschen.

00:06:47.240 --> 00:06:49.200
Genau, es gibt eigentlich auch genug.

00:06:49.560 --> 00:06:50.760
Guido spricht immer schon Dutch.

00:06:52.400 --> 00:06:52.760
Aber,

00:06:52.840 --> 00:06:55.120
das Problem ist halt bei Leuten,

00:06:55.340 --> 00:06:56.800
die zu bekannt sind,

00:06:57.160 --> 00:06:58.760
auch, dass man die dann halt oft schon gehört hat.

00:06:59.040 --> 00:07:00.280
Und wenn man dann nicht, weiß nicht,

00:07:01.520 --> 00:07:02.540
das Lied, die Guido,

00:07:02.740 --> 00:07:04.840
mit irgendwie...

00:07:04.840 --> 00:07:06.060
Ach, naja.

00:07:06.560 --> 00:07:09.060
Es gibt doch jetzt demnächst

00:07:09.060 --> 00:07:10.240
ein toller Python,

00:07:10.780 --> 00:07:12.280
den Film.

00:07:12.940 --> 00:07:15.160
Ja, es gibt im Sommer, soll jetzt rauskommen, ich weiß gar nicht genau wann.

00:07:15.300 --> 00:07:16.620
Genau, da gab es einen Trailer, habe ich gesehen.

00:07:16.920 --> 00:07:17.580
Next on the plane.

00:07:17.580 --> 00:07:18.700
Äh, nee.

00:07:20.940 --> 00:07:22.580
Ja, den gab es schon, aber...

00:07:23.160 --> 00:07:23.340
Ja.

00:07:24.120 --> 00:07:24.940
Das scheint Palten.

00:07:25.160 --> 00:07:26.280
Nee, das ist schon...

00:07:26.280 --> 00:07:30.520
Irgendwelche Leute machen das immer.

00:07:30.760 --> 00:07:32.680
Und über Even You haben sie zum Beispiel

00:07:32.680 --> 00:07:34.480
ein Ding gemacht, das war ziemlich gut, das habe ich gesehen.

00:07:35.180 --> 00:07:35.660
Und über andere Leute...

00:07:35.660 --> 00:07:38.460
Der Typ für VHS und

00:07:38.460 --> 00:07:41.060
jetzt Rulldown, habe ich gelesen.

00:07:42.640 --> 00:07:44.080
Und genau, das gibt es jetzt auch über Python.

00:07:44.540 --> 00:07:45.460
Und soll wohl auch...

00:07:45.460 --> 00:07:47.280
Also der Trailer sah auch gut aus.

00:07:47.280 --> 00:07:48.500
Und ja, wir werden mal schauen, wie das so wird.

00:07:49.340 --> 00:07:49.640
Genau.

00:07:50.920 --> 00:07:52.680
Ja, genau, wir sind aufs...

00:07:52.680 --> 00:07:54.960
Wir sind auf so ein Podcamp gegangen, so ein Barcamp-Podcast.

00:07:55.140 --> 00:07:57.520
Und immer Konferenzen, für mich besonders attraktiv,

00:07:57.600 --> 00:07:59.440
wenn ich halt irgendwie zu Fuß hinlaufen kann.

00:07:59.900 --> 00:08:00.700
Ich bin irgendwie

00:08:00.700 --> 00:08:02.360
bequem an der Stelle.

00:08:02.700 --> 00:08:04.600
Und das war halt hier in der Zentralbibliothek

00:08:04.600 --> 00:08:06.660
am Bahnhof in Düsseldorf,

00:08:06.840 --> 00:08:09.080
was auch so ein total cooles Ding ist irgendwie.

00:08:09.640 --> 00:08:11.500
Und man kann die ganzen Räumlichkeiten

00:08:11.500 --> 00:08:13.360
auch für alles mögliche verwenden, man muss es nur irgendwie anmelden.

00:08:13.460 --> 00:08:14.920
Und jedes Mal, wenn wir da vorbeiliefen,

00:08:14.920 --> 00:08:16.600
gerade auf dem Gang, wie man es bei so Konferenzen macht,

00:08:16.660 --> 00:08:18.920
kurzes Gespräch, dann kam er vorbei mit...

00:08:19.480 --> 00:08:20.920
Ja, das soll aber eigentlich

00:08:20.920 --> 00:08:18.920
nicht so sein, weil...

00:08:18.920 --> 00:08:18.920


00:08:18.920 --> 00:08:20.920
Ja, das soll aber eigentlich

00:08:20.920 --> 00:08:22.200
nicht so sein, weil

00:08:22.200 --> 00:08:24.700
eigentlich hat man dieses...

00:08:24.700 --> 00:08:26.200
Man muss halt leise sein,

00:08:26.540 --> 00:08:28.880
in der Bibliothek-Konzept da nicht mehr.

00:08:29.620 --> 00:08:31.260
Es ist auch so, dass man da Essen mit reinnehmen

00:08:31.260 --> 00:08:32.180
darf und so.

00:08:32.800 --> 00:08:34.860
Ich habe dann so eine Führung damit gemacht

00:08:34.860 --> 00:08:36.960
und die sagt, naja, wir wollen das irgendwie anders machen

00:08:36.960 --> 00:08:38.060
und nicht mehr so wie früher.

00:08:38.620 --> 00:08:39.980
Und man kann da auch was essen und

00:08:39.980 --> 00:08:42.680
man kann da auch irgendwie ein bisschen lauter sein.

00:08:42.740 --> 00:08:43.580
Das ist alles kein Problem.

00:08:44.640 --> 00:08:46.740
Und es gibt nicht nur Bücher, sondern es gibt auch so,

00:08:46.740 --> 00:08:48.520
weiß ich nicht, so Laserentfernungsmesser.

00:08:48.920 --> 00:08:50.560
Und 3D-Drucker und

00:08:50.560 --> 00:08:52.140
VR-Brillen.

00:08:52.940 --> 00:08:54.740
Und ein Podcaststudio.

00:08:55.260 --> 00:08:56.280
Und ein Ding, wo man

00:08:56.280 --> 00:08:58.800
ein paar Achtfilme digitalisieren kann.

00:08:59.020 --> 00:09:00.960
Und auch alte Vias digitalisieren kann.

00:09:01.140 --> 00:09:01.760
Und ein Videorekorder.

00:09:02.540 --> 00:09:04.840
Und ein Musikstudio, wo man

00:09:04.840 --> 00:09:06.300
leider aber nicht drin laut sein darf.

00:09:06.540 --> 00:09:08.280
Da darf man nur digitale Instrumente drin verwenden.

00:09:09.080 --> 00:09:10.740
Weil daneben die

00:09:10.740 --> 00:09:12.760
juristische Fachbibliothek ist,

00:09:12.820 --> 00:09:14.460
wo die Leute dann lernen für Prüfungen.

00:09:14.460 --> 00:09:15.700
Und das hat sich dann herausgestellt,

00:09:16.060 --> 00:09:17.900
dass das eine ungünstige Kombination ist.

00:09:18.920 --> 00:09:19.480
Das wäre das.

00:09:21.300 --> 00:09:22.960
Ich verklage dich gleich.

00:09:24.140 --> 00:09:25.080
Ja, gut,

00:09:25.120 --> 00:09:26.240
hätte man auch vorher drauf kommen können.

00:09:26.380 --> 00:09:28.120
Aber das musste wohl erstmal eskalieren.

00:09:28.240 --> 00:09:29.600
Und jetzt darf man da nicht mehr singen.

00:09:30.420 --> 00:09:31.020
Eigentlich schade.

00:09:31.540 --> 00:09:32.300
Ja, schade.

00:09:32.600 --> 00:09:33.400
Gibt es auch Backformen.

00:09:33.480 --> 00:09:34.400
Ich habe das einmal gesehen.

00:09:34.600 --> 00:09:36.060
Das ist Bücherei für Backformen.

00:09:36.100 --> 00:09:37.520
Genau, so Bücherei der Dinge nennen die das.

00:09:37.580 --> 00:09:39.700
Da gibt es auch so Fußball-Backformen und so Zeugs.

00:09:39.940 --> 00:09:42.800
Also wirklich Geburtstagskids

00:09:42.800 --> 00:09:44.460
für alle möglichen Geburtstagspartys und so.

00:09:45.260 --> 00:09:46.400
Also wirklich, wirklich.

00:09:46.400 --> 00:09:48.560
Und man kann da halt hinsetzen und arbeiten.

00:09:48.560 --> 00:09:50.180
Es sind 600 Arbeitsplätze in dem Ding.

00:09:50.500 --> 00:09:51.760
Das ist halt auch irgendwie echt groß.

00:09:51.940 --> 00:09:53.200
Es sind zwei Fußballfelder groß.

00:09:54.120 --> 00:09:56.040
Und es gibt jede Menge Räume für alles mögliche.

00:09:56.100 --> 00:09:57.060
Und wie gesagt, man muss halt nur sagen,

00:09:57.140 --> 00:09:58.720
ich hätte gerne einen Raum für den und den Zweck.

00:09:58.800 --> 00:10:01.280
Und dann überlegen die und dann sagen sie einem,

00:10:01.880 --> 00:10:03.740
nee, du stinkst oder ja, kannst du haben.

00:10:03.920 --> 00:10:05.460
In der alten Zentralbibliothek,

00:10:05.480 --> 00:10:07.260
da war ich vielleicht zwölf oder sowas.

00:10:07.320 --> 00:10:08.760
Da stand so ein Computer drin rum.

00:10:09.520 --> 00:10:12.040
Und der war halt ganz gemein gesichert.

00:10:12.160 --> 00:10:12.660
Also dachten sie.

00:10:13.000 --> 00:10:15.280
Und da konnte man so ein paar Sachen machen.

00:10:15.940 --> 00:10:16.260
Heimlich.

00:10:16.600 --> 00:10:17.660
Und dann Sachen ausprobieren.

00:10:18.560 --> 00:10:19.800
Tja.

00:10:20.800 --> 00:10:22.220
Da gibt es auch eine Menge.

00:10:22.240 --> 00:10:24.440
Ich bin nämlich nach der Schule früher immer in die Bibliothek gefahren.

00:10:24.640 --> 00:10:25.520
Ja, das habe ich auch.

00:10:25.600 --> 00:10:27.320
Ich habe nicht nur nach der Schule.

00:10:28.820 --> 00:10:30.620
Aber ob ich da jetzt meine Kinder hinlassen würde,

00:10:30.700 --> 00:10:31.500
ich weiß es nicht so genau.

00:10:32.780 --> 00:10:32.980
Ja.

00:10:33.760 --> 00:10:35.000
Ja, egal.

00:10:35.600 --> 00:10:37.780
Aber wie gesagt, ich wusste gar nicht, dass es so einen Ort gibt.

00:10:37.900 --> 00:10:39.400
Und dass man so coole Sachen machen kann.

00:10:39.400 --> 00:10:40.640
Da gibt es auch Bücher über Peißen, Jochen.

00:10:41.000 --> 00:10:42.460
Ja, da gibt es Bücher über Peißen.

00:10:42.460 --> 00:10:42.700
Ja, da gibt es Bücher auch.

00:10:43.440 --> 00:10:46.260
Ja, da werde ich mir nicht...

00:10:46.260 --> 00:10:48.040
Aber es gibt eine Fernleihe, über die man halt eine Menge kriegt.

00:10:48.040 --> 00:10:48.380
Weil Christ,

00:10:48.560 --> 00:10:49.360
darüber wollten wir gleich reden.

00:10:49.960 --> 00:10:54.120
Und die liefert dann halt auch an die nächstgelegene Bibliothek.

00:10:54.200 --> 00:10:55.300
Also man kann das auch online machen.

00:10:55.800 --> 00:10:58.060
Und dann kann man die Sachen dann lokal abholen.

00:10:58.200 --> 00:11:00.360
Und bei uns ist die nächstgelegene Bibliothek

00:11:00.360 --> 00:11:02.380
irgendwie ein paar hundert Meter entfernt.

00:11:02.840 --> 00:11:04.720
Also wir gehen auch mal zu unserer Stadtteilbibliothek.

00:11:04.860 --> 00:11:06.320
Ja, und man kann die Bücher auch überall zurückgeben.

00:11:06.600 --> 00:11:07.340
Also es ist wirklich...

00:11:07.340 --> 00:11:08.060
Also ich war überrascht.

00:11:08.700 --> 00:11:10.020
Über Tonis ausleihen.

00:11:10.420 --> 00:11:11.020
Das auch, ja.

00:11:12.860 --> 00:11:13.780
Ja, genau.

00:11:14.160 --> 00:11:15.860
Also da hat das Ganze irgendwie stattgefunden.

00:11:16.720 --> 00:11:18.240
Also wir haben ein paar tolle Tipps bekommen.

00:11:18.240 --> 00:11:20.140
Für Marketing und was man nicht alles machen soll.

00:11:20.240 --> 00:11:21.380
Das heißt, wir machen jetzt ganz viel Marketing.

00:11:22.620 --> 00:11:23.500
Viel Spaß damit.

00:11:24.200 --> 00:11:25.020
Für uns bestimmt gut.

00:11:25.120 --> 00:11:26.620
Für euch, ja, ihr müsst halt damit leben.

00:11:28.260 --> 00:11:29.080
Ja, nee.

00:11:29.280 --> 00:11:31.940
Wir haben tatsächlich überlegt, ob wir ein Video mal aufnehmen wollen.

00:11:32.640 --> 00:11:33.980
Genau, ob wir ein bisschen mehr Video machen.

00:11:34.380 --> 00:11:36.420
Also ich hatte es schon länger überlegt, aber...

00:11:36.420 --> 00:11:38.520
Ja, das war so auch einer der Geschichten, wo Leute sagen,

00:11:38.600 --> 00:11:42.020
ja, das muss man im Grunde irgendwie, wenn man...

00:11:42.020 --> 00:11:44.060
Social Media, Presence, Interaction.

00:11:44.080 --> 00:11:45.520
Man muss das schon irgendwie machen.

00:11:47.120 --> 00:11:48.180
Ja, man gewinnt halt.

00:11:48.240 --> 00:11:49.500
Im Hörerkreis auf YouTube, oder?

00:11:49.660 --> 00:11:52.300
Also das sind halt die Leute, die YouTube gucken, die...

00:11:52.300 --> 00:11:52.540
Ja.

00:11:53.220 --> 00:11:56.660
Und gar nicht mal unbedingt die Podcast-Episoden selber,

00:11:56.740 --> 00:11:59.240
aber dass man zumindest da ist und da gefunden wird.

00:11:59.320 --> 00:12:00.960
Für die Leute, die halt nur auf YouTube sind.

00:12:01.460 --> 00:12:03.440
Und dann halt da einen Trailer hat, dass sie halt wissen,

00:12:03.440 --> 00:12:04.380
oh, es gibt den Podcast.

00:12:04.500 --> 00:12:07.740
Ich muss da vielleicht irgendwie auf meinem Podcatcher der Wahl...

00:12:07.740 --> 00:12:09.880
Das geht halt total steil, Johannes.

00:12:10.040 --> 00:12:11.940
Und da stehen die Fans hinterher auch vor deiner Tür

00:12:11.940 --> 00:12:13.620
und klopfen heimlich...

00:12:13.620 --> 00:12:14.580
Die Groupies.

00:12:16.860 --> 00:12:17.440
Ja, also...

00:12:18.240 --> 00:12:19.420
So stelle ich es mir vor.

00:12:19.700 --> 00:12:22.200
Was ich auch total cool fand, war, wie Leute darüber gesprochen haben,

00:12:22.260 --> 00:12:24.460
wie sie halt ihre Workflows halt so ein bisschen automatisieren

00:12:24.460 --> 00:12:28.860
mit so diversen Tools und was man da alles machen kann

00:12:28.860 --> 00:12:32.140
an Automatisierung von irgendwie...

00:12:32.140 --> 00:12:32.840
Ja, was man...

00:12:32.840 --> 00:12:33.760
Oder...

00:12:33.760 --> 00:12:36.160
Oh, jetzt sind wir bei einer anderen geplanten Folge übrigens,

00:12:36.360 --> 00:12:38.220
aber nicht bei Podcast, sondern...

00:12:38.220 --> 00:12:40.900
Wir wollten auch bald nochmal wieder bei so Data Science-Kram reden

00:12:40.900 --> 00:12:44.980
und dann auch nochmal über die ganzen neuen KI-Sachen.

00:12:45.240 --> 00:12:46.060
Darf ich das nicht sagen?

00:12:46.160 --> 00:12:46.380
Ich weiß nicht.

00:12:46.820 --> 00:12:47.460
MTPs und so.

00:12:47.460 --> 00:12:48.260
Ja, ich glaube, man darf das schon sagen.

00:12:48.260 --> 00:12:49.280
KI, musst du sagen.

00:12:49.460 --> 00:12:49.740
KI.

00:12:50.360 --> 00:12:50.500
Oh.

00:12:51.600 --> 00:12:52.520
Ach so, Entschuldigung.

00:12:53.160 --> 00:12:54.960
Du hast eben so einen tollen Link geschickt, der dazu passt.

00:12:55.820 --> 00:12:57.500
Ja, ich habe auch tatsächlich noch News,

00:12:57.720 --> 00:13:02.600
weil es gibt eine interessante Veröffentlichung vom MIT Media Lab

00:13:02.600 --> 00:13:04.480
mit dem Titel Your Brain on Chat's GPT,

00:13:04.980 --> 00:13:08.000
die gerade so ein bisschen durch die News gegangen ist,

00:13:08.460 --> 00:13:12.060
wo sie untersuchen, was das denn für Auswirkungen hat.

00:13:12.140 --> 00:13:13.540
Also ich meine, es ist natürlich sehr reißerisch

00:13:13.540 --> 00:13:16.540
und die Studie hat 54 Teilnehmer.

00:13:17.460 --> 00:13:21.120
Das ist kein repräsentativer Querschnitt durch die Gesellschaft.

00:13:22.400 --> 00:13:26.260
Aber es gab wohl signifikante Unterschiede zwischen Menschen,

00:13:26.260 --> 00:13:29.980
die LLMs benutzen oder nur eine Search Engine

00:13:29.980 --> 00:13:32.760
oder Brain-Only in Klammern No Tools.

00:13:37.560 --> 00:13:38.980
Das finde ich eine sehr schöne Bezeichnung.

00:13:39.320 --> 00:13:40.960
Und was war besser? Für was?

00:13:43.360 --> 00:13:45.020
Man kann sich Sachen besser merken,

00:13:45.140 --> 00:13:46.920
wenn man sie nicht von einem LLM erzeugen lässt.

00:13:47.060 --> 00:13:47.260
Oder wenn man sie...

00:13:47.260 --> 00:13:49.000
Wenn man sie sich nicht von einem LLM vorkauen lässt.

00:13:49.660 --> 00:13:51.160
Ja gut, das ist keine Überraschung,

00:13:51.220 --> 00:13:53.200
dass wenn man das Wissen jetzt nicht selber erarbeitet hat,

00:13:53.280 --> 00:13:54.300
dass das dann flüchtig bleibt.

00:13:54.300 --> 00:13:56.080
Ja, aber auch Suchmaschine.

00:13:56.200 --> 00:13:59.980
Also auch wenn du normal bei Google oder bei irgendwas anderem eintippst

00:13:59.980 --> 00:14:01.760
und nicht diese KI...

00:14:01.760 --> 00:14:03.680
Kagi, ich benutze Kagi.

00:14:05.880 --> 00:14:08.960
Wenn man nicht diese KI-Zusammenfassung benutzt,

00:14:09.140 --> 00:14:11.520
ist die Retention wohl deutlich besser.

00:14:12.420 --> 00:14:14.040
Und das Interessante ist eigentlich,

00:14:14.040 --> 00:14:17.040
dass diese Studie so durch die Neuheit...

00:14:17.260 --> 00:14:19.180
Bitte, ich habe es gerade nicht verstanden.

00:14:19.920 --> 00:14:21.160
Das Interessante finde ich eigentlich,

00:14:21.240 --> 00:14:22.840
dass diese Studie so durch die News geht

00:14:22.840 --> 00:14:24.100
und dass die so überall zitiert wird,

00:14:24.140 --> 00:14:27.840
weil es halt schon so ein bisschen dieses Gefühl reflektiert von

00:14:27.840 --> 00:14:31.080
ja, vielleicht ist das doch nicht so gut für uns.

00:14:31.080 --> 00:14:32.860
Ja, aber ist das nicht immer eine Neuigkeit?

00:14:33.180 --> 00:14:34.000
Ich meine...

00:14:34.000 --> 00:14:34.520
Ja, ja, natürlich.

00:14:34.640 --> 00:14:36.640
Die meisten...

00:14:36.640 --> 00:14:40.020
Also viele Leute sind halt so doch eher so im Modus...

00:14:40.020 --> 00:14:41.700
News, technology is bad for you.

00:14:42.300 --> 00:14:42.660
Genau.

00:14:43.200 --> 00:14:45.220
Meckernder Rentner im Fenster mit einem Kissen

00:14:45.220 --> 00:14:47.240
und Kulturfessimismus kommt halt immer wieder.

00:14:47.260 --> 00:14:47.540
Das hört sich aber gut an.

00:14:47.620 --> 00:14:48.420
Das ist halt immer eine Schlagzeile.

00:14:48.440 --> 00:14:50.500
Ja, aber Jochen, wir sind ja so langsam in so einem Alter.

00:14:51.080 --> 00:14:51.360
Ach so.

00:14:53.140 --> 00:14:53.940
Genau, und hast du gesehen,

00:14:54.040 --> 00:14:57.580
zwei Straßen weit haben sie die Straße gelb gestrichen.

00:14:57.580 --> 00:14:58.120
Das habe ich nicht gesehen.

00:14:58.140 --> 00:14:58.980
War es in diesem Auftrag.

00:14:59.620 --> 00:14:59.900
Unglaublich.

00:15:00.020 --> 00:15:01.740
Also was die jungen Leute heute machen,

00:15:01.800 --> 00:15:02.840
das hätte es bei uns früher nicht gegeben.

00:15:02.860 --> 00:15:03.640
Das waren nicht die jungen Leute.

00:15:03.740 --> 00:15:05.420
Das haben sie richtig mit Teams gemacht,

00:15:05.480 --> 00:15:07.320
die dann angerückt sind und alles verschönern wollten.

00:15:07.460 --> 00:15:09.240
Da haben sie alles mit einer stinkenden Farbe angestrichen

00:15:09.240 --> 00:15:10.680
und dann hinterher wollten sie einen Garten da drauf machen.

00:15:11.940 --> 00:15:12.060
Ja.

00:15:12.420 --> 00:15:14.320
Also der Dominik ist auch in dem Alter, wie ihr hört.

00:15:15.220 --> 00:15:15.500
Genau.

00:15:15.500 --> 00:15:15.860
Ja.

00:15:17.260 --> 00:15:20.340
Also ich verstehe, wie diese medialen Mechanismen funktionieren,

00:15:20.660 --> 00:15:22.020
die halt dazu führen,

00:15:22.120 --> 00:15:23.820
dass das halt immer Schlagzeilen und Neuigkeiten sind.

00:15:24.020 --> 00:15:25.280
Aber ich habe große Zweifel,

00:15:25.400 --> 00:15:32.500
dass das quasi ein repräsentatives Bild davon zeichnet,

00:15:32.580 --> 00:15:33.540
was irgendwie so passiert.

00:15:33.840 --> 00:15:34.160
Insofern.

00:15:34.220 --> 00:15:34.780
Ist es sicherlich nicht.

00:15:35.480 --> 00:15:37.620
Aber die Anzeichen davon,

00:15:37.780 --> 00:15:39.720
dass Leute auf diese Dinge vertrauen

00:15:39.720 --> 00:15:42.760
und dann auf solche Fakten reinfallen

00:15:42.760 --> 00:15:44.980
oder auf solche ausgedachten Sachen,

00:15:44.980 --> 00:15:47.200
dass Ungarn auch Holland genannt wird,

00:15:47.260 --> 00:15:50.660
das ist ja auch ein bisschen schwierig.

00:15:50.660 --> 00:15:50.700
Ja.

00:15:51.600 --> 00:15:51.880
Ja.

00:15:52.360 --> 00:15:55.020
Dieses Vertrauen ist halt schon sehr groß.

00:15:55.040 --> 00:15:55.140
Ja.

00:15:55.520 --> 00:15:57.480
Ich habe gerade, wenn die Leute früher dran waren.

00:15:57.480 --> 00:15:57.980
Ich habe Chat-Ti gefragt,

00:15:58.080 --> 00:15:59.560
mir dann meine Schule ausgesucht.

00:15:59.740 --> 00:15:59.940
Und ja.

00:16:00.640 --> 00:16:02.120
Du wirst bitte als Suchersatz benutzt.

00:16:02.520 --> 00:16:03.620
Also ganz klassisch so.

00:16:03.640 --> 00:16:05.660
Da bin ich zu alt dafür.

00:16:05.780 --> 00:16:06.660
Das finde ich ganz komisch.

00:16:07.300 --> 00:16:07.360
Ja.

00:16:08.060 --> 00:16:08.600
Also Leute denken,

00:16:08.880 --> 00:16:10.280
das ist aber auch komisch,

00:16:10.340 --> 00:16:11.740
dass es nicht direkt die Wahrheit gesagt hat

00:16:11.740 --> 00:16:13.620
oder dass man da ja so ein paar Informationen hatte,

00:16:13.660 --> 00:16:14.760
die man so mal kurz überprüft.

00:16:14.900 --> 00:16:15.220
Ja, sehr gut.

00:16:15.220 --> 00:16:15.280
Das ist ja auch ein bisschen so.

00:16:15.280 --> 00:16:15.320
Ja.

00:16:15.320 --> 00:16:15.380
Ja.

00:16:15.380 --> 00:16:15.400
Ja.

00:16:15.400 --> 00:16:15.460
Ja.

00:16:15.460 --> 00:16:15.480
Ja.

00:16:15.480 --> 00:16:15.520
Ja.

00:16:15.520 --> 00:16:15.540
Ja.

00:16:15.540 --> 00:16:15.560
Ja.

00:16:15.560 --> 00:16:15.560


00:16:15.560 --> 00:16:15.600
Ja.

00:16:15.600 --> 00:16:17.620
Das mit der Medienkompetenz ist halt ein Problem.

00:16:17.720 --> 00:16:18.860
Aber das war auch schon immer ein Problem.

00:16:19.060 --> 00:16:19.200
Ich meine,

00:16:19.280 --> 00:16:19.800
ich erinnere mich noch,

00:16:19.920 --> 00:16:21.580
als das Internet und Google neu waren.

00:16:21.860 --> 00:16:22.840
Hast du nicht dem Marktreiher geglaubt,

00:16:23.020 --> 00:16:23.600
was der gerufen hat?

00:16:23.600 --> 00:16:24.400
Auf das Fernsehen.

00:16:24.640 --> 00:16:24.780
Genau.

00:16:24.940 --> 00:16:25.780
Als das Fernsehen neu war.

00:16:26.240 --> 00:16:27.900
Als das Radio neu war.

00:16:28.400 --> 00:16:28.720
Irgendwie.

00:16:30.140 --> 00:16:31.080
War of the Worlds.

00:16:31.240 --> 00:16:32.480
War auch ein großes Medienkompetenz.

00:16:32.480 --> 00:16:32.840
Damals,

00:16:32.940 --> 00:16:34.820
als man den Propheten noch wirklich glauben konnte.

00:16:35.120 --> 00:16:35.300
Ja.

00:16:36.600 --> 00:16:36.880
Ja.

00:16:37.420 --> 00:16:39.960
Also es ist ein wiederkehrendes Muster.

00:16:40.420 --> 00:16:40.480
Ja.

00:16:40.680 --> 00:16:42.360
Oder eben bei Plato gibt es das schon.

00:16:42.680 --> 00:16:43.100
Der Wetter dagegen.

00:16:43.100 --> 00:16:44.060
Und der Verfall der Jugend.

00:16:44.400 --> 00:16:44.600
Sowieso.

00:16:44.760 --> 00:16:44.860
Ja.

00:16:44.860 --> 00:16:44.900
Ja.

00:16:44.900 --> 00:16:45.480
Ja.

00:16:45.600 --> 00:16:48.260
Also, ich würde mal einfach sagen,

00:16:48.320 --> 00:16:51.440
Plato hat nicht recht gehabt.

00:16:52.620 --> 00:16:53.880
Und das mit der Schrift war schon Fortschritt.

00:16:54.440 --> 00:16:55.220
Und alle anderen danach.

00:16:55.220 --> 00:16:56.000
Das wird Ihnen jetzt aber ganz schön atzen.

00:16:56.880 --> 00:16:59.060
Ja, aber ich glaube, du bist ein Fanboy, Jochen.

00:16:59.700 --> 00:17:01.860
Ja, auf der anderen Seite natürlich schon.

00:17:02.040 --> 00:17:03.340
Ich bin auch irgendwo ein Plato-Fanboy.

00:17:03.480 --> 00:17:04.220
Das ist richtig, ja.

00:17:04.300 --> 00:17:06.960
Ja, das können wir in der MCP-Folge nochmal genauer auslassen.

00:17:06.960 --> 00:17:08.560
Ja, wobei, du hattest ja den Hashtag Mathematik.

00:17:08.600 --> 00:17:10.320
Da habe ich ja einen Haken, um da mich rein...

00:17:10.320 --> 00:17:14.120
Ich habe jetzt eine Podcast-Episode gehört mit Terence Howe.

00:17:14.120 --> 00:17:16.520
Ja, der jetzt auch anfängt.

00:17:16.660 --> 00:17:18.640
Oder der jetzt auch viele Dinge macht.

00:17:18.980 --> 00:17:20.780
Ja, der macht vor allen Dingen viel mit Lean.

00:17:21.760 --> 00:17:23.220
Also sozusagen eine Programmiersprache,

00:17:23.360 --> 00:17:24.300
mit der kann man...

00:17:24.300 --> 00:17:26.820
Also schreibt man halt nicht Code, sondern quasi Mathe.

00:17:27.840 --> 00:17:28.720
Ja, man schreibt schon Code,

00:17:28.800 --> 00:17:30.180
aber hinterher sagt er einem dann das.

00:17:30.280 --> 00:17:31.140
Genau, kann der Compiler.

00:17:31.200 --> 00:17:32.120
Der Compiler hat ja nicht den Binary,

00:17:32.120 --> 00:17:33.540
sondern der gibt einem ein Zertifikat,

00:17:34.080 --> 00:17:35.600
dass das, was man halt hingeschrieben hat,

00:17:36.260 --> 00:17:36.920
folgerichtig war.

00:17:37.340 --> 00:17:39.400
Und wenn das ein Beweis war, dann ist es halt dann bewiesen.

00:17:41.300 --> 00:17:41.700
Genau.

00:17:42.300 --> 00:17:43.940
Und das...

00:17:43.940 --> 00:17:44.100
Ja.

00:17:44.120 --> 00:17:45.380
Ja, macht es halt auch zugänglicher.

00:17:45.480 --> 00:17:47.320
Das macht es halt auch möglich, dass mehrere Leute miteinander

00:17:47.320 --> 00:17:49.620
irgendwie kollaborieren, weil das Problem an

00:17:49.620 --> 00:17:51.460
der bisherigen Mathe-Notation,

00:17:51.560 --> 00:17:53.320
auch die ist natürlich ein Riesenfortschritt gegenüber früher,

00:17:54.040 --> 00:17:55.840
aber die ist halt so, wenn man jetzt so ein

00:17:55.840 --> 00:17:57.020
aktuelles Mathe-Paper nimmt

00:17:57.020 --> 00:17:59.740
und schlägt Seite 15 auf,

00:18:00.580 --> 00:18:02.060
dann kann einem niemand sagen,

00:18:02.160 --> 00:18:04.280
was da steht, ohne die 15 Seiten

00:18:04.280 --> 00:18:05.080
vorher gelesen zu haben.

00:18:05.420 --> 00:18:06.620
Und das ist super anstrengend.

00:18:07.040 --> 00:18:09.180
Und deswegen macht das keiner und dann kann man nicht so gut zusammenarbeiten.

00:18:09.320 --> 00:18:10.840
Sondern muss jeder für sich das irgendwie...

00:18:10.840 --> 00:18:12.840
Und das limitiert natürlich die...

00:18:12.840 --> 00:18:15.880
die Menge an Dingen,

00:18:15.920 --> 00:18:16.760
die man irgendwie tun kann.

00:18:16.940 --> 00:18:19.400
Und jetzt können halt auch irgendwie Nicht-Profis

00:18:19.400 --> 00:18:21.720
quasi da Pull-Requests

00:18:21.720 --> 00:18:23.500
gegen lange Beweise stellen

00:18:23.500 --> 00:18:24.840
und man kann halt automatisch ticken,

00:18:24.940 --> 00:18:26.800
ob das halt so häufig stimmt, was die geschrieben haben oder nicht.

00:18:27.360 --> 00:18:28.440
Und dann... Genau.

00:18:29.040 --> 00:18:29.980
Das machen sie auch schon.

00:18:30.120 --> 00:18:32.640
Die haben da ein total cooles Projekt, wo es darum geht,

00:18:33.180 --> 00:18:35.920
quasi nicht neue Sachen zu beweisen

00:18:35.920 --> 00:18:36.720
oder so, sondern

00:18:36.720 --> 00:18:39.240
die gesamte mathematische Theorie,

00:18:39.380 --> 00:18:40.880
die es so gibt und alle Lammers,

00:18:41.000 --> 00:18:41.600
die man halt so hat,

00:18:42.840 --> 00:18:45.420
die alle mal formal mit Linen durchzubeweisen.

00:18:46.200 --> 00:18:47.740
Und das dann halt in der Datenbank zu haben.

00:18:47.840 --> 00:18:50.280
Sodass man halt später sagen kann, okay...

00:18:50.280 --> 00:18:51.500
Im Endeffekt halt Mathematik, oder?

00:18:51.680 --> 00:18:53.760
Also halt das, was es gibt, so an Mathematik

00:18:53.760 --> 00:18:57.380
einmal komplett durchformalisiert zu haben.

00:18:57.940 --> 00:18:59.000
Und dass man es halt auch noch suchen kann.

00:18:59.080 --> 00:18:59.740
Dass man immer sagen kann, okay,

00:19:00.120 --> 00:19:02.660
ich habe jetzt dieses Problem, welche Lammers könnten mir da helfen?

00:19:02.820 --> 00:19:05.140
Oder welche Tricks siehst du denn in den Dingen,

00:19:05.180 --> 00:19:06.840
die alle bewiesen sind, die man jetzt verwenden könnte?

00:19:06.840 --> 00:19:09.120
Und dann kann einem auch ein LRM da vielleicht helfen.

00:19:09.920 --> 00:19:10.020
Ja.

00:19:10.740 --> 00:19:11.840
Also fand ich auf jeden Fall...

00:19:11.840 --> 00:19:12.460
Ja, gewusst wie.

00:19:12.840 --> 00:19:14.600
Man muss ja eigentlich on top von den Dingen stehen.

00:19:14.740 --> 00:19:16.880
Und nicht nach neuer Information suchen,

00:19:17.320 --> 00:19:20.520
sondern auch was, was man selber quasi auch schon rausputzen könnte.

00:19:20.640 --> 00:19:21.480
Und das geht dann halt schneller.

00:19:22.740 --> 00:19:22.980
Ja.

00:19:23.060 --> 00:19:24.880
So ein bisschen anders, glaube ich.

00:19:24.900 --> 00:19:26.560
Als wenn man sich davon erstmal die Welt erklären lässt.

00:19:26.660 --> 00:19:27.460
Also, äh, das ist Dippel.

00:19:28.600 --> 00:19:31.700
Ja, aber auf jeden Fall, Mathematik ändert sich auch noch immer.

00:19:32.100 --> 00:19:34.220
Und mehr Leute können an Dingen...

00:19:34.220 --> 00:19:35.560
Die hatten dann jetzt auch so ein Paper dazu.

00:19:35.560 --> 00:19:38.500
Und da waren halt dann 50 Autoren drauf oder so.

00:19:39.140 --> 00:19:39.680
Wo ist so ein Paper?

00:19:40.320 --> 00:19:41.000
Das gab es ja...

00:19:41.000 --> 00:19:42.820
Es gibt ja sonst so eine Physik mit tausend Autoren.

00:19:42.840 --> 00:19:44.420
Und in der Mathematik eigentlich nicht.

00:19:45.340 --> 00:19:46.180
Ja, ist spannend.

00:19:46.660 --> 00:19:46.940
Also...

00:19:46.940 --> 00:19:47.700
Kennt ihr das Chicken Paper?

00:19:47.880 --> 00:19:49.040
Hätten wir gerade so einen, wo man gerade Paper macht.

00:19:49.060 --> 00:19:49.500
Nee, was ist das?

00:19:50.220 --> 00:19:51.580
Chicken, Chicken, Chicken, Chicken.

00:19:51.960 --> 00:19:52.400
Zack, Zonker.

00:19:53.040 --> 00:19:56.680
Also es gab jemand, der hat es tatsächlich geschafft, ein Paper zu veröffentlichen,

00:19:56.740 --> 00:19:57.600
weil das alles Standards erfüllt.

00:19:57.820 --> 00:19:58.480
Formalen Standards.

00:19:58.600 --> 00:19:59.360
Ach so, okay.

00:19:59.660 --> 00:19:59.780
Ja.

00:20:00.080 --> 00:20:01.260
Habe ich am Montag gehört.

00:20:01.340 --> 00:20:01.760
Danke, Sascha.

00:20:02.300 --> 00:20:02.500
Ah.

00:20:03.940 --> 00:20:05.440
Ja, jedenfalls, genau.

00:20:05.580 --> 00:20:06.880
In dem Podcast habe ich auch...

00:20:06.880 --> 00:20:08.140
Also ich bin ja auch so ein...

00:20:08.140 --> 00:20:11.500
Das ist ein offiziell peer-reviewedes Paper.

00:20:12.180 --> 00:20:12.320
Ah.

00:20:12.320 --> 00:20:12.400
Ja.

00:20:12.840 --> 00:20:14.300
Da kommen ziemlich viele Hühner drin vor.

00:20:14.460 --> 00:20:14.840
Ja, genau.

00:20:16.620 --> 00:20:17.600
Eigentlich nur Hühner.

00:20:17.780 --> 00:20:18.520
Ja, alles Chicken.

00:20:18.760 --> 00:20:19.500
Ja, ja.

00:20:20.380 --> 00:20:22.860
Das ist auf jeden Fall eine sehr spitze Zielgruppe dann.

00:20:24.020 --> 00:20:24.140
Ja.

00:20:25.880 --> 00:20:26.320
Genau.

00:20:26.640 --> 00:20:28.180
Also was der...

00:20:28.180 --> 00:20:30.700
Also ich würde ja sagen, also bisher war ich immer in dem...

00:20:30.700 --> 00:20:33.980
Also es gibt ja im Grunde zwei Lager, was die Theorie der Mathematik angeht.

00:20:34.080 --> 00:20:38.300
Es gibt halt so die Platoniker irgendwie.

00:20:38.860 --> 00:20:41.700
Also das war eine der wenigen Gebiete, wo halt...

00:20:42.840 --> 00:20:43.840
Ja, ja.

00:20:44.860 --> 00:20:46.540
Platonismus irgendwie noch eine Rolle spielt.

00:20:47.340 --> 00:20:49.460
Und die Intuitionisten oder so.

00:20:50.160 --> 00:20:53.760
Und ich würde sagen, naja, gut, ich bin schon irgendwie da eher auf der Platon-Seite,

00:20:53.880 --> 00:20:55.660
weil, naja, wie soll das anders gehen?

00:20:56.600 --> 00:20:59.480
Man kann ja auch quasi zum Beispiel experimentelle Mathematik machen,

00:20:59.560 --> 00:21:02.560
wo man einfach irgendwie zufällig Beweise generiert

00:21:02.560 --> 00:21:06.080
und dann überprüft mit einem Ding, das halt nicht alles checken kann,

00:21:06.220 --> 00:21:07.840
aber checkt, ob da irgendwas interessant...

00:21:07.840 --> 00:21:09.980
Ob das wahr ist erst mal, ob das richtig ist

00:21:09.980 --> 00:21:11.760
und dann, ob irgendwas Interessantes rausgekommen ist

00:21:11.760 --> 00:21:12.660
und dann manchmal fällt da irgendwas raus.

00:21:12.660 --> 00:21:13.680
Irgendwas Interessantes war raus.

00:21:14.180 --> 00:21:17.880
Und dann, wie kann man das über so einen Prozess erfunden haben?

00:21:17.980 --> 00:21:19.360
Sondern das muss man halt eher entdeckt haben.

00:21:19.760 --> 00:21:21.380
Und auch so andere Dinge wie, weiß ich nicht,

00:21:21.540 --> 00:21:23.020
dass es Kreise gibt oder Dreiecke oder so.

00:21:23.420 --> 00:21:24.820
Da hat man so intuitiv das Gefühl,

00:21:25.360 --> 00:21:26.940
naja, die gibt es schon irgendwie da draußen

00:21:26.940 --> 00:21:28.400
und die kann man eher entdecken,

00:21:28.740 --> 00:21:30.920
dass das halt 180 Grad sind in der Winkelsumme

00:21:30.920 --> 00:21:32.180
und das kann man nicht erfinden.

00:21:32.460 --> 00:21:33.560
Oder das ist halt einfach so.

00:21:34.380 --> 00:21:36.660
Und deswegen dachte ich immer so, ja, also...

00:21:37.380 --> 00:21:38.660
Quasi so Platon...

00:21:38.660 --> 00:21:42.460
Mathematischer Platonismus ist eigentlich schon so die richtige Geschichte.

00:21:42.660 --> 00:21:45.400
Und dann, genau, Intuitionisten seit Anfang des 20. Jahrhunderts

00:21:45.400 --> 00:21:47.260
sagen so, nee, nee, das kann man vielleicht alles nicht so machen

00:21:47.260 --> 00:21:48.540
und das ist doch eher vielleicht eine Erfindung.

00:21:48.920 --> 00:21:50.280
Das habe ich eher so für Quatsch gehalten.

00:21:51.060 --> 00:21:53.000
Und der hatte jetzt aber ein super Argument

00:21:53.000 --> 00:21:55.640
für den mathematischen Intuitionismus.

00:21:55.840 --> 00:21:57.000
Und zwar...

00:21:58.640 --> 00:22:00.860
Wie war denn das noch?

00:22:01.080 --> 00:22:02.400
Ja, jetzt musst du das auch richtig zusammenkriegen.

00:22:02.520 --> 00:22:03.860
Jetzt muss ich das auch richtig zusammenkriegen, verdammt.

00:22:03.920 --> 00:22:07.300
Das macht die Mathematik immer besonders einfach.

00:22:08.900 --> 00:22:09.580
Genau, ach so.

00:22:09.820 --> 00:22:10.100
Ja, richtig.

00:22:10.440 --> 00:22:11.460
Das ging ungefähr so.

00:22:11.560 --> 00:22:12.620
Da sagt er halt, naja,

00:22:12.660 --> 00:22:13.640
also es gibt ja so Zahlen wie Pi.

00:22:13.700 --> 00:22:15.680
Wir hatten es, glaube ich, auch in meinem Podcast schon mal irgendwann davor,

00:22:15.940 --> 00:22:17.080
als wir über Pi geredet haben.

00:22:17.560 --> 00:22:19.460
Naja, das ist halt völlig unklar.

00:22:19.700 --> 00:22:21.240
Zum Beispiel, also es ist Pi,

00:22:21.400 --> 00:22:25.280
die Dezimalbruchentwicklung von Pi besteht jeden Test für Zufälligkeit.

00:22:26.680 --> 00:22:30.120
Und ja, aber niemand weiß, ob es wirklich zufällig ist oder nicht.

00:22:30.200 --> 00:22:32.840
Oder ob nicht doch irgendeine Conspiracy da drin,

00:22:33.080 --> 00:22:37.620
Verschwörung ist, die da halt doch nicht zufällig sein lässt oder so.

00:22:37.660 --> 00:22:38.220
Das weiß halt keiner.

00:22:38.300 --> 00:22:39.760
Und man hat auch keine Idee, wann man das rauskriegen kann.

00:22:40.380 --> 00:22:42.300
Aber er sagt, naja, eigentlich ist es ja ganz einfach.

00:22:42.300 --> 00:22:42.420
Ja.

00:22:42.660 --> 00:22:45.660
Natürlich, wahrscheinlich, was man erwarten würde, ist, dass es zufällig ist,

00:22:45.780 --> 00:22:49.640
weil man kann relativ einfach beweisen,

00:22:50.240 --> 00:22:55.120
dass quasi die allermeisten reellen Zahlen zufällig sein müssen.

00:22:55.500 --> 00:22:56.600
Sonst wäre einfach nicht genug Platz.

00:22:57.120 --> 00:22:58.760
Wenn da irgendwelche Muster wären,

00:22:59.360 --> 00:23:02.460
dann könnte man das irgendwie diagonalisieren oder so.

00:23:02.860 --> 00:23:03.800
Das darf nicht gehen.

00:23:04.260 --> 00:23:05.560
Die allermeisten müssen zufällig sein.

00:23:06.040 --> 00:23:07.040
Das ist was ganz Schlimmes.

00:23:07.120 --> 00:23:08.360
Das ist ein ganz schlimmes Argument, Jochen.

00:23:08.480 --> 00:23:12.600
Weil jetzt kommst du auf einen ganz schlimmen Punkt in der Maschine.

00:23:12.660 --> 00:23:16.860
Die allermeisten reellen Zahlen können wir nicht erfassen.

00:23:17.000 --> 00:23:17.600
Die können wir nicht sehen.

00:23:17.740 --> 00:23:19.760
Die können wir, die sind, das sind so völlig doofe.

00:23:19.760 --> 00:23:20.460
Null Aufdehnung.

00:23:20.780 --> 00:23:20.920
Ja.

00:23:21.600 --> 00:23:23.160
Das sind so völlig doofe Zahlen wie Pi.

00:23:23.220 --> 00:23:26.300
Und das sind die allermeisten und wir kennen vielleicht drei davon.

00:23:26.780 --> 00:23:27.180
Ja, ja.

00:23:27.700 --> 00:23:28.900
Aber es sind die allermeisten.

00:23:29.700 --> 00:23:29.880
Ja.

00:23:30.220 --> 00:23:31.980
Und das finde ich sehr unangenehm.

00:23:32.480 --> 00:23:32.740
Genau.

00:23:33.380 --> 00:23:33.940
Diese Vorstellung.

00:23:34.240 --> 00:23:37.100
Da gibt es halt dann dieses Bild von den, das hat ja bestimmt auch schon jeder mal gehört,

00:23:37.380 --> 00:23:39.660
von den, dieser Infinite Monkeys.

00:23:39.660 --> 00:23:40.980
Ja, so natürlich viele Affen.

00:23:41.060 --> 00:23:42.640
Wenn die nur lange genug irgendwie auf ihre,

00:23:42.660 --> 00:23:44.720
auf ihre Schreibmaschinen eindreschen,

00:23:44.820 --> 00:23:46.520
dann kommt dabei auch mal Shakespeare raus oder so.

00:23:46.900 --> 00:23:49.320
Jede von diesen Zahlen muss alle Laken von Shakespeare

00:23:49.320 --> 00:23:51.620
in einer richtigen Reihenfolge und so enthalten.

00:23:51.760 --> 00:23:52.900
Allein urheberrechtlich geschützt.

00:23:53.060 --> 00:23:54.980
Wenn die echt, echt zufällig sind.

00:23:55.080 --> 00:23:56.180
Das kann nicht anders sein.

00:23:56.240 --> 00:23:56.800
Das muss so sein.

00:23:57.420 --> 00:23:59.340
Und jetzt ist halt natürlich die Frage so, okay,

00:23:59.960 --> 00:24:02.460
also wenn jede einzelne von diesen blöden Zahlen

00:24:02.460 --> 00:24:04.120
im Grunde das ganze Universum irgendwie enthält,

00:24:04.500 --> 00:24:07.740
weil, naja, also egal wie man das Universum beschreibt,

00:24:07.800 --> 00:24:09.480
diese Beschreibung muss da auch drin vorkommen irgendwo.

00:24:10.380 --> 00:24:11.500
Wie kann das denn sein,

00:24:11.620 --> 00:24:12.100
dass das schon,

00:24:12.660 --> 00:24:14.220
vorher existiert da draußen

00:24:14.220 --> 00:24:15.740
und wir es nur entdecken?

00:24:16.020 --> 00:24:16.880
Oder ist es dann nicht so,

00:24:17.240 --> 00:24:18.980
dass man, ja,

00:24:19.220 --> 00:24:20.560
wenn man das jetzt erzeugen wollte,

00:24:20.680 --> 00:24:21.340
zum Beispiel über Pi,

00:24:21.340 --> 00:24:21.840
Ja gut, aber das,

00:24:21.960 --> 00:24:22.980
das geht ja weg, Jochen.

00:24:23.060 --> 00:24:23.640
Da musst du nur sagen,

00:24:23.700 --> 00:24:25.080
das Universum ist quantifiziert

00:24:25.080 --> 00:24:26.720
und schon existieren diese Zahlen nicht mehr.

00:24:27.280 --> 00:24:28.300
Ja, aber, aber, aber das,

00:24:28.440 --> 00:24:29.060
gut, okay,

00:24:29.200 --> 00:24:29.760
Universum,

00:24:29.880 --> 00:24:32.080
sehr weit gefasst jetzt nicht als physikalisches Universum,

00:24:32.200 --> 00:24:32.680
Universum,

00:24:32.820 --> 00:24:34.020
mathematisches Universum eingeschlossen,

00:24:34.140 --> 00:24:35.680
wo alle mathematischen Objekte auch drin sind,

00:24:36.280 --> 00:24:37.320
inklusive Pi und so.

00:24:37.740 --> 00:24:38.200
Und wenn man sagt,

00:24:38.360 --> 00:24:38.580
dann könnte ja,

00:24:38.660 --> 00:24:39.560
als Katholiker würde ich sagen,

00:24:39.660 --> 00:24:40.160
das existiert.

00:24:41.920 --> 00:24:42.240
Zirkulär?

00:24:42.240 --> 00:24:42.300
Aber jetzt,

00:24:42.300 --> 00:24:42.640
aber jetzt zirkulär.

00:24:42.660 --> 00:24:43.300
Zirkulär, ja.

00:24:43.900 --> 00:24:44.900
Ja, du sagst, es existiert,

00:24:45.000 --> 00:24:45.580
weil wir annehmen,

00:24:45.780 --> 00:24:46.440
dass das Universum,

00:24:46.560 --> 00:24:46.860
in dem die,

00:24:46.980 --> 00:24:48.260
dass das Universum,

00:24:48.280 --> 00:24:49.060
in dem wir drin sind,

00:24:49.140 --> 00:24:49.920
das Universum ist,

00:24:50.000 --> 00:24:50.680
in dem die existieren.

00:24:51.120 --> 00:24:51.620
Nee, nee,

00:24:51.740 --> 00:24:51.960
ich würde,

00:24:52.020 --> 00:24:52.360
ich würde sagen,

00:24:52.480 --> 00:24:53.140
also es gibt,

00:24:53.580 --> 00:24:55.360
ich meine jetzt nicht das physikalische Universum,

00:24:55.460 --> 00:24:56.940
sondern ganz weit gefasst,

00:24:57.480 --> 00:24:58.840
also auch das,

00:24:59.000 --> 00:24:59.760
die Welt,

00:24:59.920 --> 00:25:02.400
in der halt auch mathematische Objekte existieren,

00:25:02.800 --> 00:25:03.280
da ist halt,

00:25:03.520 --> 00:25:05.180
also als Platoniker würde ich davon ausgehen,

00:25:05.600 --> 00:25:06.240
eben sowas wie Pi,

00:25:06.280 --> 00:25:07.500
das existiert da draußen halt,

00:25:08.060 --> 00:25:09.480
nicht in unserem Universum natürlich,

00:25:09.760 --> 00:25:11.040
im physikalischen Sinne,

00:25:11.040 --> 00:25:12.520
sondern quasi,

00:25:12.660 --> 00:25:13.160
als Idee.

00:25:13.180 --> 00:25:13.340
Als Konzept,

00:25:13.440 --> 00:25:13.820
als Idee,

00:25:14.180 --> 00:25:14.340
ja,

00:25:14.400 --> 00:25:15.320
in einem anderen Universum,

00:25:15.400 --> 00:25:16.220
wenn es ein anderes gibt,

00:25:16.400 --> 00:25:18.140
müssen sie auch auf diese Idee kommen,

00:25:18.340 --> 00:25:20.280
weil diese Idee existiert halt unabhängig davon,

00:25:20.740 --> 00:25:22.100
und ich kann auch nicht getäuscht sein,

00:25:22.180 --> 00:25:23.140
wenn man das sieht oder so.

00:25:23.700 --> 00:25:23.980
Ich finde,

00:25:24.060 --> 00:25:24.640
da gibt es eine Grenze,

00:25:24.760 --> 00:25:24.880
Jochen.

00:25:25.780 --> 00:25:26.380
Ich verstehe,

00:25:26.440 --> 00:25:27.020
worauf du raus willst,

00:25:27.100 --> 00:25:28.660
dass das sozusagen was Universales ist.

00:25:28.740 --> 00:25:28.960
Egal,

00:25:29.040 --> 00:25:30.280
welches Universum du dir vorstellst,

00:25:30.320 --> 00:25:31.820
die Kreiskonstante ist immer so.

00:25:31.820 --> 00:25:31.880
Ja.

00:25:32.440 --> 00:25:33.940
Überall gibt es sowas wie Gravitation.

00:25:34.900 --> 00:25:35.220
Nee,

00:25:35.260 --> 00:25:35.580
das meine ich nicht.

00:25:35.680 --> 00:25:36.700
Du brauchst nicht mal die Gravitation,

00:25:36.860 --> 00:25:37.820
du brauchst nur Mathematik.

00:25:37.880 --> 00:25:38.620
In jedem Universum,

00:25:38.620 --> 00:25:39.560
das Mathematik enthält,

00:25:39.560 --> 00:25:40.700
gibt es die Kreiskonstante,

00:25:40.780 --> 00:25:41.440
und die ist immer gleich.

00:25:41.620 --> 00:25:41.700
Ja.

00:25:42.020 --> 00:25:43.380
Ist aber Mathematik keine Gravitation?

00:25:43.400 --> 00:25:44.260
Weil Geometrie immer gleich ist.

00:25:45.060 --> 00:25:45.300
Nee,

00:25:45.360 --> 00:25:45.860
brauchst du nicht.

00:25:46.860 --> 00:25:47.040
Nee,

00:25:47.060 --> 00:25:47.900
das hat nichts mit Physik zu tun.

00:25:48.460 --> 00:25:48.820
Ach.

00:25:49.140 --> 00:25:49.340
Aber,

00:25:49.620 --> 00:25:50.600
aber es gibt eine Grenze,

00:25:50.700 --> 00:25:50.900
Jochen.

00:25:51.300 --> 00:25:51.760
Ich glaube,

00:25:51.880 --> 00:25:52.740
dass es da eine Grenze gibt,

00:25:53.140 --> 00:25:54.080
weil es gibt Dinge,

00:25:54.180 --> 00:25:55.480
die sind ganz offensichtlich

00:25:55.480 --> 00:25:56.580
von Menschen ausgedacht.

00:25:56.820 --> 00:25:56.980
Ja.

00:25:57.760 --> 00:25:57.960
Klar.

00:25:58.360 --> 00:25:59.000
In der Mathematik.

00:25:59.120 --> 00:25:59.260
Mhm.

00:25:59.800 --> 00:26:00.080
Ach so,

00:26:00.200 --> 00:26:00.280
okay.

00:26:00.300 --> 00:26:00.780
Die gibt es nur,

00:26:00.900 --> 00:26:01.400
weil wir,

00:26:01.700 --> 00:26:03.880
da kannst du einfach fliegen gehen.

00:26:04.660 --> 00:26:05.500
Und die Frage ist,

00:26:05.500 --> 00:26:06.240
wo ist die Grenze?

00:26:06.400 --> 00:26:08.600
Wo sind die Sachen von Gott gegeben,

00:26:08.660 --> 00:26:09.180
wie man so sagt?

00:26:09.300 --> 00:26:09.340
Mhm.

00:26:09.460 --> 00:26:09.540
Die sind,

00:26:09.560 --> 00:26:10.180
dieses Zitat,

00:26:10.740 --> 00:26:13.220
die natürlichen Zahlen sind von Gott gegeben.

00:26:13.360 --> 00:26:13.660
Ja, ja.

00:26:15.200 --> 00:26:15.740
Menschenwerke, ja.

00:26:17.320 --> 00:26:18.340
Aber da gibt es eine Grenze.

00:26:18.540 --> 00:26:19.620
Sind die komplexen Zahlen,

00:26:19.660 --> 00:26:20.500
sind die schon ausgedacht?

00:26:20.620 --> 00:26:20.940
Ja,

00:26:21.180 --> 00:26:21.840
nee.

00:26:22.600 --> 00:26:23.660
Die haben ja schon eine Entsprechung

00:26:23.660 --> 00:26:24.440
in anderen Dingen drin,

00:26:24.540 --> 00:26:25.780
und die findest du überall in der Physik,

00:26:25.860 --> 00:26:26.380
und so weiter.

00:26:27.480 --> 00:26:28.480
Aber dann gehst du weiter,

00:26:28.640 --> 00:26:28.800
sind,

00:26:29.000 --> 00:26:29.500
keine Ahnung,

00:26:29.600 --> 00:26:30.900
ist die Monstergruppe ausgedacht,

00:26:31.000 --> 00:26:31.280
oder nicht?

00:26:31.420 --> 00:26:31.880
Ja, ja,

00:26:31.920 --> 00:26:32.380
oder die,

00:26:32.680 --> 00:26:34.600
wobei die Monstergruppe

00:26:34.600 --> 00:26:35.560
ein schlechtes Beispiel ist.

00:26:35.760 --> 00:26:36.380
Jetzt musst du dir mal erklären,

00:26:36.460 --> 00:26:37.420
was denn die Monstergruppe ist,

00:26:37.480 --> 00:26:38.560
also wenn du nicht uns drei meinst.

00:26:38.560 --> 00:26:40.160
Es gibt,

00:26:40.220 --> 00:26:42.000
es gibt so eine Klassifizierung von Gruppen,

00:26:42.140 --> 00:26:43.120
und in der,

00:26:43.360 --> 00:26:44.620
in vielen Bereichen der Mathematik

00:26:44.620 --> 00:26:44.960
ist es so,

00:26:45.060 --> 00:26:45.320
dass du,

00:26:45.360 --> 00:26:47.400
dass du fünf sehr schöne Beispiele findest.

00:26:47.900 --> 00:26:48.640
Da gibt es die ganz,

00:26:48.900 --> 00:26:49.060
die,

00:26:49.160 --> 00:26:50.860
die natürlichen Zahlen,

00:26:51.080 --> 00:26:51.520
und die,

00:26:51.740 --> 00:26:52.980
und die ganzen Zahlen,

00:26:53.160 --> 00:26:53.480
und dann,

00:26:54.020 --> 00:26:55.260
die kannst du so erweitern,

00:26:55.460 --> 00:26:56.420
und da gibt es irgendwie

00:26:56.420 --> 00:26:57.440
fünf verschiedene Kategorien,

00:26:57.500 --> 00:26:59.800
und dann gibt es noch drei zusätzliche,

00:27:00.280 --> 00:27:01.080
die einzeln sind,

00:27:01.200 --> 00:27:02.400
und die eine hat fünf Elemente,

00:27:02.420 --> 00:27:03.500
und die andere hat sieben Elemente,

00:27:03.540 --> 00:27:04.660
und dann gibt es noch die Monstergruppe,

00:27:04.700 --> 00:27:07.720
die hat 880.973 verschiedene Elemente.

00:27:07.800 --> 00:27:08.460
Irgendwie so komische Zahlen.

00:27:08.460 --> 00:27:10.460
Und weil die da so rausfällt,

00:27:11.260 --> 00:27:12.700
aus dieser schönen Klassifizierung,

00:27:12.820 --> 00:27:14.340
hast du einen schönen Setzkasten

00:27:14.340 --> 00:27:15.740
mit den ganzen ordentlichen Gruppen drin,

00:27:15.820 --> 00:27:17.460
und dann hast du drei so komische dazwischen,

00:27:17.820 --> 00:27:18.500
und dann hast du da noch

00:27:18.500 --> 00:27:20.180
die riesige Monstergruppe daneben,

00:27:20.620 --> 00:27:21.460
hat die den Namen Monstergruppe.

00:27:22.820 --> 00:27:23.080
Okay.

00:27:24.140 --> 00:27:25.000
Dies ist ein schlechtes Beispiel,

00:27:25.100 --> 00:27:26.840
weil die fällt halt aus diesen Klassifizierungen raus.

00:27:26.900 --> 00:27:28.480
Aber ganz viele von diesen Dingen sind,

00:27:28.580 --> 00:27:28.940
finde ich,

00:27:28.980 --> 00:27:30.480
sind schon eindeutig ausgedacht.

00:27:31.500 --> 00:27:31.840
Die sind,

00:27:31.940 --> 00:27:32.660
die sind so,

00:27:32.700 --> 00:27:35.160
weil wir die Definitionen so gewählt haben,

00:27:35.580 --> 00:27:37.120
und daraus fallen die Sachen raus.

00:27:38.460 --> 00:27:38.780
Aber,

00:27:39.240 --> 00:27:39.440
ja,

00:27:39.520 --> 00:27:39.960
das ist,

00:27:40.060 --> 00:27:41.380
das ist eine schwierige Frage.

00:27:41.560 --> 00:27:41.740
Ja,

00:27:41.820 --> 00:27:42.500
aber ich würde auch eben,

00:27:42.540 --> 00:27:42.900
wenn man sagt,

00:27:43.100 --> 00:27:43.780
ich meine,

00:27:44.180 --> 00:27:45.420
man kommt ja an,

00:27:45.560 --> 00:27:46.220
selbst wenn die existieren,

00:27:46.240 --> 00:27:47.120
man kommt ja an die Dinger nicht dran.

00:27:47.420 --> 00:27:48.220
Wenn man es jetzt ausrechnet,

00:27:48.320 --> 00:27:49.940
dann fallen da zwar diese langen Zahlen raus,

00:27:50.020 --> 00:27:50.860
aber da braucht man Energie,

00:27:51.280 --> 00:27:52.860
und Energie hat man aber nicht unendlich viel.

00:27:52.940 --> 00:27:53.220
Das heißt,

00:27:53.500 --> 00:27:54.780
also Shakespeare's Serket rauszukriegen,

00:27:54.820 --> 00:27:55.500
wird schwierig.

00:27:55.820 --> 00:27:57.520
Da braucht man irgendwie nahezu unendlich viel Energie.

00:27:58.000 --> 00:27:58.240
Das heißt,

00:27:58.280 --> 00:27:58.740
man könnte ja sagen,

00:27:58.820 --> 00:27:58.960
okay,

00:27:59.120 --> 00:28:00.180
vielleicht existieren die,

00:28:00.200 --> 00:28:01.640
in unserem physikalischen Universum.

00:28:01.720 --> 00:28:01.920
Ja,

00:28:02.000 --> 00:28:02.300
genau.

00:28:03.880 --> 00:28:04.200
Ja,

00:28:04.680 --> 00:28:04.860
ja,

00:28:04.860 --> 00:28:05.000
aber,

00:28:05.100 --> 00:28:05.960
also ich finde das halt schon,

00:28:06.180 --> 00:28:06.200
irgendwie,

00:28:06.200 --> 00:28:07.380
damit könnte man schon sagen,

00:28:07.460 --> 00:28:09.260
wenn ich da wahnsinnig viel Energie investieren muss,

00:28:09.420 --> 00:28:09.880
um da was,

00:28:10.100 --> 00:28:11.440
kann ich zwar beliebige Sachen daraus kriegen,

00:28:11.940 --> 00:28:12.320
aber,

00:28:12.640 --> 00:28:15.080
dann wird es halt dann doch wieder eher so,

00:28:15.140 --> 00:28:16.900
also wenn ich das sozusagen in unsere Existenz holen will,

00:28:16.960 --> 00:28:17.980
dann muss ich halt irgendwie,

00:28:18.520 --> 00:28:19.020
dann bin ich plötzlich,

00:28:19.240 --> 00:28:20.500
unterliege ich wieder all diesen Beschränkungen,

00:28:20.600 --> 00:28:21.620
und dann ist es doch wieder mehr erfunden,

00:28:21.760 --> 00:28:21.940
weil,

00:28:22.260 --> 00:28:22.460
ja,

00:28:22.580 --> 00:28:23.640
Zeit vielleicht,

00:28:23.860 --> 00:28:24.260
ich komme halt nicht,

00:28:24.440 --> 00:28:24.840
kann sein,

00:28:24.900 --> 00:28:25.180
dass es es gibt,

00:28:25.260 --> 00:28:25.880
aber ich komme halt nicht dran.

00:28:26.260 --> 00:28:27.740
Aber wenn das mit Zeit ist,

00:28:27.800 --> 00:28:28.640
kann es ja vielleicht gehen,

00:28:28.700 --> 00:28:31.180
weil in der Zeit könnte es ja noch eine andere Dimension versteckt haben,

00:28:31.660 --> 00:28:33.500
die dann nicht nur linear,

00:28:33.500 --> 00:28:34.880
aber das bringt nichts.

00:28:35.060 --> 00:28:35.180
Doch,

00:28:35.500 --> 00:28:36.140
da kann es ja nicht,

00:28:36.200 --> 00:28:36.580
unendlich.

00:28:36.700 --> 00:28:37.000
Stimmt's?

00:28:37.100 --> 00:28:37.120
Ja,

00:28:37.160 --> 00:28:37.500
und dann,

00:28:37.800 --> 00:28:38.160
ich würde ja sagen,

00:28:38.180 --> 00:28:38.980
das ist ja im Grunde das Gleiche,

00:28:39.040 --> 00:28:41.200
ob das jetzt Zeit oder Energie,

00:28:41.540 --> 00:28:44.720
das kannst du ja gegeneinander aufrechnen.

00:28:44.780 --> 00:28:45.800
Vielleicht eine Abkürzung,

00:28:45.940 --> 00:28:46.960
so eine Mieterabkürzung.

00:28:47.700 --> 00:28:47.920
Ja,

00:28:48.000 --> 00:28:48.320
keine Ahnung.

00:28:48.360 --> 00:28:48.500
Ich glaube,

00:28:48.560 --> 00:28:50.020
da müssen wir mal eine separate Frage machen.

00:28:50.100 --> 00:28:51.200
Müssen wir vielleicht auch irgendjemand fragen,

00:28:51.320 --> 00:28:51.580
der da mal,

00:28:52.120 --> 00:28:52.560
keine Ahnung,

00:28:52.640 --> 00:28:54.000
das waren so meine Gedanken beim Hören von Klass.

00:28:54.000 --> 00:28:54.200
Ja,

00:28:54.340 --> 00:28:55.880
vielleicht finden wir ja einen Mathematiker,

00:28:56.120 --> 00:28:58.400
der was weiß.

00:29:00.220 --> 00:29:00.540
Ja,

00:29:00.700 --> 00:29:01.220
das ist auch,

00:29:01.700 --> 00:29:02.820
vielleicht eher in der Mathematik,

00:29:02.820 --> 00:29:03.760
weil es eine Natur beschiebt.

00:29:05.500 --> 00:29:05.820
Ja,

00:29:05.960 --> 00:29:06.100
nee,

00:29:06.100 --> 00:29:07.940
aber solche Diskussionen sind in der Mathematik schon,

00:29:10.000 --> 00:29:10.760
die kommen immer wieder,

00:29:10.880 --> 00:29:12.160
gerade in den früheren Semestern.

00:29:12.500 --> 00:29:13.580
Sobald man mal ins,

00:29:13.660 --> 00:29:15.760
sobald man das Grundstudium abgeschlossen hat,

00:29:15.860 --> 00:29:16.040
dann,

00:29:16.600 --> 00:29:16.920
ja,

00:29:17.460 --> 00:29:18.420
hat man es akzeptiert.

00:29:19.060 --> 00:29:20.020
Das ist die Mathematik,

00:29:20.120 --> 00:29:20.600
die gibt es halt.

00:29:21.300 --> 00:29:21.420
Ja.

00:29:21.620 --> 00:29:22.440
Und da gibt es auch nicht alles.

00:29:22.600 --> 00:29:24.380
Ich hatte mal eine sehr lange Diskussion mit einem,

00:29:24.500 --> 00:29:24.640
der,

00:29:25.640 --> 00:29:29.120
ein Student von mir,

00:29:29.280 --> 00:29:30.040
den ich tutoriert habe,

00:29:30.160 --> 00:29:31.760
der offensichtlich auch schon,

00:29:32.360 --> 00:29:34.860
einen Hang zur Esoterik hatte,

00:29:34.980 --> 00:29:35.620
und der dann gesagt hat,

00:29:35.660 --> 00:29:35.860
ja,

00:29:35.860 --> 00:29:36.060
aber,

00:29:36.060 --> 00:29:36.080
aber,

00:29:36.100 --> 00:29:36.400
du musst,

00:29:36.980 --> 00:29:38.420
du musst alles untersuchen.

00:29:38.580 --> 00:29:39.760
Warum untersuchst du das hier nicht?

00:29:39.860 --> 00:29:40.380
Und dann habe ich ihm bewiesen,

00:29:40.480 --> 00:29:40.540
ja,

00:29:41.380 --> 00:29:42.320
wenn ich das untersuche,

00:29:42.380 --> 00:29:43.360
oder wenn ich diese Annahme treffe,

00:29:43.460 --> 00:29:44.980
dann führt das zu Paradoxa.

00:29:45.160 --> 00:29:45.380
Dann,

00:29:45.460 --> 00:29:46.540
dann falle ich direkt raus,

00:29:46.640 --> 00:29:47.360
brauche ich gar nicht weitermachen.

00:29:47.420 --> 00:29:48.440
Das hat er aber nicht akzeptiert,

00:29:48.540 --> 00:29:51.220
sondern er wollte mir dann versuchen zu erklären,

00:29:51.460 --> 00:29:51.600
dass,

00:29:52.100 --> 00:29:53.580
dass es aber eine Sinneserfahrung ist,

00:29:53.640 --> 00:29:56.140
und du musst alle Sinneserfahrungen versuchen,

00:29:56.320 --> 00:29:56.580
als,

00:29:56.700 --> 00:29:58.760
als Wissenschaftler musst du alles akzeptieren.

00:29:59.900 --> 00:30:00.780
Das ist aber nicht so,

00:30:00.860 --> 00:30:01.000
sondern,

00:30:01.320 --> 00:30:03.300
sondern als Mathematiker geht man da pragmatischer vor

00:30:03.300 --> 00:30:03.640
und sagt,

00:30:03.720 --> 00:30:03.900
ja,

00:30:03.900 --> 00:30:04.380
aber das,

00:30:04.900 --> 00:30:05.760
da brauche ich nicht weitermachen,

00:30:05.760 --> 00:30:06.540
weil das bringt mir nichts.

00:30:06.640 --> 00:30:07.620
Du bist ja eigentlich nur Statistiker,

00:30:07.720 --> 00:30:09.180
du hast ja so eine Approximation gemacht,

00:30:09.240 --> 00:30:09.460
von dem,

00:30:09.540 --> 00:30:09.920
was du glaubst,

00:30:09.940 --> 00:30:10.560
was dabei rauskommt,

00:30:10.620 --> 00:30:13.300
und dann doch dich auf deine eigene Sinneserfahrung verlassen,

00:30:13.420 --> 00:30:14.720
die irgendwie da so ein bisschen,

00:30:15.640 --> 00:30:16.560
die Klopke in die Mitte geht.

00:30:16.560 --> 00:30:16.580
Ja,

00:30:16.580 --> 00:30:17.840
Mathematik und Sinneserfahrung.

00:30:18.260 --> 00:30:18.460
Ja,

00:30:18.720 --> 00:30:18.980
das,

00:30:19.240 --> 00:30:21.240
das hat keine riesige Überschneidungsmenge.

00:30:21.460 --> 00:30:22.320
Das ist ja genau der Versuch,

00:30:22.440 --> 00:30:24.300
quasi von den Sinneserfahrungen zu abstrahieren.

00:30:25.200 --> 00:30:25.600
Aber ja,

00:30:25.700 --> 00:30:26.160
mit den eigenen,

00:30:26.160 --> 00:30:27.060
was natürlich schwierig ist.

00:30:27.140 --> 00:30:27.240
Ja,

00:30:27.360 --> 00:30:28.500
was natürlich schwierig ist,

00:30:28.560 --> 00:30:28.700
ja,

00:30:28.700 --> 00:30:28.860
klar.

00:30:30.320 --> 00:30:30.480
Ja,

00:30:30.580 --> 00:30:32.820
sagen wir mal zu den tatsächlich praktischen Dingen.

00:30:33.060 --> 00:30:34.400
Ich habe auch ein News-Ding,

00:30:34.400 --> 00:30:34.740
weil,

00:30:34.740 --> 00:30:35.340
eins hat er noch.

00:30:35.460 --> 00:30:35.680
Ja,

00:30:35.840 --> 00:30:36.100
genau.

00:30:36.880 --> 00:30:37.240
Weil,

00:30:37.460 --> 00:30:38.400
das können wir vielleicht jetzt,

00:30:38.460 --> 00:30:38.980
können wir das sagen,

00:30:39.020 --> 00:30:40.260
jetzt haben wir die ganzen Leute vergrault,

00:30:40.440 --> 00:30:41.160
irgendwie mit,

00:30:42.060 --> 00:30:42.360
ähm,

00:30:43.020 --> 00:30:43.980
mit den esoterischen,

00:30:44.440 --> 00:30:45.560
trauen wir das jetzt auch noch zu.

00:30:46.020 --> 00:30:46.340
Genau.

00:30:46.500 --> 00:30:47.640
Wolltest du nicht irgendwas sagen,

00:30:47.680 --> 00:30:49.180
du hast ein Learnings vom Barcamp,

00:30:49.260 --> 00:30:50.020
was man nicht machen soll?

00:30:50.100 --> 00:30:50.280
Achso,

00:30:50.420 --> 00:30:51.440
jetzt hast du mich ja eingeweiht.

00:30:51.440 --> 00:30:51.460
Ja,

00:30:51.460 --> 00:30:52.600
wir machen das aber gnadenlos,

00:30:52.680 --> 00:30:52.880
egal.

00:30:53.820 --> 00:30:54.100
Ähm,

00:30:54.200 --> 00:30:54.620
und zwar,

00:30:54.760 --> 00:30:56.160
wir machen gleich noch was über MCP,

00:30:56.320 --> 00:30:56.380
und,

00:30:56.540 --> 00:30:56.840
äh,

00:30:57.120 --> 00:30:58.520
oder ich kann dazu was erzählen.

00:30:58.540 --> 00:30:58.700
Nein.

00:30:58.700 --> 00:30:59.280
Machen wir nicht?

00:30:59.400 --> 00:30:59.560
Nein.

00:31:00.400 --> 00:31:00.760
Ey!

00:31:00.900 --> 00:31:02.200
Wir machen eine eigene Folge zu MCP.

00:31:02.200 --> 00:31:03.500
Dann machen wir eine eigene Folge zu MCP?

00:31:03.620 --> 00:31:03.780
Ja.

00:31:04.200 --> 00:31:04.480
Okay,

00:31:04.700 --> 00:31:04.820
na gut.

00:31:04.820 --> 00:31:04.960
Also,

00:31:05.040 --> 00:31:05.360
ich finde ja,

00:31:05.380 --> 00:31:07.060
MCP ist das Master Control Program.

00:31:07.460 --> 00:31:07.720
Genau,

00:31:07.820 --> 00:31:08.400
das fand ich auch,

00:31:08.580 --> 00:31:08.820
äh,

00:31:08.900 --> 00:31:09.260
ich hab da,

00:31:09.320 --> 00:31:09.740
ich hab da,

00:31:09.840 --> 00:31:10.020
äh,

00:31:10.060 --> 00:31:10.400
Vortragsvorgang.

00:31:10.400 --> 00:31:11.400
Oder Metacolopramid,

00:31:11.500 --> 00:31:11.840
je nachdem,

00:31:11.920 --> 00:31:12.260
wie man möchte.

00:31:13.600 --> 00:31:14.080
Na gut,

00:31:14.120 --> 00:31:15.780
dann machen wir das heute eben nicht,

00:31:15.860 --> 00:31:17.960
aber das müssen wir echt dann bald machen,

00:31:18.100 --> 00:31:18.320
weil,

00:31:18.600 --> 00:31:18.920
äh,

00:31:19.240 --> 00:31:20.280
sonst weiß ich das alles nicht mehr.

00:31:20.340 --> 00:31:21.020
Ich weiß das jetzt gerade.

00:31:21.020 --> 00:31:22.300
Wir sind im Jochen unter den Nägeln.

00:31:22.840 --> 00:31:23.980
In der Mathematical Compute.

00:31:24.400 --> 00:31:24.500
Ja,

00:31:24.640 --> 00:31:24.780
weil,

00:31:24.980 --> 00:31:25.240
liebe Hörer,

00:31:25.340 --> 00:31:28.300
schreibt uns an hello at python-podcast.de,

00:31:28.300 --> 00:31:30.180
ob ihr diese Folge dringend hören wollt,

00:31:30.260 --> 00:31:30.560
oder nicht?

00:31:30.620 --> 00:31:30.800
Ja,

00:31:30.920 --> 00:31:31.120
okay.

00:31:31.160 --> 00:31:31.460
MCP-Folge.

00:31:31.900 --> 00:31:32.460
Meinst du,

00:31:32.500 --> 00:31:33.140
jetzt hört noch jemand zu?

00:31:33.640 --> 00:31:33.800
Ja,

00:31:34.060 --> 00:31:34.260
aber,

00:31:34.300 --> 00:31:34.640
aber das,

00:31:34.640 --> 00:31:36.780
das News-Item wäre an der Stelle irgendwie hier,

00:31:36.920 --> 00:31:42.300
Ex-CTO von OpenAI hat irgendwie von einem Venture Capital Fonds irgendwie zwei Milliarden

00:31:42.300 --> 00:31:42.640
gekriegt,

00:31:42.700 --> 00:31:43.280
ohne irgendwas,

00:31:43.400 --> 00:31:46.000
bei einer Validierung von zehn Milliarden oder so.

00:31:46.900 --> 00:31:47.140
Also,

00:31:47.460 --> 00:31:47.580
der,

00:31:47.620 --> 00:31:49.100
der ursprüngliche Entwickler von,

00:31:49.100 --> 00:31:50.640
von ChatGPT ist halt auch dabei,

00:31:51.120 --> 00:31:52.420
John Schulmann und,

00:31:52.480 --> 00:31:52.880
ähm,

00:31:53.040 --> 00:31:54.060
ein paar andere Größen.

00:31:54.720 --> 00:31:55.020
Äh,

00:31:55.140 --> 00:31:55.300
also,

00:31:55.300 --> 00:31:55.580
ich meine,

00:31:55.740 --> 00:31:55.920
die ganzen,

00:31:55.920 --> 00:31:57.540
die ganzen ursprünglichen Leute,

00:31:57.780 --> 00:31:58.040
äh,

00:31:58.140 --> 00:31:58.280
sind,

00:31:58.300 --> 00:31:59.440
sind ja alle nicht mehr bei OpenAI.

00:32:00.180 --> 00:32:00.540
Und,

00:32:00.640 --> 00:32:01.760
ähm,

00:32:02.300 --> 00:32:02.520
äh,

00:32:02.600 --> 00:32:02.960
naja,

00:32:03.100 --> 00:32:03.200
also,

00:32:03.260 --> 00:32:03.900
das ist halt völlig irre.

00:32:03.980 --> 00:32:04.540
Die haben kein Produkt,

00:32:04.660 --> 00:32:06.280
nichts und kriegen halt so viel Geld.

00:32:06.380 --> 00:32:07.620
Das ist echt Wahnsinn.

00:32:08.040 --> 00:32:08.260
Und,

00:32:08.420 --> 00:32:08.700
äh,

00:32:08.800 --> 00:32:10.100
aber wenn man sich für MCP interessiert,

00:32:10.140 --> 00:32:12.060
der aktuell beste Podcast,

00:32:12.280 --> 00:32:12.440
äh,

00:32:12.440 --> 00:32:13.100
den man hören kann,

00:32:13.260 --> 00:32:13.940
eine Podcast-Episode,

00:32:14.580 --> 00:32:16.840
ist tatsächlich irgendwie von einem Partner von diesem,

00:32:16.960 --> 00:32:17.420
äh,

00:32:17.520 --> 00:32:18.200
Venture Capital Fonds,

00:32:18.860 --> 00:32:19.260
äh,

00:32:19.360 --> 00:32:20.680
von einer Partnerin mit,

00:32:20.820 --> 00:32:21.040
äh,

00:32:21.060 --> 00:32:22.640
Interview mit David Soria,

00:32:22.640 --> 00:32:22.800
äh,

00:32:23.080 --> 00:32:23.920
Soria Parra,

00:32:24.040 --> 00:32:24.160
oder,

00:32:24.280 --> 00:32:24.600
ich weiß gar nicht,

00:32:24.640 --> 00:32:25.100
wie man das ausspricht,

00:32:25.660 --> 00:32:26.000
ähm,

00:32:26.280 --> 00:32:26.520
der,

00:32:26.720 --> 00:32:27.540
einer der beiden ist,

00:32:27.600 --> 00:32:28.240
die sich das ausgedacht,

00:32:28.300 --> 00:32:28.520
haben,

00:32:28.640 --> 00:32:30.120
und das ist irgendwie echt ganz nett.

00:32:30.900 --> 00:32:31.260
Äh,

00:32:31.400 --> 00:32:31.580
ja,

00:32:31.920 --> 00:32:32.200
also,

00:32:32.320 --> 00:32:34.240
aber dieser ganze Bereich ist momentan völlig irre.

00:32:34.340 --> 00:32:34.520
Das,

00:32:34.640 --> 00:32:34.860
äh,

00:32:34.880 --> 00:32:37.020
erinnert mich echt sehr stark an diese ganze DotCamp,

00:32:37.060 --> 00:32:38.080
äh,

00:32:38.180 --> 00:32:38.960
Bubble Ende der,

00:32:39.100 --> 00:32:39.980
Ende der 90er,

00:32:40.120 --> 00:32:40.480
und,

00:32:40.620 --> 00:32:40.820
äh,

00:32:40.820 --> 00:32:41.020
es,

00:32:41.120 --> 00:32:41.380
es,

00:32:41.540 --> 00:32:41.780
äh,

00:32:41.900 --> 00:32:42.140
irre,

00:32:42.320 --> 00:32:42.480
ja.

00:32:43.300 --> 00:32:43.600
Naja,

00:32:44.980 --> 00:32:45.840
genau,

00:32:46.120 --> 00:32:46.460
ähm,

00:32:46.460 --> 00:32:48.060
aber dann machen wir das nochmal in einer anderen Episode.

00:32:48.560 --> 00:32:48.700
Okay.

00:32:50.140 --> 00:32:50.380
Ja,

00:32:50.580 --> 00:32:50.740
dann,

00:32:50.860 --> 00:32:51.140
dann,

00:32:51.260 --> 00:32:53.300
der stellt sich jetzt endgültig Zeit für,

00:32:53.320 --> 00:32:53.940
dann machen wir jetzt,

00:32:54.120 --> 00:32:54.300
was,

00:32:54.300 --> 00:32:54.660
was haben wir jetzt?

00:32:55.160 --> 00:32:56.080
Anfacket dort der Ereignisse.

00:32:56.080 --> 00:32:57.080
Kommt aber ein radikaler Wechsel.

00:32:57.220 --> 00:32:57.440
Achtung,

00:32:57.440 --> 00:32:58.520
jetzt kommt ein radikaler Bruch.

00:32:58.840 --> 00:32:59.880
Data Class Builders.

00:33:00.160 --> 00:33:00.340
Ah,

00:33:00.500 --> 00:33:00.660
okay.

00:33:00.740 --> 00:33:00.820
Ja,

00:33:00.920 --> 00:33:01.020
also,

00:33:01.080 --> 00:33:01.720
Kapitel 5.

00:33:02.040 --> 00:33:02.140
Weil,

00:33:02.220 --> 00:33:03.500
weil Anfacket dort der Ereignisse,

00:33:03.580 --> 00:33:04.780
das wollte ich nochmal kurz erwähnt haben,

00:33:04.800 --> 00:33:05.000
okay.

00:33:05.060 --> 00:33:05.940
Hat Johannes eben geschickt,

00:33:06.020 --> 00:33:06.240
das war,

00:33:06.320 --> 00:33:06.840
das war schön.

00:33:06.920 --> 00:33:07.020
Ja.

00:33:07.800 --> 00:33:08.000
Ja.

00:33:08.780 --> 00:33:09.680
Link in den Show Notes.

00:33:09.880 --> 00:33:10.060
Genau,

00:33:10.200 --> 00:33:12.120
für Business Leaders oder für Senior Developers.

00:33:13.080 --> 00:33:13.260
Wichtig.

00:33:13.360 --> 00:33:13.640
Alles klar.

00:33:15.660 --> 00:33:15.900
Ja,

00:33:16.020 --> 00:33:16.580
Kapitel 5.

00:33:16.700 --> 00:33:18.520
Ist ein etwas kürzeres Kapitel,

00:33:18.640 --> 00:33:21.540
und ich fand's sehr gemischt beim Lesen.

00:33:21.580 --> 00:33:21.720
Mhm.

00:33:22.560 --> 00:33:22.940
Ich fand,

00:33:22.940 --> 00:33:23.980
es ist so ein bisschen,

00:33:24.240 --> 00:33:25.260
es meandert so ein bisschen,

00:33:25.400 --> 00:33:26.260
und bringt dann so ein,

00:33:26.260 --> 00:33:26.560
so,

00:33:26.740 --> 00:33:27.220
so ein paar Themen,

00:33:27.320 --> 00:33:27.400
einfach,

00:33:27.440 --> 00:33:27.900
auch so mit rein.

00:33:28.700 --> 00:33:29.060
Boah.

00:33:29.700 --> 00:33:31.000
Sollen wir erst über das Ende reden,

00:33:31.120 --> 00:33:32.300
warum das ein Kurzmail ist,

00:33:32.360 --> 00:33:33.480
oder warum das keiner ist?

00:33:33.500 --> 00:33:33.660
Ja,

00:33:33.780 --> 00:33:35.220
ich stimme dem überhaupt gar nicht zu.

00:33:36.220 --> 00:33:37.340
Was ist denn das Argument?

00:33:37.460 --> 00:33:38.780
Warum sollte das denn ein Kurzmail sein?

00:33:39.520 --> 00:33:40.020
Sag du doch mal,

00:33:40.100 --> 00:33:40.280
Dominik.

00:33:40.320 --> 00:33:40.700
Du findest,

00:33:40.760 --> 00:33:41.380
das ist ein Kurzmail.

00:33:41.640 --> 00:33:42.380
Das habe ich nicht gesagt.

00:33:43.820 --> 00:33:44.000
Also,

00:33:44.060 --> 00:33:44.560
vielleicht geht's erstmal,

00:33:44.860 --> 00:33:46.020
was in dem Kapitel geht.

00:33:46.100 --> 00:33:46.560
Es geht darum,

00:33:47.260 --> 00:33:50.580
wie man Datenobjekte einfach,

00:33:52.040 --> 00:33:52.540
wie ich das nenne,

00:33:52.540 --> 00:33:53.440
vielleicht falsch,

00:33:54.160 --> 00:33:54.760
deklariert.

00:33:55.540 --> 00:33:55.560
Ja,

00:33:55.560 --> 00:33:55.600
also,

00:33:55.640 --> 00:33:56.220
mit Data Class,

00:33:56.320 --> 00:33:57.060
oder Name Tuples,

00:33:57.060 --> 00:33:57.760
eine Klasse,

00:33:57.980 --> 00:33:58.780
die nur Daten hält,

00:33:58.860 --> 00:33:59.760
und keine Funktionen hat.

00:34:00.400 --> 00:34:01.060
Wieso Name Tuple?

00:34:01.700 --> 00:34:01.860
Ja,

00:34:01.900 --> 00:34:02.200
zum Beispiel,

00:34:02.280 --> 00:34:02.680
das ist eine,

00:34:02.780 --> 00:34:02.880
also,

00:34:03.100 --> 00:34:04.060
gleich auf der ersten Seite

00:34:04.060 --> 00:34:05.860
sind drei Mechanismen genannt.

00:34:05.920 --> 00:34:06.940
Oder auch wie ein Type-Tick,

00:34:07.080 --> 00:34:07.200
Johannes.

00:34:07.480 --> 00:34:08.180
Named Tuple.

00:34:09.060 --> 00:34:09.240
Nee,

00:34:09.560 --> 00:34:10.320
das nicht.

00:34:10.500 --> 00:34:11.740
Kommt direkt auf der zweiten Seite,

00:34:11.820 --> 00:34:12.300
steht direkt drauf,

00:34:12.400 --> 00:34:12.880
das nicht.

00:34:14.360 --> 00:34:14.600
Also,

00:34:14.660 --> 00:34:16.060
es gibt Collections.NameTuple,

00:34:16.200 --> 00:34:17.320
das ist schon lange

00:34:17.320 --> 00:34:18.640
in der Python-Schnabel-Bibliothek

00:34:18.640 --> 00:34:19.400
seit 2.6.

00:34:20.560 --> 00:34:21.420
Das haben sicherlich

00:34:21.420 --> 00:34:22.080
viele schon mal gesehen,

00:34:22.180 --> 00:34:22.860
können wir gleich noch erklären,

00:34:22.940 --> 00:34:23.240
was das ist.

00:34:23.300 --> 00:34:25.460
Dann gibt's eine neue Variante davon,

00:34:26.160 --> 00:34:27.040
Typing.Name,

00:34:27.060 --> 00:34:27.420
NameTuple.

00:34:28.600 --> 00:34:29.080
Und,

00:34:29.140 --> 00:34:30.680
der heißeste Scheiß

00:34:30.680 --> 00:34:31.220
ist natürlich

00:34:31.220 --> 00:34:32.860
Data Classes.DataClass,

00:34:33.460 --> 00:34:35.360
ein Dekorator,

00:34:35.600 --> 00:34:36.640
der diese ganzen Sachen

00:34:36.640 --> 00:34:37.320
mitnehmen soll.

00:34:37.720 --> 00:34:39.220
Am Ende geht's immer darum,

00:34:39.520 --> 00:34:40.340
Klassen zu machen,

00:34:40.480 --> 00:34:41.580
die nur Attribute haben.

00:34:43.000 --> 00:34:43.240
Und,

00:34:43.840 --> 00:34:44.720
im Endeffekt

00:34:44.720 --> 00:34:45.600
ist das auch alles

00:34:45.600 --> 00:34:46.620
nur so ein bisschen Zucker

00:34:46.620 --> 00:34:47.360
obendrauf gestreut,

00:34:47.420 --> 00:34:48.440
weil man könnte prinzipiell

00:34:48.440 --> 00:34:49.080
diese ganzen Sachen

00:34:49.080 --> 00:34:49.880
alle mit Dicks machen,

00:34:50.020 --> 00:34:50.940
oder sogar mit Tuples,

00:34:51.040 --> 00:34:51.440
wenn man möchte.

00:34:52.500 --> 00:34:52.920
Das heißt,

00:34:53.520 --> 00:34:54.100
das Einzige,

00:34:54.160 --> 00:34:55.340
was man gewinnt,

00:34:55.360 --> 00:34:56.160
und das Einzige ist hier

00:34:56.160 --> 00:34:57.040
im sehr großen Anfall,

00:34:57.060 --> 00:34:57.720
in den Führungszeichen,

00:34:58.460 --> 00:34:59.420
dieses Wort Einzige,

00:35:00.000 --> 00:35:01.300
das Einzige,

00:35:01.600 --> 00:35:02.120
was man gewinnt,

00:35:02.220 --> 00:35:02.300
ist,

00:35:02.520 --> 00:35:03.100
dass das Programm

00:35:03.100 --> 00:35:04.160
besser verständlich wird.

00:35:05.660 --> 00:35:07.140
Ruff lintet zum Beispiel

00:35:07.140 --> 00:35:08.600
vom Typing-Import-NameTuple

00:35:08.600 --> 00:35:09.780
und sagt,

00:35:09.860 --> 00:35:10.000
naja,

00:35:10.040 --> 00:35:11.160
es ist Collections-NameTuple,

00:35:11.280 --> 00:35:11.380
bitte.

00:35:12.640 --> 00:35:13.300
Darfst du nicht,

00:35:13.440 --> 00:35:13.880
weil...

00:35:13.880 --> 00:35:14.840
Ja, sagen die das?

00:35:14.960 --> 00:35:15.100
Okay.

00:35:15.120 --> 00:35:15.980
Ich bin so ein bisschen,

00:35:16.620 --> 00:35:17.480
ich bin nicht ganz

00:35:17.480 --> 00:35:18.760
hundertprozentig mal einverstanden

00:35:18.760 --> 00:35:19.360
mit den Sachen,

00:35:19.460 --> 00:35:19.940
die Ruff sagt.

00:35:20.000 --> 00:35:20.660
Und ich hab heute auch

00:35:20.660 --> 00:35:22.040
einen Ruff-Cycle gefunden,

00:35:22.900 --> 00:35:25.140
wo ich einen Hinweis

00:35:25.140 --> 00:35:25.960
gekriegt hab von Ruff,

00:35:25.960 --> 00:35:26.500
der gesagt hat,

00:35:26.580 --> 00:35:27.020
du musst,

00:35:27.060 --> 00:35:28.260
dass der Generator

00:35:28.260 --> 00:35:28.840
ist unwichtig,

00:35:29.140 --> 00:35:29.880
ist nicht wichtig,

00:35:29.980 --> 00:35:30.980
mach bitte eine Dict-Comprehension

00:35:30.980 --> 00:35:31.260
draus.

00:35:31.300 --> 00:35:32.120
Dann hab ich eine Dict-Comprehension

00:35:32.120 --> 00:35:32.580
draus gemacht

00:35:32.580 --> 00:35:32.900
und hab gesagt,

00:35:32.980 --> 00:35:34.360
ah, das ist eine unnütze

00:35:34.360 --> 00:35:34.980
Dict-Comprehension,

00:35:35.120 --> 00:35:37.160
mach bitte einen Dict-Aufruf

00:35:37.160 --> 00:35:38.200
mit Generator drin draus.

00:35:38.480 --> 00:35:39.980
Da war ich sehr amüsiert.

00:35:42.340 --> 00:35:43.140
Wie man es macht,

00:35:43.200 --> 00:35:43.480
ist falsch.

00:35:43.580 --> 00:35:43.720
Ja,

00:35:44.380 --> 00:35:45.680
Ruff hat ja auch so ein bisschen,

00:35:45.740 --> 00:35:46.700
ist ja schon so ein bisschen

00:35:46.700 --> 00:35:47.280
opinionated.

00:35:47.420 --> 00:35:47.960
Also nicht alles,

00:35:48.060 --> 00:35:49.240
was da von Ruff kommt,

00:35:49.920 --> 00:35:51.320
ist ganz wichtig.

00:35:51.460 --> 00:35:52.180
Und es gibt schon

00:35:52.180 --> 00:35:52.860
einen wichtigen Unterschied

00:35:52.860 --> 00:35:53.580
zwischen NameTuple

00:35:53.580 --> 00:35:54.900
und NamedTuple,

00:35:55.980 --> 00:35:56.840
was auch in dem Kapitel

00:35:56.840 --> 00:35:57.040
erklärt wird.

00:35:57.060 --> 00:35:57.960
Also die sind schon

00:35:57.960 --> 00:35:58.980
unterschiedlich.

00:35:59.280 --> 00:35:59.480
Aber,

00:36:00.320 --> 00:36:01.360
jetzt wo wir wissen,

00:36:01.460 --> 00:36:02.280
was eine Data Class ist,

00:36:02.440 --> 00:36:02.880
eine Klasse,

00:36:03.120 --> 00:36:05.440
die keine Funktionen hat,

00:36:05.500 --> 00:36:06.660
sondern nur Daten halten soll,

00:36:07.600 --> 00:36:10.380
kommt direkt in der Einleitung,

00:36:10.560 --> 00:36:11.000
sagen sie,

00:36:11.220 --> 00:36:11.500
ja,

00:36:11.860 --> 00:36:13.160
das ist eigentlich nicht so gut.

00:36:14.080 --> 00:36:15.140
Es wird in diesem Kapitel

00:36:15.140 --> 00:36:16.200
mehrmals darauf hingewiesen,

00:36:16.420 --> 00:36:18.360
dass namhafte Personen

00:36:18.360 --> 00:36:22.140
Data Classes durchaus

00:36:22.140 --> 00:36:23.420
als CodeSmell sehen

00:36:23.420 --> 00:36:25.500
oder als Einstiegspunkt

00:36:25.500 --> 00:36:26.340
und als,

00:36:26.340 --> 00:36:27.800
das ist noch nicht fertig,

00:36:28.040 --> 00:36:28.400
ansehen.

00:36:29.180 --> 00:36:30.800
Und das Hauptargument,

00:36:31.060 --> 00:36:31.900
so wie ich es verstehe,

00:36:32.000 --> 00:36:32.180
ist,

00:36:33.120 --> 00:36:34.460
dass wenn du eine Data Class hast,

00:36:35.320 --> 00:36:36.040
dann bedeutet das,

00:36:36.100 --> 00:36:37.480
dass du eine Klasse hast,

00:36:37.660 --> 00:36:38.480
die nur Daten enthält

00:36:38.480 --> 00:36:39.680
und keine Funktionen hat.

00:36:40.200 --> 00:36:41.560
Und du musst ja aber trotzdem

00:36:41.560 --> 00:36:42.600
was mit den Daten machen.

00:36:44.200 --> 00:36:44.980
Und das bedeutet,

00:36:45.160 --> 00:36:46.780
dass die eigentlich schon Funktionen hat,

00:36:46.860 --> 00:36:48.680
nur dass die irgendwo anders drinstehen.

00:36:51.140 --> 00:36:52.420
Weil es nur ein Vehikel ist

00:36:52.420 --> 00:36:53.060
und das wäre blöd?

00:36:53.800 --> 00:36:54.200
Weil,

00:36:54.380 --> 00:36:55.180
weil du,

00:36:55.180 --> 00:36:55.460
wenn,

00:36:55.700 --> 00:36:55.840
ja,

00:36:55.840 --> 00:36:56.480
weil du mit Daten

00:36:56.480 --> 00:36:57.340
halt irgendwas machen musst.

00:36:57.520 --> 00:36:57.700
Und,

00:36:57.780 --> 00:36:59.740
und eigentlich bedeutet Data Class

00:36:59.740 --> 00:37:00.620
dann in dem Sinne,

00:37:01.540 --> 00:37:03.020
dass du deine Funktionen,

00:37:03.060 --> 00:37:04.400
die zu den Daten gehören sollten,

00:37:05.180 --> 00:37:07.280
irgendwo anders hinschiebst.

00:37:08.060 --> 00:37:09.280
Und dass du die irgendwo anders hast.

00:37:10.500 --> 00:37:12.200
Und ich stimme diesem Argument

00:37:12.200 --> 00:37:13.820
überhaupt gar nicht zu.

00:37:15.220 --> 00:37:15.700
Oh,

00:37:16.040 --> 00:37:16.340
puh.

00:37:18.400 --> 00:37:18.880
Das,

00:37:18.880 --> 00:37:21.040
das hört sich für mich sehr nach,

00:37:21.420 --> 00:37:22.480
also ich meine diese Namen,

00:37:22.800 --> 00:37:23.980
die immer da gesagt,

00:37:24.120 --> 00:37:24.860
kommt Martin Fowler

00:37:24.860 --> 00:37:25.280
und Kent Beck,

00:37:25.340 --> 00:37:25.600
das hört sich,

00:37:25.600 --> 00:37:27.040
hört sich für mich sehr nach

00:37:27.040 --> 00:37:28.320
Kingdom of the Nouns an.

00:37:28.680 --> 00:37:29.960
Das hört sich für mich sehr nach Java an.

00:37:30.040 --> 00:37:31.180
Das hört sich für mich sehr an nach,

00:37:32.200 --> 00:37:34.380
der Code ist wichtiger als die Daten.

00:37:34.480 --> 00:37:35.460
Und das stimmt halt in den,

00:37:35.800 --> 00:37:37.220
in ganz vielen Fällen nicht.

00:37:37.300 --> 00:37:38.700
In ganz vielen Fällen sind die Daten

00:37:38.700 --> 00:37:40.260
viel wichtiger als der Code.

00:37:41.180 --> 00:37:42.020
Was du da drin hast,

00:37:42.100 --> 00:37:42.820
welche Felder du hast,

00:37:42.900 --> 00:37:43.660
wie du drankommst,

00:37:43.800 --> 00:37:43.940
ist,

00:37:44.020 --> 00:37:46.540
ist in ganz vielen Anwendungsfällen,

00:37:46.680 --> 00:37:47.280
zumindest in denen,

00:37:47.400 --> 00:37:48.340
die mir so begegnen,

00:37:48.720 --> 00:37:49.800
viel wichtiger als dann,

00:37:50.280 --> 00:37:50.780
als dann,

00:37:51.080 --> 00:37:51.160
dass,

00:37:51.420 --> 00:37:53.280
dass die Funktionen direkt dabei steht

00:37:53.280 --> 00:37:54.900
und dass du die direkt dazu packst.

00:37:54.900 --> 00:37:56.440
Und das ist die eine,

00:37:56.560 --> 00:37:57.180
der eine Aspekt.

00:37:57.820 --> 00:37:59.500
Du gibst der Funktionalität

00:37:59.500 --> 00:38:01.220
mehr Gewicht als den Daten.

00:38:01.360 --> 00:38:03.560
Und das ist oft nicht der Fall.

00:38:03.700 --> 00:38:03.840
Das,

00:38:03.960 --> 00:38:04.820
da könnte man dann,

00:38:04.940 --> 00:38:06.000
mir fällt das Detail jetzt nicht ein,

00:38:06.060 --> 00:38:07.900
aber da gibt es eines von Linus Torvalds,

00:38:07.980 --> 00:38:08.320
wo er sagt,

00:38:08.400 --> 00:38:08.580
naja,

00:38:08.680 --> 00:38:11.480
so das ist halt quasi oft ein Fehler von Leuten,

00:38:11.640 --> 00:38:14.260
die quasi das Licht noch nicht so richtig gesehen haben,

00:38:14.380 --> 00:38:15.900
dass sie halt Wert auf Algorithmen

00:38:15.900 --> 00:38:18.520
oder sozusagen auf Dinge legen.

00:38:18.640 --> 00:38:19.960
Und wenn man dann mal irgendwann später

00:38:19.960 --> 00:38:21.000
da so weiß,

00:38:21.040 --> 00:38:21.440
was man tut,

00:38:21.440 --> 00:38:24.020
dann guckt man sich eher so die Datenstrukturen an

00:38:24.020 --> 00:38:24.840
und wie die eigentlich aussehen.

00:38:24.900 --> 00:38:26.180
Und dann ist das mit den,

00:38:26.760 --> 00:38:27.900
mit der Funktionalität,

00:38:29.160 --> 00:38:30.920
ist dann ganz klar und einfach.

00:38:31.340 --> 00:38:31.800
Hoffentlich.

00:38:32.680 --> 00:38:33.080
Und ja.

00:38:34.100 --> 00:38:35.520
Aber ich würde auch denken,

00:38:35.760 --> 00:38:36.060
dass genau,

00:38:36.200 --> 00:38:36.540
also für mich,

00:38:36.560 --> 00:38:38.380
mich erinnert das auch total an irgendwie

00:38:38.380 --> 00:38:40.340
objektorientierte Programmierung

00:38:40.340 --> 00:38:41.160
Ende der 90er

00:38:41.160 --> 00:38:43.120
ist halt irgendwie das Heilmittel für alles.

00:38:43.860 --> 00:38:44.120
Und,

00:38:44.260 --> 00:38:46.580
aber inzwischen wird man ja sagen so,

00:38:47.260 --> 00:38:47.460
naja,

00:38:47.480 --> 00:38:48.680
das aktuelle Heilmittel für alles

00:38:48.680 --> 00:38:49.820
ist halt Domain Driven Design.

00:38:50.480 --> 00:38:51.900
Und aus der Perspektive

00:38:52.440 --> 00:38:53.800
ist es halt,

00:38:54.200 --> 00:38:54.880
gibt es halt zwei Unterschiede.

00:38:54.900 --> 00:38:55.960
Es gibt halt unterschiedliche Arten von Dingen,

00:38:56.020 --> 00:38:57.660
für die man halt Klassen hat.

00:38:57.780 --> 00:38:58.240
Und das ist halt,

00:38:58.360 --> 00:39:00.680
eine sind halt Entities,

00:39:01.320 --> 00:39:01.720
also Dinge,

00:39:01.860 --> 00:39:03.880
die halt irgendwie eine Identität haben,

00:39:03.940 --> 00:39:04.640
die halt wichtig ist.

00:39:05.260 --> 00:39:07.340
Und das andere sind halt so Value Objects.

00:39:07.540 --> 00:39:09.860
Und bei denen ist es halt wurscht.

00:39:10.000 --> 00:39:11.960
Also sowas wie zum Beispiel ein Objekt,

00:39:12.160 --> 00:39:13.640
das halt einen Geldbetrag repräsentiert.

00:39:14.060 --> 00:39:15.760
Und das Wichtige ist halt der Wert von dem Geld.

00:39:16.220 --> 00:39:17.020
Und aber nicht,

00:39:17.160 --> 00:39:17.960
welchen Geldschein man hat.

00:39:18.020 --> 00:39:18.680
Das ist völlig egal.

00:39:19.220 --> 00:39:21.000
Und für solche Value Objects sind halt

00:39:21.000 --> 00:39:22.240
Data Classes halt auch total super,

00:39:22.360 --> 00:39:22.540
weil,

00:39:22.760 --> 00:39:23.800
also es ist,

00:39:23.880 --> 00:39:24.000
ne,

00:39:24.000 --> 00:39:25.200
genau.

00:39:25.480 --> 00:39:26.760
Aber wenn man das halt Slate hat

00:39:26.760 --> 00:39:27.420
und man,

00:39:27.620 --> 00:39:29.760
dann braucht man halt natürlich vielleicht schon Methoden

00:39:29.760 --> 00:39:30.020
und so.

00:39:30.400 --> 00:39:31.320
Also ich würde auch denken,

00:39:31.420 --> 00:39:33.240
also das ist differenzierter,

00:39:33.320 --> 00:39:33.420
ja.

00:39:34.000 --> 00:39:34.700
Es gibt noch einen,

00:39:34.700 --> 00:39:36.040
es gibt noch einen zweiten Aspekt,

00:39:36.260 --> 00:39:36.640
der mir,

00:39:37.060 --> 00:39:39.340
der mir da fehlt

00:39:39.340 --> 00:39:40.400
in dieser Argumentation.

00:39:41.340 --> 00:39:42.220
Der geht so ein bisschen in das,

00:39:42.280 --> 00:39:43.120
was du eben gesagt hast,

00:39:43.180 --> 00:39:43.460
die Leute,

00:39:43.560 --> 00:39:44.440
die das nicht noch nicht gesehen haben.

00:39:45.480 --> 00:39:45.800
Wenn,

00:39:45.940 --> 00:39:46.400
wenn man,

00:39:46.720 --> 00:39:47.640
wenn man über Klassen

00:39:47.640 --> 00:39:49.120
nachdenkt

00:39:49.120 --> 00:39:50.700
und die sieht als,

00:39:50.980 --> 00:39:53.980
als eine Anzahl von Funktionen,

00:39:54.000 --> 00:39:55.200
und ein paar Daten dazu,

00:39:56.400 --> 00:39:57.860
dann ist es ein anderer Blick

00:39:57.860 --> 00:39:59.080
auf,

00:39:59.860 --> 00:40:00.240
auf das,

00:40:00.320 --> 00:40:00.740
was man tut.

00:40:00.840 --> 00:40:01.620
Es ist ein anderer Blick

00:40:01.620 --> 00:40:02.760
auf das Programm

00:40:02.760 --> 00:40:04.680
und was ein Programm kann.

00:40:06.620 --> 00:40:06.900
Und,

00:40:06.940 --> 00:40:08.100
und zwar ist es ein Blick

00:40:08.100 --> 00:40:09.720
auf einzelne Objekte.

00:40:10.780 --> 00:40:11.180
Weil,

00:40:11.540 --> 00:40:11.920
weil wenn,

00:40:12.100 --> 00:40:13.220
wenn ich so eine Klasse schreibe,

00:40:13.760 --> 00:40:13.920
dann,

00:40:14.100 --> 00:40:15.860
also in Python gibt es den Self-Parameter,

00:40:15.960 --> 00:40:17.620
in anderen Sprachen heißt der This-Parameter,

00:40:18.120 --> 00:40:18.720
dann ist es immer,

00:40:18.840 --> 00:40:19.740
es gibt immer ein Objekt,

00:40:19.820 --> 00:40:21.040
was irgendwie hervorgehoben ist.

00:40:21.100 --> 00:40:22.020
Das ist nämlich das Objekt,

00:40:22.320 --> 00:40:23.740
an dem ich gerade dran bin,

00:40:23.740 --> 00:40:24.820
in dem ich gerade drin bin.

00:40:26.020 --> 00:40:27.240
Wenn ich aber den Blick habe

00:40:27.240 --> 00:40:28.640
auf eine Data-Class,

00:40:29.400 --> 00:40:31.020
dann geht es mir oft gar nicht so sehr

00:40:31.020 --> 00:40:32.300
um eine einzelne Instanz

00:40:32.300 --> 00:40:33.460
oder ein einzelnes Attribut

00:40:33.460 --> 00:40:34.400
von dieser Data-Class,

00:40:34.900 --> 00:40:35.740
sondern dann,

00:40:35.740 --> 00:40:37.960
dann verändert sich mein Denken hinzu,

00:40:38.580 --> 00:40:39.020
was ist denn,

00:40:39.080 --> 00:40:40.540
wenn ich tausend davon in der Hand habe?

00:40:40.780 --> 00:40:41.160
Was ist denn,

00:40:41.220 --> 00:40:41.900
wenn ich eine Tabelle

00:40:41.900 --> 00:40:43.560
von diesen Objekten in der Hand habe?

00:40:44.380 --> 00:40:44.660
Und,

00:40:44.720 --> 00:40:45.880
und dann ist auf einmal

00:40:45.880 --> 00:40:47.640
gar nicht mehr das Einzelobjekt wichtig,

00:40:47.760 --> 00:40:48.760
sondern dann ist auf einmal

00:40:48.760 --> 00:40:51.480
die Gesamtheit der Objekte wichtig.

00:40:51.600 --> 00:40:52.040
Was ist denn,

00:40:52.380 --> 00:40:52.900
was ist denn,

00:40:52.900 --> 00:40:53.420
wenn ich,

00:40:53.420 --> 00:40:53.980
wenn ich,

00:40:54.060 --> 00:40:55.020
wenn ich eine Million

00:40:55.020 --> 00:40:56.980
von diesen Geldbeträgen bekomme?

00:40:57.180 --> 00:40:57.280
Ja.

00:40:57.380 --> 00:40:58.440
Was kann ich denn dann damit machen?

00:40:58.760 --> 00:40:58.880
Ja.

00:40:59.700 --> 00:41:00.060
Und,

00:41:00.160 --> 00:41:02.180
und diese Art zu denken

00:41:02.180 --> 00:41:03.340
oder auch diese Art zu modellieren

00:41:03.340 --> 00:41:04.100
ist in der,

00:41:04.420 --> 00:41:05.840
in der klassischen OOP

00:41:05.840 --> 00:41:07.480
nicht naheliegend,

00:41:07.740 --> 00:41:08.860
weil im klassischen OOP

00:41:08.860 --> 00:41:10.140
denkt man eben oft

00:41:10.140 --> 00:41:11.320
über Einzelobjekte nach,

00:41:11.380 --> 00:41:12.400
weil du eben eine Klasse schreibst,

00:41:12.480 --> 00:41:13.660
die eine Instanz hat

00:41:13.660 --> 00:41:14.700
und für diese eine Instanz

00:41:14.700 --> 00:41:15.760
hast du diese Funktion dran

00:41:15.760 --> 00:41:17.040
und wenn du die Funktion

00:41:17.040 --> 00:41:18.480
auf der einen Instanz aufrufst,

00:41:18.540 --> 00:41:18.620
dann,

00:41:19.060 --> 00:41:19.300
dann,

00:41:19.480 --> 00:41:20.720
dann hast du diesen Blick

00:41:20.720 --> 00:41:21.520
auf die eine Instanz

00:41:21.520 --> 00:41:22.760
und das ist was,

00:41:22.760 --> 00:41:22.860
was,

00:41:22.860 --> 00:41:23.060
was,

00:41:23.420 --> 00:41:24.000
was,

00:41:24.000 --> 00:41:25.080
Das ist schwer zu greifen

00:41:25.080 --> 00:41:26.060
und schwer zu erklären,

00:41:26.800 --> 00:41:28.300
aber das verändert das Denken

00:41:28.300 --> 00:41:30.160
über Programmstrukturen

00:41:30.160 --> 00:41:31.060
und das verändert das Denken

00:41:31.060 --> 00:41:32.940
über die Inhalte

00:41:32.940 --> 00:41:33.540
von einem Programm.

00:41:34.780 --> 00:41:36.800
Und das ist was ganz Gefährliches

00:41:36.800 --> 00:41:37.340
zu sagen,

00:41:37.460 --> 00:41:38.120
meiner Meinung nach,

00:41:38.740 --> 00:41:39.800
dass das ein Codesmall ist,

00:41:39.980 --> 00:41:41.560
weil du nur diesen einen Blick

00:41:41.560 --> 00:41:42.980
auf Programmierung haben darfst.

00:41:43.520 --> 00:41:43.640
Ja.

00:41:44.440 --> 00:41:44.920
Und deshalb,

00:41:46.020 --> 00:41:47.000
ich bin da sehr skeptisch,

00:41:47.120 --> 00:41:47.260
wenn,

00:41:47.360 --> 00:41:47.940
wenn Leute sagen,

00:41:48.020 --> 00:41:48.480
Dataclasses,

00:41:48.660 --> 00:41:48.940
ja,

00:41:49.080 --> 00:41:50.580
das ist schon okay,

00:41:50.820 --> 00:41:51.820
aber hier,

00:41:52.220 --> 00:41:53.400
das fängt direkt an,

00:41:53.420 --> 00:41:55.920
Dataclasses are like children, they are okay as a starting point,

00:41:55.980 --> 00:41:57.760
but to participate as a grown-up object, they need

00:41:57.760 --> 00:41:59.580
to take some responsibility. Das heißt,

00:41:59.860 --> 00:42:01.560
die, grob übersetzt,

00:42:01.700 --> 00:42:03.680
Datenklassen sind wie Kinder, das ist

00:42:03.680 --> 00:42:05.520
okay, wenn man damit anfängt, aber wenn man sie

00:42:05.520 --> 00:42:07.600
wie richtige Objekte verwenden will,

00:42:07.640 --> 00:42:09.420
dann müssen sie schon auch Funktionalität haben.

00:42:10.480 --> 00:42:11.760
Sehe ich gar nicht so

00:42:11.760 --> 00:42:12.680
und finde ich tatsächlich

00:42:12.680 --> 00:42:15.580
nicht gut, diesen Blick

00:42:15.580 --> 00:42:17.560
so zu haben. Aber vielleicht meint das so ein bisschen

00:42:17.560 --> 00:42:19.120
was wie, weiß nicht, dann zu

00:42:19.120 --> 00:42:21.620
Pedantic überzugehen, was ja fast so was ist

00:42:21.620 --> 00:42:22.300
wie eine Dataklasse.

00:42:23.420 --> 00:42:25.640
Mit so was wie Validierung dran

00:42:25.640 --> 00:42:26.600
dann noch oder so.

00:42:27.700 --> 00:42:29.460
Ja, aber auch das ist noch,

00:42:29.540 --> 00:42:31.400
Pedantic sind natürlich, ja,

00:42:31.480 --> 00:42:33.040
sind schon Dataclasses auch, oder?

00:42:33.700 --> 00:42:35.580
Ja, ich würde, das sind halt, da gibt es dann eben,

00:42:35.760 --> 00:42:36.760
genau, das ist ein bisschen,

00:42:37.380 --> 00:42:39.560
das kommt jetzt in dem Buch nicht so vor, weil

00:42:39.560 --> 00:42:41.460
das halt auch teilweise aktuelle, also das Buch ist ja

00:42:41.460 --> 00:42:43.340
relativ aktuell, aber gerade so der

00:42:43.340 --> 00:42:45.180
sozusagen das Pedantic,

00:42:45.180 --> 00:42:47.020
ja genau, beschränkt sich mehr so auf die Standards,

00:42:47.300 --> 00:42:48.200
aber wobei ja auch

00:42:48.200 --> 00:42:51.140
das Vorbild von Dataclasses in der

00:42:51.140 --> 00:42:53.280
Standardlib ist Atos, ist halt auch nicht

00:42:53.280 --> 00:42:53.400
so,

00:42:53.420 --> 00:42:53.740
ja,

00:42:53.880 --> 00:42:56.580
es wird auch verbannt am Ende, aber

00:42:56.580 --> 00:42:59.180
mehr so als further reading.

00:42:59.940 --> 00:43:01.460
Genau, aber sozusagen

00:43:01.460 --> 00:43:03.360
Pedantic ist ja danach erst so richtig

00:43:03.360 --> 00:43:05.240
populär geworden, würde ich sagen, oder

00:43:05.240 --> 00:43:06.960
jetzt auch noch neuer Message

00:43:06.960 --> 00:43:09.260
Speck, gibt es ja auch, vielleicht noch mal schneller

00:43:09.260 --> 00:43:11.240
und keine Ahnung, aber da muss man vorsichtig

00:43:11.240 --> 00:43:13.040
sein, also ich glaube, da vermischt man dann, also Pedantic,

00:43:13.320 --> 00:43:15.120
es ist natürlich auch praktisch, aber es vermischt halt

00:43:15.120 --> 00:43:17.380
zwei so Sachen, einmal diese Klassen

00:43:17.380 --> 00:43:18.660
Bildergeschichte

00:43:18.660 --> 00:43:21.120
mit den Adoptionen,

00:43:21.120 --> 00:43:23.280
damit man halt sozusagen

00:43:23.280 --> 00:43:25.220
ja, das halt kompakt

00:43:25.220 --> 00:43:26.620
hinschreiben kann, was man da

00:43:26.620 --> 00:43:29.140
für Attribute dran hat, das ist

00:43:29.140 --> 00:43:31.120
bei Pedantic ja genauso und dann gibt es

00:43:31.120 --> 00:43:33.000
halt diesen Validierungsteil, der ist aber

00:43:33.000 --> 00:43:35.080
irgendwie anders, weil das hast du halt in

00:43:35.080 --> 00:43:35.640
Dataclasses

00:43:35.640 --> 00:43:38.920
und halt bei NameTouple oder so eigentlich

00:43:38.920 --> 00:43:39.320
nicht.

00:43:40.300 --> 00:43:42.480
Bei Typing.NameTouple hast du Validierung.

00:43:42.520 --> 00:43:43.480
Nee, gar nicht, genau.

00:43:44.840 --> 00:43:46.960
Und da muss man halt extrem vorsichtig sein,

00:43:47.100 --> 00:43:48.860
also ich meine, das kann natürlich auch sehr praktisch sein,

00:43:49.320 --> 00:43:51.040
aber es gibt da auch

00:43:51.040 --> 00:43:53.180
eben von dem Entwickler von Atos,

00:43:53.280 --> 00:43:55.600
einen sehr schönen Vortrag

00:43:55.600 --> 00:43:56.940
von der letzten

00:43:56.940 --> 00:43:59.520
PyCon US, wo jetzt auch die Vorträge rausgekommen

00:43:59.520 --> 00:44:01.500
sind und der heißt, glaube ich,

00:44:01.520 --> 00:44:03.360
Design Pressure und das ist

00:44:03.360 --> 00:44:05.000
eigentlich... Der Entwickler heißt Design Pressure?

00:44:05.260 --> 00:44:06.800
Nee, der Vortrag heißt Design Pressure

00:44:06.800 --> 00:44:09.220
und es ist eigentlich... Aber ist das nicht

00:44:09.220 --> 00:44:11.180
Hinek Schlaback? Genau.

00:44:11.480 --> 00:44:13.360
Der ist doch auch Deutscher, oder?

00:44:13.500 --> 00:44:15.240
Ja, ja, genau, den sollte man auch echt mal

00:44:15.240 --> 00:44:16.800
fragen, weil der hat immer tolle

00:44:16.800 --> 00:44:19.360
Artikel zu

00:44:19.360 --> 00:44:21.380
diesen ganzen... Der hat tolle Software geschrieben, tolle Artikel geschrieben,

00:44:21.380 --> 00:44:22.860
macht tolle Videos, toller Typ.

00:44:23.280 --> 00:44:23.920
Müssen wir mal fragen.

00:44:25.420 --> 00:44:26.560
Wenn du in dieser Episode zeigst,

00:44:26.600 --> 00:44:28.120
ob er diesen tollen Podcast kommen möchte.

00:44:28.560 --> 00:44:30.820
Genau, vielleicht werden wir auch toll dann so ein bisschen

00:44:30.820 --> 00:44:32.420
Glanz könnte auf uns abweisen.

00:44:32.900 --> 00:44:34.380
Mal schauen. Ja, genau.

00:44:34.840 --> 00:44:37.400
Und ja, eigentlich ist das ein Vortrag

00:44:37.400 --> 00:44:38.280
über Softwarearchitektur.

00:44:39.080 --> 00:44:40.740
Der war ja auch Reviewer für hier

00:44:40.740 --> 00:44:42.660
das Architekturbuch, was ich immer empfehle,

00:44:42.900 --> 00:44:44.640
also das Software Architecture with Python

00:44:44.640 --> 00:44:47.280
und er hat auch schon

00:44:47.280 --> 00:44:49.460
häufiger Vorträge über Softwarearchitektur

00:44:49.460 --> 00:44:51.560
gehalten und das ist auch wieder so einer

00:44:51.560 --> 00:44:53.160
und der ist

00:44:53.160 --> 00:44:54.600
startet mit dem Hot Take

00:44:54.600 --> 00:44:56.880
irgendwie so Dinge wie Pydentic oder

00:44:56.880 --> 00:44:59.260
irgendwie diese Geschichten, Data Validation

00:44:59.260 --> 00:45:01.360
Dinger, das macht eure

00:45:01.360 --> 00:45:03.280
Architektur von eurem

00:45:03.280 --> 00:45:04.300
Programm kaputt.

00:45:05.300 --> 00:45:07.580
Ihr Trottel! So, jetzt sage ich euch mal

00:45:07.580 --> 00:45:09.080
warum das so ist.

00:45:09.680 --> 00:45:11.040
So, gut, man braucht halt irgendwie so ein

00:45:11.040 --> 00:45:13.320
meinte so, ja, ich komme ja aus

00:45:13.320 --> 00:45:15.300
der YouTube-Welt, da macht man das so, dass man so einen Hook

00:45:15.300 --> 00:45:16.560
platzieren muss und dann muss man

00:45:16.560 --> 00:45:18.380
drauf deliveren oder nicht.

00:45:18.380 --> 00:45:19.780
What happens next. Genau, genau.

00:45:20.220 --> 00:45:22.440
Und wenn man das halt schafft, dann ist gut und wenn man es nicht schafft,

00:45:22.480 --> 00:45:22.860
ist halt doof.

00:45:23.160 --> 00:45:24.000
Mal schauen, genau.

00:45:24.700 --> 00:45:26.820
Und ja, also

00:45:26.820 --> 00:45:29.240
da, aber ich würde sagen,

00:45:29.420 --> 00:45:31.200
im Grunde hat er da ganz recht, ja, also

00:45:31.200 --> 00:45:33.080
ich meine, wenn man jetzt das so macht,

00:45:33.120 --> 00:45:35.400
dass man halt Pydentic-Modelle

00:45:35.400 --> 00:45:36.180
verwendet, halt

00:45:36.180 --> 00:45:39.160
als Data-Classes-Ersatz und

00:45:39.160 --> 00:45:41.060
die dann halt quasi benutzt, um

00:45:41.060 --> 00:45:42.640
die eigene Domain,

00:45:42.940 --> 00:45:45.140
ich weiß ja gar nicht, ob es da für irgendeinen guten deutschen Begriff

00:45:45.140 --> 00:45:47.200
gibt oder so, dass also der Bereich,

00:45:47.200 --> 00:45:48.960
in dem die eigene Business-Logik stattfindet,

00:45:49.060 --> 00:45:51.080
zu beschreiben, dann hat man halt schon

00:45:51.080 --> 00:45:53.020
einen bösen Fehler gemacht eigentlich oder dann hat man,

00:45:53.160 --> 00:45:55.200
sich in der Ecke manipuliert, aus dem man schlecht wieder rauskommt.

00:45:57.040 --> 00:45:57.360
Ja,

00:45:57.760 --> 00:45:59.040
und da muss man aufpassen.

00:45:59.200 --> 00:46:01.240
Also ich meine, man kann das ja auch richtig verwenden,

00:46:01.380 --> 00:46:03.020
aber es ist halt nicht so einfach. Also

00:46:03.020 --> 00:46:05.460
das ist halt schon gefährlich.

00:46:05.620 --> 00:46:07.520
Also insofern bei Pydentic,

00:46:07.600 --> 00:46:09.240
also ist auch ein sehr cooles Projekt, aber

00:46:09.240 --> 00:46:11.220
man muss halt echt aufpassen,

00:46:11.320 --> 00:46:13.120
dass man da nicht, dass also

00:46:13.120 --> 00:46:15.140
das, also wenn man

00:46:15.140 --> 00:46:17.280
damit auf irgendein Problem zielt, dann hat

00:46:17.280 --> 00:46:19.180
der Pydentic-Lauf auch immer so die

00:46:19.180 --> 00:46:21.300
Tendenz, so weich zu werden und so auf den eigenen Fuß

00:46:21.300 --> 00:46:23.120
runter zu neigen und,

00:46:23.160 --> 00:46:25.080
weil dann im falschen Moment schießt, dann hat man

00:46:25.080 --> 00:46:26.820
ein Loch im Fuß. Kannst du nochmal kurz

00:46:26.820 --> 00:46:29.180
vergleichen oder erklären, was du meinst,

00:46:29.300 --> 00:46:31.140
wann das passiert? Naja, also wenn

00:46:31.140 --> 00:46:32.560
du zum Beispiel von, also

00:46:32.560 --> 00:46:35.280
anstelle einer Data Class halt

00:46:35.280 --> 00:46:36.520
ein Pydentic-Modell verwendest.

00:46:37.680 --> 00:46:38.720
Warum ist das blöd?

00:46:39.180 --> 00:46:40.940
Naja, weil du dann zum Beispiel Pydentic importierst in

00:46:40.940 --> 00:46:43.100
deiner Business-Logik. Und dann

00:46:43.100 --> 00:46:44.200
bist du davon abhängig und?

00:46:45.020 --> 00:46:47.020
Ja und genau, du hast

00:46:47.020 --> 00:46:48.320
halt dann

00:46:48.320 --> 00:46:51.020
diese Konzerns irgendwie miteinander

00:46:51.020 --> 00:46:53.080
vermischt und dann kriegst du alle möglichen

00:46:53.080 --> 00:46:54.900
Arten von üblen Design-Problemen,

00:46:54.980 --> 00:46:56.620
Architektur-Problemen.

00:46:57.040 --> 00:46:58.500
Genau, ja.

00:46:59.200 --> 00:47:00.580
Welche? Naja,

00:47:01.320 --> 00:47:03.040
also zum Beispiel, wenn das

00:47:03.040 --> 00:47:03.900
dann halt jetzt nicht

00:47:03.900 --> 00:47:06.900
schnell genug ist und du willst jetzt was

00:47:06.900 --> 00:47:08.820
anderes, eine schnellere Art irgendwie die Sachen zu,

00:47:09.240 --> 00:47:10.980
weil du hast das jetzt gekoppelt an, du

00:47:10.980 --> 00:47:13.180
speichst das als JSON raus und liest JSON rein

00:47:13.180 --> 00:47:15.180
und so, was der Pydentic

00:47:15.180 --> 00:47:16.860
auch ganz gut kann. Und jetzt stellst du halt fest,

00:47:16.980 --> 00:47:18.860
oh, oder gibst das über

00:47:18.860 --> 00:47:20.660
eine App hier raus und jetzt stellst du halt fest,

00:47:20.780 --> 00:47:23.040
oh shit, aber, also ich meine, das ist relativ schnell,

00:47:23.080 --> 00:47:24.880
aber das ist nicht so schnell, wie es geht.

00:47:25.160 --> 00:47:27.100
Also es geht natürlich, es gibt ja Dinge draußen, die sind deutlich schneller

00:47:27.100 --> 00:47:29.160
als Pydentic und dann stellst du halt fest, so, okay,

00:47:29.360 --> 00:47:31.200
irgendwie Pydentic ist zu langsam

00:47:31.200 --> 00:47:33.160
für mich. Du wirst Pydentic

00:47:33.160 --> 00:47:35.220
niemals austauschen können, da kannst du dein Ding neu schreiben.

00:47:35.360 --> 00:47:37.000
Das ist halt, kannst du einfach

00:47:37.000 --> 00:47:39.080
völlig vergessen. Und

00:47:39.080 --> 00:47:40.520
ja,

00:47:41.280 --> 00:47:43.260
das ist halt, wenn man

00:47:43.260 --> 00:47:44.960
das halt quasi nicht so

00:47:44.960 --> 00:47:46.940
gebaut hat, dass man halt

00:47:46.940 --> 00:47:49.000
Pydentic austauschen kann, dann hat man halt, so

00:47:49.000 --> 00:47:51.020
ähnlich wie bei, wenn man halt von den Django

00:47:51.020 --> 00:47:53.060
Models Model erbt, ne, also

00:47:53.080 --> 00:47:55.020
oft kann das ja auch okay sein und bei Pydentic

00:47:55.020 --> 00:47:56.800
kann das ja auch oft okay sein, aber wenn du halt ein

00:47:56.800 --> 00:47:57.980
Großprojekt hast und dann

00:47:57.980 --> 00:48:00.240
hast du halt irgendwann,

00:48:01.100 --> 00:48:02.920
willst du Dinge anders machen, dann

00:48:02.920 --> 00:48:04.200
kann es gut sein, dass das nicht mehr geht.

00:48:04.800 --> 00:48:06.780
Ja, okay, klar,

00:48:07.000 --> 00:48:07.240
natürlich.

00:48:09.320 --> 00:48:09.680
Ja,

00:48:10.880 --> 00:48:12.980
hm, ich fand das jetzt nicht so, dass

00:48:12.980 --> 00:48:14.440
Kinder hier gegangen sind.

00:48:15.900 --> 00:48:17.100
Sollen wir mal zurückkommen

00:48:17.100 --> 00:48:19.000
zum Buch? Ich glaube, da sind tatsächlich noch ein paar

00:48:19.000 --> 00:48:19.720
interessante Sachen drin.

00:48:21.760 --> 00:48:22.040
Diese,

00:48:23.080 --> 00:48:24.660
es werden hier drei Alternativen

00:48:24.660 --> 00:48:27.340
genannt, also Collections.NameTupel,

00:48:27.420 --> 00:48:29.360
TypingNameTupel und DataClass.

00:48:30.300 --> 00:48:31.040
Und warum nicht

00:48:31.040 --> 00:48:31.840
TypeDict?

00:48:33.200 --> 00:48:34.500
Ja, das ist natürlich hier,

00:48:35.960 --> 00:48:37.580
da lese ich, ich zitiere,

00:48:37.680 --> 00:48:39.620
TypeDict may seem like another DataClassBuilder.

00:48:39.680 --> 00:48:40.220
Ja, das ist es nicht.

00:48:40.400 --> 00:48:43.520
Und TypeDict does not build concrete classes that you can instantiate.

00:48:43.620 --> 00:48:45.160
Genau, es ist ein, das macht keine Klasse.

00:48:45.180 --> 00:48:46.960
25 oder so was, geht ja nochmal drauf ein.

00:48:46.960 --> 00:48:48.620
Ja, genau, also das

00:48:48.620 --> 00:48:51.140
macht nicht solche Klassen, wie wir sie hier brauchen,

00:48:51.300 --> 00:48:52.420
sondern das ist nur...

00:48:52.420 --> 00:48:53.060
TypeAnnotation.

00:48:53.080 --> 00:48:54.700
TypeAnnotation ist für TypeDict, aber es funktioniert anders.

00:48:55.320 --> 00:48:57.360
Genau, und es ist eine böse Falle, also ich weiß nicht,

00:48:57.420 --> 00:48:58.780
wie oft ich das schon gesehen habe, dass Leute

00:48:58.780 --> 00:49:00.820
denken, dass sie dann sicher werden

00:49:00.820 --> 00:49:03.260
und aber nie MyPy oder sowas ausführen

00:49:03.260 --> 00:49:05.140
und dann, wenn man es

00:49:05.140 --> 00:49:06.800
dann mal ausführt, kriegt man halt gesagt,

00:49:06.900 --> 00:49:08.940
so, ja, also das, was du da machst mit dem TypeDict,

00:49:09.000 --> 00:49:09.780
das ist für uns alles falsch.

00:49:11.440 --> 00:49:12.380
Nie einer gemerkt.

00:49:13.360 --> 00:49:14.520
Hat dir das Claude erzählt?

00:49:15.340 --> 00:49:17.380
Nee, mir begegnet sowas ständig.

00:49:17.840 --> 00:49:18.760
Hat sich jemand ausgedacht.

00:49:20.120 --> 00:49:20.440
Okay,

00:49:20.920 --> 00:49:22.420
aber im Endeffekt funktionieren

00:49:22.420 --> 00:49:23.100
doch diese drei

00:49:23.100 --> 00:49:26.300
Verfahren alle irgendwie gleich. Du musst irgendwie

00:49:26.300 --> 00:49:28.180
eine Definition schreiben und du sagst, ich möchte jetzt

00:49:28.180 --> 00:49:30.260
eine Klasse haben, die soll einen Namen

00:49:30.260 --> 00:49:32.520
haben und die soll folgende Attribute

00:49:32.520 --> 00:49:34.380
haben. Und die werden dann

00:49:34.380 --> 00:49:35.860
getypt und getypethintet.

00:49:36.280 --> 00:49:37.980
Ja, entweder getypt oder auch nicht getypt.

00:49:38.080 --> 00:49:40.380
Musst du nicht unbedingt getypt haben.

00:49:41.700 --> 00:49:42.400
Und selbst wenn du es

00:49:42.400 --> 00:49:43.840
getypt hast, kannst du es ja immer noch anders verwenden.

00:49:44.780 --> 00:49:46.360
Selbst wenn du deine Dataglass schön

00:49:46.360 --> 00:49:47.380
mit Types versehen hast,

00:49:48.100 --> 00:49:49.920
kannst du ja immer noch reintun, was du möchtest.

00:49:50.300 --> 00:49:52.140
Also in Tupe wäre es Immutable, dann muss ich

00:49:52.140 --> 00:49:53.580
ein Frozen machen bei der Dataglasse.

00:49:54.620 --> 00:49:55.900
Genau, aber das hat mit

00:49:55.900 --> 00:49:57.280
den Types nichts zu tun.

00:49:58.340 --> 00:50:00.340
Auch das Typing.Name

00:50:00.340 --> 00:50:01.860
Tupe kann ja andere

00:50:01.860 --> 00:50:04.760
Sachen nehmen. Das ist ja erstmal nur eine Absichtserklärung.

00:50:05.780 --> 00:50:06.480
Ich beabsichtige,

00:50:06.620 --> 00:50:08.040
dass dieses Attribut nur ein Int

00:50:08.040 --> 00:50:09.800
sein kann, aber da hüte ich nie mehr davon ab.

00:50:10.900 --> 00:50:12.020
Kannst auch eine Liste reinmachen.

00:50:12.200 --> 00:50:13.300
Generell bei Python so.

00:50:16.100 --> 00:50:16.320
Okay,

00:50:16.740 --> 00:50:18.120
aber ich finde es interessant,

00:50:18.280 --> 00:50:20.560
weil im Wesentlichen

00:50:20.560 --> 00:50:21.980
gibt es da zwei verschiedene

00:50:21.980 --> 00:50:24.200
Syntax-Möglichkeiten.

00:50:24.780 --> 00:50:26.140
Und die eine, das ist die, die von

00:50:26.140 --> 00:50:27.920
NameTuple kommt, wo man halt sagt, ich möchte ein

00:50:27.920 --> 00:50:29.760
NameTuple haben und dann rufe ich die Funktion

00:50:29.760 --> 00:50:32.080
oder rufe ich den Konstruktor

00:50:32.080 --> 00:50:34.120
NameTuple als Konstruktor auf und sage eben,

00:50:34.800 --> 00:50:36.180
diese Datenklasse soll

00:50:36.180 --> 00:50:38.100
den Namen, hier haben sie das

00:50:38.100 --> 00:50:40.060
Beispiel Coordinates haben, also Koordinate haben

00:50:40.060 --> 00:50:42.100
und die hat zwei Attribute, Lat und Lon. Und dann kriege ich da eine

00:50:42.100 --> 00:50:44.240
Klasse raus. Oder besser gesagt, ich kriege

00:50:44.240 --> 00:50:46.080
einen Konstruktor raus für eine Klasse. Ich kriege ja nicht

00:50:46.080 --> 00:50:48.220
meine ganze Klasse raus, sondern ich kriege nur den Konstruktor

00:50:48.220 --> 00:50:48.440
raus.

00:50:50.260 --> 00:50:51.960
Und das ist so ein bisschen irgendwie so eine

00:50:51.980 --> 00:50:54.060
textuelle Beschreibung. Und ich habe da immer so

00:50:54.060 --> 00:50:56.020
ein bisschen Hemmungen. Das fühlt sich so ein bisschen an, als ob

00:50:56.020 --> 00:50:57.900
man irgendwie um diesen

00:50:57.900 --> 00:50:59.820
ja,

00:51:00.080 --> 00:51:02.560
um so Python außen rum geht

00:51:02.560 --> 00:51:03.860
und um den

00:51:03.860 --> 00:51:06.200
Interpreter außen rum geht

00:51:06.200 --> 00:51:08.340
und dass man irgendwelche langsamen

00:51:08.340 --> 00:51:09.600
magischen Sachen macht.

00:51:10.340 --> 00:51:12.100
Aber ich glaube tatsächlich, man muss da weg

00:51:12.100 --> 00:51:13.620
davon. Man muss sagen, okay, dieses

00:51:13.620 --> 00:51:16.080
Herstellen der Klasse, das ist langsam, aber das

00:51:16.080 --> 00:51:18.000
ist ja egal, weil das macht man nur einmal.

00:51:18.680 --> 00:51:20.180
Das Instanziieren, das ist dann so

00:51:20.180 --> 00:51:20.840
schnell wie ein Tuple.

00:51:21.980 --> 00:51:24.580
Und die verbrauchen auch nicht mehr Speicher.

00:51:24.740 --> 00:51:26.440
Also diese Namen werden nicht bei jeder

00:51:26.440 --> 00:51:27.520
Instanz dazu gespeichert.

00:51:28.220 --> 00:51:30.280
Nicht wie bei einem Dictionary, sondern

00:51:30.280 --> 00:51:32.340
es ist eben ein Tuple. Und im Endeffekt ist es

00:51:32.340 --> 00:51:33.780
ein Tuple mit so ein kleines bisschen

00:51:33.780 --> 00:51:36.640
Karamellsoße obendrauf gestreut,

00:51:36.720 --> 00:51:38.620
wo man eben nicht Index 0,

00:51:38.700 --> 00:51:40.460
Index 1 und Index 2 hat, sondern wo man eben

00:51:40.460 --> 00:51:42.160
Latitude und Longitude sagen kann.

00:51:42.520 --> 00:51:44.580
Und das bedeutet dann Index 0 und Index 1.

00:51:44.600 --> 00:51:45.620
Ja, das sieht viel schneller aus.

00:51:45.880 --> 00:51:48.300
Also lange Zeit war ein Tuple auch

00:51:48.300 --> 00:51:50.100
irgendwie deutlich schneller. Also wobei

00:51:50.100 --> 00:51:51.960
nichts ist so schnell wie tatsächlich einfach,

00:51:51.980 --> 00:51:53.620
quasi wenn man eine Klasse

00:51:53.620 --> 00:51:56.100
instanziiert. Aber NameTuple war dann

00:51:56.100 --> 00:51:57.160
halt die schnellste Alternative.

00:51:59.440 --> 00:52:00.080
Und wenn man

00:52:00.080 --> 00:52:01.820
jetzt früher war das halt oft so,

00:52:02.280 --> 00:52:04.400
oder wenn man

00:52:04.400 --> 00:52:06.260
halt Attribut-Lookup

00:52:06.260 --> 00:52:07.920
macht, dann ist das

00:52:07.920 --> 00:52:09.060
bei NameTuple natürlich schneller.

00:52:09.940 --> 00:52:12.060
Also irgendwas, Instanz, Punkt,

00:52:12.180 --> 00:52:13.840
irgendein Attribut, weil

00:52:13.840 --> 00:52:15.260
Tuple Index.

00:52:15.780 --> 00:52:18.140
Und inzwischen macht aber Dataclasses

00:52:18.140 --> 00:52:20.240
und auch, glaube ich,

00:52:20.240 --> 00:52:21.860
NameTuple, wenn man davon erbt, per

00:52:21.860 --> 00:52:24.180
Default irgendwie Slots. Aber vielleicht erzähle ich jetzt auch Unsinn.

00:52:24.480 --> 00:52:25.760
Das muss man irgendwie mal nachgucken.

00:52:25.920 --> 00:52:28.000
Aber ich glaube, das ist tatsächlich so.

00:52:28.640 --> 00:52:29.400
Das Fazit ist für mich,

00:52:30.540 --> 00:52:32.380
das hat gar keine praktische Auswirkung.

00:52:32.460 --> 00:52:34.220
In keinem Fall, den ich je hatte,

00:52:34.220 --> 00:52:36.260
hätte das eine Auswirkung gehabt, dass die Konstruktion

00:52:36.260 --> 00:52:37.440
von diesen Datenobjekten

00:52:37.440 --> 00:52:40.020
zu langsam gewesen wäre. Das heißt, das ist auch wieder so ein

00:52:40.020 --> 00:52:42.240
Jagdnifal. Das ist so eine Angst,

00:52:42.440 --> 00:52:44.200
die ich in meinem Kopf habe, die aber eigentlich

00:52:44.200 --> 00:52:45.780
in dem Moment noch nicht berechtigt ist.

00:52:46.920 --> 00:52:48.600
Große API-Responses

00:52:48.600 --> 00:52:50.120
oder wo du Zeugs

00:52:50.120 --> 00:52:51.520
reinkriegst, weil da kann das schon,

00:52:51.860 --> 00:52:53.640
so wenn du so halt irgendwie

00:52:53.640 --> 00:52:55.920
10.000 Dinger in Objekte verwandelst

00:52:55.920 --> 00:52:57.300
und dann ist halt dein Objekt erzeugt.

00:52:57.300 --> 00:52:59.660
Ja, aber gut, wenn da Jason reinkommt, hast du ja eh schon verloren.

00:53:00.120 --> 00:53:01.420
Ja, aber es gibt ja schnell einen Jason-Parser.

00:53:01.580 --> 00:53:03.740
Aber du musst es dann nochmal zu Objekten machen.

00:53:03.800 --> 00:53:04.620
Da bekommst du erst einen Dikt.

00:53:06.580 --> 00:53:07.840
Wie auch immer,

00:53:08.440 --> 00:53:10.300
für mich der Takeaway ist,

00:53:11.000 --> 00:53:12.160
ich habe da immer so ein bisschen Hemmungen.

00:53:12.200 --> 00:53:13.840
Ich habe immer so ein bisschen Hemmungen, so NameTupels

00:53:13.840 --> 00:53:15.840
zu machen, weil das nicht so richtig in die

00:53:15.840 --> 00:53:17.580
Syntax passt, weil das anders aussieht,

00:53:17.880 --> 00:53:20.020
als andere Sachen aussehen. Aber es ist gar nicht

00:53:20.020 --> 00:53:20.460
schlecht.

00:53:21.040 --> 00:53:21.760
Es ist gar nicht schlecht.

00:53:21.760 --> 00:53:21.840
Es ist gar nicht schlecht.

00:53:21.840 --> 00:53:23.400
Es ist gar nicht falsch, NameTupel zu machen.

00:53:23.780 --> 00:53:25.280
Ja, aber was meinst du, das sieht anders aus.

00:53:25.420 --> 00:53:27.700
Also ich finde, wenn du das jetzt vom Typing

00:53:27.700 --> 00:53:29.740
oder vom Collections importierst, dann kannst du ja

00:53:29.740 --> 00:53:31.680
Klasse schreiben. Sieht ja fast aus wie eine

00:53:31.680 --> 00:53:32.200
Data-Klasse.

00:53:33.260 --> 00:53:34.720
Genau, das kannst du machen.

00:53:34.880 --> 00:53:37.680
Das sieht auch normal aus. Das ist auch was, was ich empfehlen würde.

00:53:39.700 --> 00:53:41.720
Das kannst du machen, aber dieser

00:53:41.720 --> 00:53:43.460
Konstruktor, der NameTupel-Konstruktor,

00:53:43.560 --> 00:53:45.360
also das ist tatsächlich alles klein geschrieben

00:53:45.360 --> 00:53:46.780
und dann musst du da Strings reingeben.

00:53:47.640 --> 00:53:48.840
Ja, das ist ein bisschen...

00:53:48.840 --> 00:53:51.040
Ja, was daran auch

00:53:51.040 --> 00:53:51.540
komisch ist,

00:53:51.540 --> 00:53:53.600
also einmal, ich finde es auch ehrlich gesagt

00:53:53.600 --> 00:53:55.240
ein bisschen hässlich, weil das ist uralt.

00:53:55.360 --> 00:53:56.200
Das gibt es schon ewig.

00:53:56.800 --> 00:53:57.700
Das ist super praktisch.

00:53:58.360 --> 00:54:01.140
Das ist natürlich manchmal super praktisch, wenn man halt irgendwie auf alten

00:54:01.140 --> 00:54:03.540
Interpreter-Versionen rumguckt.

00:54:04.700 --> 00:54:05.480
Genau, das funktioniert

00:54:05.480 --> 00:54:07.660
wahrscheinlich bis... Also da gibt es nichts mehr, was noch läuft,

00:54:07.740 --> 00:54:08.580
was irgendwie älter ist.

00:54:09.180 --> 00:54:10.460
Das funktioniert wirklich überall.

00:54:11.040 --> 00:54:12.720
Aber was halt auch blöd ist, ist,

00:54:13.100 --> 00:54:15.360
es geht zwar auch, dass man da Methoden dranhängt,

00:54:15.420 --> 00:54:16.560
aber das ist auch voll umständlich.

00:54:16.980 --> 00:54:19.300
Da muss man halt auch erstmal Informationen anzeugen.

00:54:19.300 --> 00:54:21.400
Und dann muss man das Ding irgendwie da dranhängen.

00:54:21.540 --> 00:54:23.080
Und es geht alles, klar, aber

00:54:23.080 --> 00:54:25.360
es ist halt schon so, wenn das als Methode dransteht, ist das schon

00:54:25.360 --> 00:54:27.140
leichter verständlich, wie das passiert.

00:54:27.360 --> 00:54:29.060
Ja, da kann man ganz viel hässliche Magie mitmachen.

00:54:29.180 --> 00:54:31.480
Ich glaube, wenn man so Code-Call spielt oder sowas, dann ist das eine Disziplin,

00:54:31.540 --> 00:54:33.220
die man so spielen kann. Und wenn man Leute

00:54:33.220 --> 00:54:35.360
verwirren will oder so ein bisschen Offuscation...

00:54:36.300 --> 00:54:37.380
Nee, nee, nee, das ist nicht gut.

00:54:37.740 --> 00:54:39.380
Nee, dann gehen wir wieder zur Typing-Name-Tupel,

00:54:39.440 --> 00:54:41.400
weil Typing-Name-Tupel hat nämlich Klassensyntax.

00:54:41.880 --> 00:54:43.500
Und die ist tatsächlich...

00:54:43.500 --> 00:54:44.400
Ich finde die sehr schön.

00:54:45.500 --> 00:54:47.020
Es wird

00:54:47.020 --> 00:54:49.200
gleich noch ein Problem beschrieben werden,

00:54:49.340 --> 00:54:50.740
was ich auch tatsächlich sehe,

00:54:50.740 --> 00:54:51.180
weil ich glaube, dass das nicht so gut ist.

00:54:51.180 --> 00:54:51.340
Ja.

00:54:51.340 --> 00:54:51.360
Ja.

00:54:51.540 --> 00:54:55.400
Aber es ist so ein bisschen so, wie man es sich vorstellt.

00:54:55.520 --> 00:54:57.340
Wenn man aus einer anderen Sprache kommt,

00:54:57.460 --> 00:54:59.780
dann sagt man, ich möchte eine Klasse haben und diese folgende Attribute haben.

00:54:59.900 --> 00:55:01.820
Und das ist hier genauso, weil die Klassensyntax

00:55:01.820 --> 00:55:03.380
halt so ist, dass ich sage, Klass,

00:55:03.480 --> 00:55:05.840
dann den Klassennamen, abgeleitet von Name-Tupel,

00:55:07.280 --> 00:55:08.360
was aber so ein bisschen

00:55:08.360 --> 00:55:11.320
nicht ganz richtig ist.

00:55:11.520 --> 00:55:13.020
Weil die MRO da gar nicht drin ist,

00:55:13.080 --> 00:55:14.220
weil das nur eine Meta-Klasse ist,

00:55:14.280 --> 00:55:15.780
weil da nämlich gar nicht tatsächlich Name-Tupel ist.

00:55:15.780 --> 00:55:17.060
Die machen halt so ein richtiges Tupel.

00:55:17.640 --> 00:55:19.580
Genau. Und dann innerhalb von der Klasse

00:55:19.580 --> 00:55:21.040
gebe ich einfach die

00:55:21.040 --> 00:55:21.520
Attribute, die ich da habe,

00:55:21.540 --> 00:55:23.220
Attribute, an die ich haben möchte, mit ihrem Typen.

00:55:23.340 --> 00:55:25.240
Also hier in dem Fall beispielsweise Latitude,

00:55:25.380 --> 00:55:27.220
Doppelpunkt Float und Longitude,

00:55:27.380 --> 00:55:29.540
Doppelpunkt Float. Und das bedeutet,

00:55:29.760 --> 00:55:31.660
dass diese Klasse automatisch einen Konstruktor

00:55:31.660 --> 00:55:33.080
bekommt, der

00:55:33.080 --> 00:55:35.520
eben diese zwei Attribute nimmt,

00:55:35.680 --> 00:55:37.000
entweder Named oder Unnamed.

00:55:37.800 --> 00:55:38.900
Das war so der Hauptanwendung.

00:55:39.140 --> 00:55:41.260
Du möchtest jetzt nicht irgendwie eine Klasse schreiben, wo du reinschreibst

00:55:41.260 --> 00:55:43.120
in Init, nimm folgende Argumente,

00:55:43.240 --> 00:55:44.900
Latitude und Längitude und dann machst du safe,

00:55:45.000 --> 00:55:46.840
Init, Lot, gleich, lang und da.

00:55:47.640 --> 00:55:49.240
Genau. Kannst du alles selber machen, aber es wird dir

00:55:49.240 --> 00:55:50.820
alles abgenommen, wenn du das hier machst. Genau.

00:55:51.540 --> 00:55:52.540
Durch Metaklassenmagie.

00:55:53.260 --> 00:55:55.480
Und im Endeffekt...

00:55:55.480 --> 00:55:57.680
Jetzt ist schon das zweite Mal, dass ich jetzt wieder das Trinkspiel mache,

00:55:57.780 --> 00:55:58.780
was wir letztes Mal angefangen haben.

00:55:59.580 --> 00:56:00.900
Ja, ich weiß. Das ist mein

00:56:00.900 --> 00:56:03.080
Wort, was zu oft kommt.

00:56:03.160 --> 00:56:04.660
Wir sagen das jetzt nicht nochmal.

00:56:07.660 --> 00:56:08.940
Bei Dataclasses ist ja

00:56:08.940 --> 00:56:10.940
im Grunde genommen das Gleiche, dass

00:56:10.940 --> 00:56:13.500
so eine gewisse... Du sagst, welche

00:56:13.500 --> 00:56:15.620
Klassennamen du haben möchtest, welche Attribute du haben

00:56:15.620 --> 00:56:16.700
möchtest, welchen Typen du haben möchtest.

00:56:17.120 --> 00:56:18.900
Und da ist natürlich leicht, weitere

00:56:18.900 --> 00:56:21.400
Methoden hinzuzufügen. Die schreibst du einfach in den Klassener.

00:56:21.540 --> 00:56:21.660
Ja.

00:56:22.940 --> 00:56:24.720
Das mache ich auch relativ häufig.

00:56:25.980 --> 00:56:27.160
Aber ich mache das tatsächlich relativ häufig,

00:56:27.280 --> 00:56:29.700
dass wenn irgendwie aufhält, ich hätte noch gerne K und doch das Maximum

00:56:29.700 --> 00:56:30.700
und die Summe berechnet von irgendwas.

00:56:31.600 --> 00:56:33.140
Das war schon super praktisch.

00:56:33.480 --> 00:56:33.980
Ja, natürlich.

00:56:34.180 --> 00:56:36.960
Das ist ja dann das, was hier

00:56:36.960 --> 00:56:39.320
der Anke Bob würde sagen,

00:56:39.540 --> 00:56:40.820
das ist gut, bist du auf dem richtigen Weg.

00:56:41.220 --> 00:56:42.780
Das implementet der Klassener.

00:56:45.540 --> 00:56:47.580
Genau. Es ist interessant, weil

00:56:47.580 --> 00:56:49.560
da ist ja so ein bisschen Triggery

00:56:49.560 --> 00:56:51.520
drin hier. Dieses Name-Tupel, dieses Typing-Name-Tupel.

00:56:51.540 --> 00:56:53.280
Das ist ja gar keine normale Klasse,

00:56:53.460 --> 00:56:55.040
sondern es ist ja eine Meta-Klasse.

00:56:56.260 --> 00:56:56.400
Ja.

00:56:57.020 --> 00:56:58.420
Was ist denn jetzt so eine Meta-Klasse?

00:56:58.880 --> 00:56:59.680
Eine Meta-Klasse?

00:56:59.700 --> 00:57:00.580
Welches Kapitel ist das?

00:57:00.900 --> 00:57:03.120
Das ist weiter, glaube ich.

00:57:03.300 --> 00:57:04.020
Da brauchen wir noch ein bisschen.

00:57:05.600 --> 00:57:07.540
Dynamic Attribute and Property.

00:57:08.180 --> 00:57:08.840
Wir verschieben das.

00:57:09.280 --> 00:57:10.760
Das ist Kapitel 24.

00:57:11.540 --> 00:57:13.300
Ja, also Kapitel 24.

00:57:13.600 --> 00:57:15.780
Also nur noch 19 weitere Episoden

00:57:15.780 --> 00:57:16.840
und schon sind wir über das Buch.

00:57:16.900 --> 00:57:17.220
Ja.

00:57:17.220 --> 00:57:17.420
Ja.

00:57:19.980 --> 00:57:21.240
Dazwischen natürlich noch die anderen.

00:57:21.540 --> 00:57:21.860
Ja.

00:57:22.260 --> 00:57:24.600
Okay, aber dann, dieses Kapitel macht

00:57:24.600 --> 00:57:26.880
jetzt hier eine total interessante Biege,

00:57:27.420 --> 00:57:30.040
weil das nächste ist ja jetzt...

00:57:30.040 --> 00:57:31.600
Ah, übrigens, wir müssen Typings machen.

00:57:31.700 --> 00:57:33.060
Wir müssen noch ein bisschen über Typing sprechen.

00:57:33.260 --> 00:57:33.820
Ja, ja, ja.

00:57:34.340 --> 00:57:36.280
Und das fand ich interessant, als ich es gelesen habe,

00:57:36.340 --> 00:57:39.480
weil das war so ein Twist, den ich nicht erwartet hatte.

00:57:40.480 --> 00:57:42.700
Er hat deswegen darüber gesprochen,

00:57:42.800 --> 00:57:43.620
weil er gesagt hat,

00:57:43.660 --> 00:57:44.460
dass es total cool ist,

00:57:44.840 --> 00:57:46.040
wenn man jetzt Matchcase benutzt.

00:57:46.160 --> 00:57:47.860
Und das liegt auch daran, dass das...

00:57:47.860 --> 00:57:49.880
Ja, aber das ist dann der dritte. Das ist der nächste Twist.

00:57:50.500 --> 00:57:50.740
Ach so.

00:57:51.540 --> 00:57:53.120
Das wurde ja gerade erst eingeführt, als das Buch rauskam.

00:57:53.200 --> 00:57:55.640
Ich glaube, deswegen ist da so die Emphasis so ein bisschen...

00:57:55.640 --> 00:57:58.420
Ja, vielleicht war es auch nicht genügend für ein...

00:57:58.420 --> 00:58:01.360
Ups, jetzt geht hier mein Aufnahmekomputer gerade aus.

00:58:03.980 --> 00:58:05.600
Vielleicht ist es auch noch nicht groß genug

00:58:05.600 --> 00:58:06.560
für ein eigenes Kapitel,

00:58:06.780 --> 00:58:07.880
aber ich finde es interessant,

00:58:07.880 --> 00:58:09.440
dass hier so Type Hints

00:58:09.440 --> 00:58:11.860
oder Type Annotations

00:58:11.860 --> 00:58:13.920
so in einem

00:58:13.920 --> 00:58:15.960
ganz anderen Kapitel

00:58:15.960 --> 00:58:17.320
versteckt wird.

00:58:19.260 --> 00:58:20.200
Und auch nicht so,

00:58:20.260 --> 00:58:20.880
dass man es jetzt...

00:58:21.540 --> 00:58:24.540
Also ich habe mir ja die Inhaltsangabe

00:58:25.680 --> 00:58:27.100
hier die Sachen durchgelesen alle,

00:58:27.260 --> 00:58:28.840
aber da habe ich damit gerechnet,

00:58:29.340 --> 00:58:30.160
dass das jetzt hier

00:58:30.160 --> 00:58:32.040
so eine Abbiegung macht und dann sagt,

00:58:32.120 --> 00:58:33.060
ach so, übrigens, hier,

00:58:33.300 --> 00:58:34.960
lassen Sie über Typen sprechen.

00:58:37.820 --> 00:58:38.580
Also kommt natürlich

00:58:38.580 --> 00:58:39.420
nachher nochmal, aber

00:58:39.420 --> 00:58:41.400
ja.

00:58:41.720 --> 00:58:43.740
Ja, ist natürlich schon auch so ein bisschen naheliegend,

00:58:43.840 --> 00:58:45.300
weil man muss halt jetzt dann irgendwie,

00:58:45.440 --> 00:58:47.160
wenn man schon erklärt, wie das

00:58:47.160 --> 00:58:49.760
da bei diesen Klassbildern funktioniert,

00:58:49.760 --> 00:58:50.760
dass man halt,

00:58:50.760 --> 00:58:51.900
wenn man über die

00:58:51.900 --> 00:58:54.440
Typ-Annotationen im Grunde

00:58:54.440 --> 00:58:56.440
halt, ja,

00:58:56.660 --> 00:58:58.160
schon sagt, was das dann sein soll,

00:58:58.320 --> 00:58:59.640
dann muss man ja auch erklären, wie das funktioniert.

00:58:59.800 --> 00:59:01.540
Und dann kann man ja, da muss man ja irgendwie

00:59:01.540 --> 00:59:04.380
andere Annotations irgendwie erwähnen

00:59:04.380 --> 00:59:06.920
und dann ist man ja mittendrin in den Typ-Annotationen.

00:59:07.800 --> 00:59:08.840
Ja, das...

00:59:08.840 --> 00:59:10.680
Man muss da so ein bisschen in den Wald reinlaufen

00:59:10.680 --> 00:59:12.140
und sich da so ein bisschen drin verlaufen, ja.

00:59:12.300 --> 00:59:14.680
Also ich verstehe es schon, aber es war irgendwie...

00:59:14.680 --> 00:59:16.100
Ja, das war unerwartet.

00:59:16.100 --> 00:59:16.380
Ja.

00:59:17.760 --> 00:59:20.640
Und da kommt auch das eine Problem raus mit den Data Class.

00:59:20.760 --> 00:59:22.260
Also wenn ich so eine Data Class schreibe,

00:59:22.520 --> 00:59:24.160
dann habe ich ja diesen Dekorator vorne dran,

00:59:24.240 --> 00:59:24.840
Data Class,

00:59:25.540 --> 00:59:27.220
Data Class ist der Data Class,

00:59:27.760 --> 00:59:29.420
dann schreibe ich Class den Klassennamen,

00:59:29.580 --> 00:59:31.160
also in dem Fall jetzt hier Class Coordinate

00:59:31.160 --> 00:59:34.720
und im Klassenkörper schreibe ich dann die Attribute,

00:59:34.840 --> 00:59:35.880
die die Instanzen haben sollen.

00:59:36.600 --> 00:59:38.760
Und das wird hier

00:59:38.760 --> 00:59:40.400
in dem Kapitel sehr deutlich gemacht

00:59:40.400 --> 00:59:42.100
und das finde ich auch sehr richtig und sehr gut,

00:59:42.740 --> 00:59:44.320
weil das ja tatsächlich eigentlich

00:59:44.320 --> 00:59:46.180
eine Abwendung ist von dem,

00:59:46.280 --> 00:59:47.560
was Python normalerweise macht.

00:59:47.760 --> 00:59:49.540
Weil wenn ich normalerweise hier

00:59:49.540 --> 00:59:51.780
ein Attribut reinschreibe,

00:59:52.180 --> 00:59:54.840
also wenn ich Latitude gleich X reinschreibe

00:59:54.840 --> 00:59:56.080
und Longitude gleich Y,

00:59:56.700 --> 00:59:59.200
dann ist es ja erstmal ein Klassenattribut.

01:00:01.200 --> 01:00:02.860
Und hier in dem Fall,

01:00:03.360 --> 01:00:04.500
wenn ich jetzt aber Latitude

01:00:04.500 --> 01:00:06.560
Doppelpunkt Float, also Latitude

01:00:06.560 --> 01:00:08.200
getypt mit dem

01:00:08.200 --> 01:00:10.180
Float-Typ hinschreibe,

01:00:10.260 --> 01:00:12.580
dann ist es auf einmal ein Instanzattribut.

01:00:13.580 --> 01:00:13.820
Und

01:00:13.820 --> 01:00:15.980
dieser Unterschied wird hier

01:00:15.980 --> 01:00:18.700
in einer gewissen Länge diskutiert,

01:00:19.000 --> 01:00:19.520
weil der wirklich,

01:00:19.520 --> 01:00:21.300
sehr wichtig ist, weil es sehr leicht ist,

01:00:21.360 --> 01:00:22.140
diesen Unterschied zu machen.

01:00:22.320 --> 01:00:24.020
Diese beiden Sachen sind sehr nah aneinander

01:00:24.020 --> 01:00:25.120
und die sehen sehr gleich aus,

01:00:25.680 --> 01:00:27.000
machen aber dann andere Dinge

01:00:27.000 --> 01:00:29.180
und sind eigentlich anders als das,

01:00:29.780 --> 01:00:31.500
was in Python so normal ist.

01:00:31.580 --> 01:00:34.340
Das heißt, da muss man schon besondere Vorsicht...

01:00:34.340 --> 01:00:36.840
Du musst nochmal bitte den Unterschied genau erklären

01:00:36.840 --> 01:00:38.440
zwischen diesem Instanzattribut

01:00:38.440 --> 01:00:39.160
und dem Klassenattribut.

01:00:39.260 --> 01:00:40.980
Ich habe nämlich schon mehrfach Menschen gesehen,

01:00:41.460 --> 01:00:42.640
die das so gewohnt waren,

01:00:42.760 --> 01:00:45.380
dass das halt dann immer ein Instanzattribut ist,

01:00:45.380 --> 01:00:47.180
was man da direkt unter die Klasse schreibt,

01:00:47.300 --> 01:00:49.500
dass sich das erst später festgestellt hat.

01:00:49.520 --> 01:00:51.080
In anderen Sprachen ist es ja auch so.

01:00:51.200 --> 01:00:53.220
Wenn du in Java oder C oder sonst wo bist,

01:00:53.320 --> 01:00:54.020
dann ist es genau so.

01:00:54.100 --> 01:00:57.020
Dann sagst du, die Klasse soll folgende Instanzattribute enthalten.

01:00:58.580 --> 01:01:00.200
Und in Python ist es aber anders.

01:01:00.380 --> 01:01:01.120
In Python sagst du,

01:01:01.180 --> 01:01:03.640
die Klasse soll folgende Klassenattribute enthalten.

01:01:03.760 --> 01:01:05.100
Der Hauptunterschied zwischen

01:01:05.100 --> 01:01:07.180
Klassenattributen und Instanz ist halt,

01:01:07.400 --> 01:01:09.680
dass ein Klassenattribut ist halt für alle Instanzen

01:01:09.680 --> 01:01:10.360
der Klasse gleich.

01:01:10.880 --> 01:01:12.280
Und das ist halt wahrscheinlich überraschender.

01:01:12.800 --> 01:01:14.800
Diese Eigenschaft ist mir auch schon mehrfach

01:01:14.800 --> 01:01:16.180
blöd auf die Füße gefallen.

01:01:17.600 --> 01:01:18.500
Aber so ist es halt.

01:01:18.680 --> 01:01:18.840
Genau.

01:01:19.520 --> 01:01:20.320
Da muss man vorsichtig sein.

01:01:20.580 --> 01:01:21.760
Das heißt, wenn du das setzt,

01:01:21.760 --> 01:01:23.920
irgendwo an einer existierenden Entität,

01:01:24.020 --> 01:01:26.800
dann wäre das für alle gesetzt?

01:01:27.240 --> 01:01:28.380
Ja, also wenn das eine Klasse ist,

01:01:28.380 --> 01:01:29.920
dann sagst du halt jetzt,

01:01:30.160 --> 01:01:31.120
schaffst du es irgendwie,

01:01:31.480 --> 01:01:34.180
dass tatsächlich irgendwie ein Klassenattribut

01:01:34.180 --> 01:01:36.480
defaultmäßig zum Beispiel eine Liste ist.

01:01:36.660 --> 01:01:37.920
Also indem du das auf Ecke Klammer auf

01:01:37.920 --> 01:01:40.680
Klammer zusetzt oder so.

01:01:41.880 --> 01:01:43.340
Oh, das ist jetzt aber ganz hässlich.

01:01:43.420 --> 01:01:46.300
Und du überschreibst das nicht nachher

01:01:46.300 --> 01:01:48.380
nochmal irgendwie in einem Konstruktor oder so,

01:01:48.420 --> 01:01:49.300
was ja dann oft passiert.

01:01:49.520 --> 01:01:50.760
Dann ist es kein Problem mehr,

01:01:51.020 --> 01:01:52.860
weil in dem Moment, wo man es neu setzt oder so,

01:01:52.940 --> 01:01:55.220
ist es dann ein Instanzattribut

01:01:55.220 --> 01:01:56.260
und nicht mehr ein Klassenattribut.

01:01:56.860 --> 01:01:57.800
Merkt man auch nichts von,

01:01:57.840 --> 01:01:58.700
ist vielleicht ein bisschen gefährlich.

01:01:59.280 --> 01:02:00.220
Aber wenn das nicht passiert,

01:02:00.480 --> 01:02:02.560
dann passieren plötzlich wilde Dinge,

01:02:02.720 --> 01:02:04.660
weil dann ist das halt für alle Instanzen gleich.

01:02:04.960 --> 01:02:06.420
Und es funktioniert zwar,

01:02:06.500 --> 01:02:07.360
dass man da Sachen appendet,

01:02:07.640 --> 01:02:08.900
aber da sind dann halt nicht nur die Sachen,

01:02:08.980 --> 01:02:09.900
die man selber appendet hat drin,

01:02:09.960 --> 01:02:10.720
sondern alle anderen auch.

01:02:10.960 --> 01:02:12.360
Deswegen ist es eine Konvention,

01:02:12.480 --> 01:02:12.940
wie man das macht.

01:02:12.940 --> 01:02:13.980
Und zwar kann man das nennen

01:02:13.980 --> 01:02:16.440
Cache unter Strich irgendwas.

01:02:17.620 --> 01:02:18.860
Dann hast du einen Cache.

01:02:18.860 --> 01:02:19.660
Dafür kann man es verwenden.

01:02:19.680 --> 01:02:21.000
Für alle Instanzen dieser Klasse.

01:02:21.140 --> 01:02:22.080
Dann kannst du damit merken,

01:02:22.140 --> 01:02:23.400
alle Errors, die aufgetreten sind,

01:02:23.440 --> 01:02:24.340
oder sowas.

01:02:24.600 --> 01:02:26.380
Ja, also das hat durchaus Gründe,

01:02:26.480 --> 01:02:27.400
warum man sowas haben will.

01:02:27.580 --> 01:02:27.860
Ja, klar.

01:02:28.140 --> 01:02:29.560
Das ist ganz gut.

01:02:29.660 --> 01:02:31.220
Aber damit kann man sich hart in den Fuß stehen.

01:02:31.300 --> 01:02:31.780
Also tatsächlich,

01:02:31.940 --> 01:02:32.900
das hatten wir, glaube ich,

01:02:32.900 --> 01:02:33.980
auch schon ein paar Mal gesagt,

01:02:34.520 --> 01:02:38.720
dieses Instanzieren von leeren Dicts oder Listen

01:02:38.720 --> 01:02:40.820
ist in Python generell sehr gefährlich.

01:02:40.940 --> 01:02:42.360
Wenn man das als Default-Argument macht,

01:02:42.360 --> 01:02:43.020
sollte man nicht.

01:02:43.640 --> 01:02:44.820
Ja, ganz, ganz gefährlich.

01:02:45.400 --> 01:02:47.100
Ja, und generell Klassen.

01:02:47.320 --> 01:02:48.360
Also ich mache oft Programme,

01:02:48.860 --> 01:02:49.440
Programmierkurse.

01:02:49.980 --> 01:02:51.920
Und das ist wirklich schwierig zu verstehen,

01:02:52.000 --> 01:02:52.820
was eine Klasse ist

01:02:52.820 --> 01:02:54.300
und was eine Instanz von einer Klasse ist.

01:02:54.740 --> 01:02:56.480
Und wie die zusammenhängen

01:02:56.480 --> 01:02:58.820
und was die zusammen tun

01:02:58.820 --> 01:03:00.080
und warum die das so tun.

01:03:00.680 --> 01:03:02.180
Und das ist echt, echt schwierig.

01:03:03.000 --> 01:03:04.540
Und jetzt gibt es hier eben genau

01:03:04.540 --> 01:03:06.080
diesen subtilen Unterschied hier.

01:03:06.240 --> 01:03:08.180
Das eine, das sieht genauso aus wie das andere.

01:03:08.760 --> 01:03:10.580
Aber wenn du nicht Doppelpunkt int

01:03:10.580 --> 01:03:11.400
hinterschreibst,

01:03:11.400 --> 01:03:13.700
dann ist es auf einmal eine Klasseninstanz.

01:03:13.880 --> 01:03:14.120
Hahaha.

01:03:15.200 --> 01:03:15.360
Ja.

01:03:16.360 --> 01:03:17.200
Und das ist schon,

01:03:17.500 --> 01:03:18.600
das ist wirklich was sehr Subtiles,

01:03:18.860 --> 01:03:19.140
vieles.

01:03:19.300 --> 01:03:19.340
Und,

01:03:19.880 --> 01:03:21.600
und das geht eben weg von dem,

01:03:21.700 --> 01:03:22.760
was Python normalerweise macht.

01:03:23.080 --> 01:03:24.320
Normalerweise schreibst du in die Klasse

01:03:24.320 --> 01:03:25.460
die Klasseninstanzen rein

01:03:25.460 --> 01:03:27.620
und hier schreibst du auf einmal,

01:03:28.120 --> 01:03:29.300
wie in anderen Programmiersprachen,

01:03:29.400 --> 01:03:30.420
wo es sich natürlich anfühlt,

01:03:30.480 --> 01:03:33.200
schreibst du die Instanz-Eigenschaften rein,

01:03:33.280 --> 01:03:34.080
die Instanz-Aboote.

01:03:34.380 --> 01:03:36.020
Wobei, wobei dann natürlich zum Beispiel

01:03:36.020 --> 01:03:37.760
Data Classes schon auch auf die Finger haut,

01:03:37.860 --> 01:03:40.260
wenn du da irgendwie einfach eine Liste

01:03:40.260 --> 01:03:41.100
hinschreibst oder so,

01:03:41.220 --> 01:03:42.420
dann sagt dir das so,

01:03:42.480 --> 01:03:43.480
nee, nee, das kannst du aber nicht machen.

01:03:43.620 --> 01:03:45.600
Du musst ja irgendwie dann Default,

01:03:46.980 --> 01:03:47.600
wie heißt das Ding,

01:03:47.980 --> 01:03:48.500
äh,

01:03:48.500 --> 01:03:48.840
Field,

01:03:48.860 --> 01:03:49.820
ja, eine Factory musst du angeben.

01:03:49.820 --> 01:03:50.800
Factory, äh,

01:03:50.800 --> 01:03:51.480
angeben, genau.

01:03:52.240 --> 01:03:52.560
Ähm,

01:03:52.620 --> 01:03:53.840
aber da kommt es natürlich rum.

01:03:54.160 --> 01:03:54.280
Ja.

01:03:54.500 --> 01:03:55.080
Es gibt ja viele,

01:03:55.360 --> 01:03:56.760
viele Mutable Classes

01:03:56.760 --> 01:03:57.520
oder viele Dinge,

01:03:57.640 --> 01:03:58.460
die du da reintun kannst,

01:03:58.540 --> 01:03:58.940
die eben nicht,

01:03:59.000 --> 01:04:00.060
das ist nur jetzt für Liste

01:04:00.060 --> 01:04:01.260
und für Dictionary

01:04:01.260 --> 01:04:01.980
und für Set ist,

01:04:02.280 --> 01:04:03.220
äh,

01:04:03.380 --> 01:04:04.080
Special Cased,

01:04:04.180 --> 01:04:05.860
weil die so häufig vorkommen.

01:04:06.380 --> 01:04:06.700
Genau.

01:04:07.040 --> 01:04:08.260
Ja, also das ist gefährlich,

01:04:08.300 --> 01:04:08.600
das stimmt.

01:04:09.220 --> 01:04:09.660
Das ist,

01:04:09.980 --> 01:04:10.380
äh,

01:04:10.560 --> 01:04:11.140
ich weiß auch nicht,

01:04:11.200 --> 01:04:11.320
wie,

01:04:11.420 --> 01:04:12.300
wie ihr das so macht.

01:04:12.480 --> 01:04:12.640
Äh,

01:04:12.740 --> 01:04:13.000
also,

01:04:13.600 --> 01:04:13.960
ähm,

01:04:15.020 --> 01:04:15.740
normalerweise,

01:04:15.880 --> 01:04:16.460
also sicher,

01:04:16.740 --> 01:04:16.840
äh,

01:04:16.920 --> 01:04:18.220
also auch wenn man jetzt Konstrukturen hat

01:04:18.220 --> 01:04:18.480
von,

01:04:18.480 --> 01:04:19.600
von normalen Klassen,

01:04:19.940 --> 01:04:20.960
da ist es ja auch gefährlich,

01:04:21.020 --> 01:04:21.960
wenn man da irgendwie,

01:04:22.460 --> 01:04:22.920
äh,

01:04:22.960 --> 01:04:23.500
zum Beispiel sagt,

01:04:23.660 --> 01:04:25.000
annotiert das jetzt in Liste

01:04:25.000 --> 01:04:26.080
und dann sagt man gleich

01:04:26.080 --> 01:04:27.180
und dann Ecke Klammer auf,

01:04:27.240 --> 01:04:27.620
Klammer zu

01:04:27.620 --> 01:04:28.440
und so.

01:04:28.520 --> 01:04:29.680
Viele Leute denken sich wahrscheinlich nichts dabei,

01:04:29.740 --> 01:04:30.160
wenn sie das tun,

01:04:30.240 --> 01:04:31.940
aber das ist halt auch schon brutal gefährlich.

01:04:32.800 --> 01:04:33.040
Äh,

01:04:33.120 --> 01:04:35.560
also ich mach immer Liste und None gleich None.

01:04:35.840 --> 01:04:35.980
Ja,

01:04:36.080 --> 01:04:36.300
aber,

01:04:36.440 --> 01:04:36.840
aber dann,

01:04:37.020 --> 01:04:37.580
das ist das Pattern,

01:04:37.640 --> 01:04:38.660
das muss man sich einfach merken.

01:04:38.660 --> 01:04:38.920
Ja.

01:04:39.100 --> 01:04:39.880
Ein doofes Pattern,

01:04:39.940 --> 01:04:41.100
aber man muss es sich einfach merken.

01:04:41.220 --> 01:04:41.380
Aber,

01:04:41.440 --> 01:04:42.300
aber das ist ja auch,

01:04:42.460 --> 01:04:42.960
äh,

01:04:42.960 --> 01:04:43.820
nicht so schön,

01:04:43.960 --> 01:04:46.260
weil einmal ist dann deine Typ-Annotation halt

01:04:46.260 --> 01:04:46.900
so ein bisschen,

01:04:46.900 --> 01:04:47.260
äh,

01:04:47.360 --> 01:04:48.740
also einmal ist sie halt hässlich,

01:04:48.980 --> 01:04:49.780
würde ich jetzt mal so sagen,

01:04:50.120 --> 01:04:50.520
mit diesem

01:04:50.520 --> 01:04:52.020
Pipe None,

01:04:52.240 --> 01:04:52.960
das ist halt schon so,

01:04:53.020 --> 01:04:53.220
uh,

01:04:53.780 --> 01:04:54.000
ja.

01:04:54.000 --> 01:04:54.480
Es gibt doch,

01:04:54.480 --> 01:04:55.380
es gibt doch diesen schönen,

01:04:55.400 --> 01:04:55.640
ähm,

01:04:55.660 --> 01:04:56.940
Unknown-Type-Tint.

01:04:57.100 --> 01:04:57.200
Ja,

01:04:57.200 --> 01:04:57.700
das ist auch optional,

01:04:57.820 --> 01:04:58.360
dem ist auch hässlich,

01:04:58.480 --> 01:04:58.700
aber,

01:04:58.900 --> 01:04:59.300
äh,

01:04:59.300 --> 01:05:00.880
unknown gibt's da noch dazu?

01:05:01.280 --> 01:05:01.540
Ja,

01:05:01.660 --> 01:05:02.140
aber unknown,

01:05:02.300 --> 01:05:02.540
uh,

01:05:02.680 --> 01:05:03.160
da ist ja schon,

01:05:03.280 --> 01:05:03.400
wer,

01:05:03.400 --> 01:05:03.920
wer kennt denn das?

01:05:03.960 --> 01:05:04.140
Annie.

01:05:04.780 --> 01:05:05.100
Ja,

01:05:05.180 --> 01:05:05.500
uh,

01:05:05.680 --> 01:05:07.200
oder Annie.

01:05:07.560 --> 01:05:07.660
Ja,

01:05:07.740 --> 01:05:07.960
vielleicht,

01:05:07.960 --> 01:05:09.100
ich hab noch einen dritten Type-Tint,

01:05:09.140 --> 01:05:10.200
der dann so ein bisschen spezieller war,

01:05:10.280 --> 01:05:10.960
dass das klar ist,

01:05:11.000 --> 01:05:11.600
dass das irgendwann

01:05:11.600 --> 01:05:12.360
nicht bestellen könnte.

01:05:13.160 --> 01:05:13.300
Also,

01:05:16.900 --> 01:05:17.080
das,

01:05:17.200 --> 01:05:17.380
aber,

01:05:17.540 --> 01:05:18.040
also ich find auch,

01:05:18.140 --> 01:05:18.500
ich find auch,

01:05:18.560 --> 01:05:19.540
das funktioniert nicht richtig.

01:05:19.620 --> 01:05:20.520
Wenn man jetzt den,

01:05:20.520 --> 01:05:22.040
den statischen Type-Checker sagt,

01:05:22.240 --> 01:05:23.440
das kann jetzt auch None sein,

01:05:23.780 --> 01:05:25.340
dann hat man damit so einen riesen,

01:05:25.440 --> 01:05:26.300
dann hat man sich einen,

01:05:26.300 --> 01:05:27.660
einen riesen Haufen Würmer.

01:05:27.780 --> 01:05:28.640
dann sagt der immer dann,

01:05:28.860 --> 01:05:29.100
äh,

01:05:29.100 --> 01:05:30.540
tatsächlich irgendwann im Code sagt der immer,

01:05:30.580 --> 01:05:30.800
hey,

01:05:31.180 --> 01:05:32.600
du hast ja nicht auf None geprüft,

01:05:32.640 --> 01:05:34.060
und dann lintet der das alles,

01:05:34.140 --> 01:05:36.060
weil du musst vorher mal so ein Assert-as-not-None machen.

01:05:36.120 --> 01:05:36.220
Ja,

01:05:36.280 --> 01:05:36.480
oder,

01:05:36.480 --> 01:05:37.320
oder noch schlimmer,

01:05:37.420 --> 01:05:38.660
also wenn's dann halt nur nervt,

01:05:38.720 --> 01:05:38.980
ist ja,

01:05:39.060 --> 01:05:39.400
ist ja noch,

01:05:39.600 --> 01:05:40.580
was noch schlimmer ist,

01:05:40.580 --> 01:05:41.000
ist halt,

01:05:41.280 --> 01:05:43.260
das Bugs dann halt irgendwie unerkannt,

01:05:43.720 --> 01:05:44.060
dass halt,

01:05:44.060 --> 01:05:45.020
du kannst plötzlich,

01:05:45.580 --> 01:05:46.000
äh,

01:05:46.080 --> 01:05:47.700
Illegal-State repräsentieren,

01:05:47.760 --> 01:05:48.460
und normalerweise sagt man immer so,

01:05:48.500 --> 01:05:48.600
ja,

01:05:48.660 --> 01:05:49.160
also,

01:05:49.600 --> 01:05:49.780
äh,

01:05:49.880 --> 01:05:51.980
make Illegal-State unrepresentable,

01:05:52.080 --> 01:05:52.140
ja,

01:05:52.180 --> 01:05:53.360
das sollte gar nicht passieren dürfen,

01:05:53.460 --> 01:05:54.380
da sollte der Type-Checker,

01:05:54.420 --> 01:05:55.080
sollte dir sagen so,

01:05:55.140 --> 01:05:55.240
nee,

01:05:55.280 --> 01:05:56.220
das darf nicht None sein,

01:05:56.720 --> 01:05:58.820
und du hast dieses None ja nur benutzt,

01:05:58.880 --> 01:06:00.180
damit du's initialisieren konntest,

01:06:00.300 --> 01:06:00.700
das ist ja,

01:06:00.760 --> 01:06:01.280
hat ja gar nicht,

01:06:01.560 --> 01:06:04.380
wenn in deiner Logik nicht None vorkommen darf,

01:06:04.760 --> 01:06:07.280
was ja dann oft bei diesen Initialisierungsgeschichten gar nicht so ist,

01:06:07.720 --> 01:06:09.300
dann darf das da nicht drinstehen,

01:06:09.740 --> 01:06:10.100
und,

01:06:10.160 --> 01:06:10.300
äh,

01:06:10.300 --> 01:06:11.920
wenn du's trotzdem möglich machst,

01:06:11.960 --> 01:06:12.480
dass es drinsteht,

01:06:12.480 --> 01:06:13.480
dann machst du halt ne Büchse,

01:06:14.060 --> 01:06:14.180
äh,

01:06:14.440 --> 01:06:15.280
Backwürmer auf,

01:06:15.760 --> 01:06:15.940
äh,

01:06:15.980 --> 01:06:17.080
die dich irgendwann beißen werden,

01:06:17.220 --> 01:06:17.400
und,

01:06:17.500 --> 01:06:17.680
äh,

01:06:17.760 --> 01:06:18.720
die Frage ist halt nur,

01:06:19.480 --> 01:06:20.080
äh,

01:06:20.360 --> 01:06:21.180
warum ist das,

01:06:21.240 --> 01:06:21.360
oder,

01:06:21.920 --> 01:06:22.560
und was machst du?

01:06:22.800 --> 01:06:23.200
Umgekehrt,

01:06:23.240 --> 01:06:23.380
ja,

01:06:23.600 --> 01:06:24.080
umgekehrt,

01:06:24.120 --> 01:06:24.240
du,

01:06:24.480 --> 01:06:24.980
äh,

01:06:25.460 --> 01:06:26.260
machst wie in Java,

01:06:26.380 --> 01:06:27.560
wo jeder Typ optional ist,

01:06:27.700 --> 01:06:28.760
und hast dann auf einmal an,

01:06:29.040 --> 01:06:30.200
in jeder Scheißfunktion,

01:06:30.300 --> 01:06:30.860
in die du reingehst,

01:06:30.920 --> 01:06:32.840
musst du acht Variablen auf Null überprüfen.

01:06:32.940 --> 01:06:33.120
Ja,

01:06:33.240 --> 01:06:33.820
das ist natürlich auch,

01:06:33.900 --> 01:06:34.020
genau,

01:06:34.100 --> 01:06:34.620
das ist auch hässlich,

01:06:34.700 --> 01:06:35.000
also insofern,

01:06:35.000 --> 01:06:35.480
genauso schlecht,

01:06:35.820 --> 01:06:35.960
nee,

01:06:35.960 --> 01:06:36.260
also,

01:06:36.480 --> 01:06:37.300
ich würde sagen,

01:06:37.460 --> 01:06:38.740
aus der Perspektive betrachtet,

01:06:38.920 --> 01:06:40.100
musst du eigentlich sagen,

01:06:40.180 --> 01:06:40.260
nee,

01:06:44.060 --> 01:06:45.060
die man so hat,

01:06:45.800 --> 01:06:46.640
die sind nicht optional,

01:06:47.060 --> 01:06:47.560
optional,

01:06:47.580 --> 01:06:48.100
also du würdest sagen,

01:06:48.180 --> 01:06:48.880
das ist eine leere Liste,

01:06:48.980 --> 01:06:50.240
und wenn da eine leere Liste reinkommt,

01:06:50.520 --> 01:06:51.720
musst du es neu initialisieren.

01:06:51.740 --> 01:06:52.140
Das kannst du,

01:06:52.240 --> 01:06:52.480
das kann,

01:06:52.520 --> 01:06:52.740
ja,

01:06:52.940 --> 01:06:53.700
ja,

01:06:53.800 --> 01:06:54.820
das war da auch wieder verwirrend,

01:06:55.520 --> 01:06:57.340
wie,

01:06:57.400 --> 01:06:58.220
kannst du ja auch nicht gut machen,

01:06:58.680 --> 01:06:58.800
nee,

01:06:58.860 --> 01:06:58.960
was,

01:06:59.020 --> 01:06:59.960
was ich an der Stelle mache,

01:07:00.080 --> 01:07:00.180
ist,

01:07:00.280 --> 01:07:00.940
ich nehme ein,

01:07:01.120 --> 01:07:01.280
äh,

01:07:01.280 --> 01:07:01.720
das ist ein Trick von,

01:07:01.720 --> 01:07:02.280
eine Sentinel,

01:07:02.560 --> 01:07:03.040
eine Sentinel,

01:07:03.160 --> 01:07:03.460
ja,

01:07:03.680 --> 01:07:03.840
genau,

01:07:04.020 --> 01:07:04.520
von Luke,

01:07:04.520 --> 01:07:05.220
Luke Plant,

01:07:05.640 --> 01:07:05.940
da hat das,

01:07:06.060 --> 01:07:06.760
da habe ich das her,

01:07:06.960 --> 01:07:07.120
ja,

01:07:07.760 --> 01:07:08.060
äh,

01:07:08.140 --> 01:07:11.320
und zwar definiere ich mir einen Typ namens Auto,

01:07:12.200 --> 01:07:13.720
und der ist,

01:07:13.880 --> 01:07:14.040
äh,

01:07:14.060 --> 01:07:14.220
äh,

01:07:14.280 --> 01:07:15.160
definiert über eine Klasse,

01:07:15.340 --> 01:07:16.040
unterstrich Auto,

01:07:16.600 --> 01:07:17.740
und das Ding,

01:07:17.900 --> 01:07:18.860
es macht nichts,

01:07:19.000 --> 01:07:19.400
außer,

01:07:19.800 --> 01:07:20.500
dass es nach,

01:07:21.000 --> 01:07:22.080
äh,

01:07:22.740 --> 01:07:23.880
Falls evaluiert,

01:07:24.420 --> 01:07:25.240
und,

01:07:25.640 --> 01:07:26.180
ähm,

01:07:27.000 --> 01:07:27.140
äh,

01:07:27.200 --> 01:07:27.300
in,

01:07:27.300 --> 01:07:27.500
in,

01:07:27.500 --> 01:07:28.140
in Boolean-Kontext,

01:07:28.420 --> 01:07:29.140
in Kindern dann,

01:07:29.820 --> 01:07:30.100
Auto,

01:07:30.160 --> 01:07:30.360
Auto,

01:07:30.420 --> 01:07:30.620
Auto,

01:07:30.620 --> 01:07:30.880
Auto,

01:07:30.880 --> 01:07:31.100
Auto,

01:07:31.100 --> 01:07:31.340
Auto,

01:07:31.340 --> 01:07:31.780
und,

01:07:31.780 --> 01:07:32.720
und den Typ Any hat,

01:07:33.180 --> 01:07:34.060
und dann musst du nicht,

01:07:34.460 --> 01:07:35.540
oder irgendwas sagen,

01:07:35.680 --> 01:07:37.060
sondern Any geht halt überall durch,

01:07:37.220 --> 01:07:37.540
das heißt,

01:07:37.620 --> 01:07:38.460
wenn du mal eine Auto hinschreibst,

01:07:38.520 --> 01:07:40.480
dann kann man die Typ-Annotation richtig lassen,

01:07:41.000 --> 01:07:42.320
und Auto geht halt trotzdem durch.

01:07:43.340 --> 01:07:43.960
Aber Any,

01:07:44.060 --> 01:07:44.820
geht überall durch,

01:07:44.960 --> 01:07:45.880
das ist doch falsch.

01:07:46.460 --> 01:07:46.580
Ne,

01:07:46.620 --> 01:07:46.880
das ist,

01:07:47.000 --> 01:07:47.840
aber das ist so.

01:07:49.300 --> 01:07:49.500
Also,

01:07:49.700 --> 01:07:49.760
dass,

01:07:49.760 --> 01:07:51.280
dass das Auto Any hat,

01:07:52.840 --> 01:07:53.400
ist,

01:07:53.400 --> 01:07:53.620
ist,

01:07:53.620 --> 01:07:53.900
ist,

01:07:53.900 --> 01:07:54.400
ist egal,

01:07:54.480 --> 01:07:56.160
welche Typ-Annotation du vorderan geschrieben hast,

01:07:56.400 --> 01:07:56.940
ist es richtig.

01:07:57.040 --> 01:07:58.280
Das ist übrigens Pep 696,

01:07:58.520 --> 01:07:58.620
oder?

01:07:58.620 --> 01:07:58.860
Und,

01:07:59.480 --> 01:07:59.660
oh,

01:07:59.700 --> 01:08:00.240
das weiß ich nicht,

01:08:00.380 --> 01:08:01.260
ich kenne die nicht auswendig,

01:08:01.360 --> 01:08:01.560
aber,

01:08:01.780 --> 01:08:02.020
äh,

01:08:02.720 --> 01:08:02.920
Wie,

01:08:03.000 --> 01:08:04.040
du kennst nicht alle Peps auswendig?

01:08:04.040 --> 01:08:04.200
Ja,

01:08:04.400 --> 01:08:05.980
Entschuldigung.

01:08:06.080 --> 01:08:06.840
Schwer enttäuscht.

01:08:07.700 --> 01:08:07.900
Äh,

01:08:07.960 --> 01:08:08.220
und dann,

01:08:08.280 --> 01:08:09.040
und dann kannst du halt im,

01:08:09.140 --> 01:08:09.920
in der,

01:08:10.060 --> 01:08:11.720
in dem Konstrukte zum Beispiel dann halt sagen,

01:08:12.040 --> 01:08:13.320
if das Ding,

01:08:13.320 --> 01:08:13.580
oder,

01:08:13.580 --> 01:08:15.180
if not das Ding,

01:08:15.480 --> 01:08:15.720
dann,

01:08:15.900 --> 01:08:16.160
äh,

01:08:16.240 --> 01:08:16.520
machst du,

01:08:16.580 --> 01:08:17.800
das kannst du ja mit none auch nicht machen,

01:08:17.880 --> 01:08:19.240
weil none musst du dann korrekterweise immer sagen,

01:08:19.580 --> 01:08:20.480
if das da ist,

01:08:20.700 --> 01:08:21.060
äh,

01:08:21.160 --> 01:08:21.620
ist none,

01:08:21.960 --> 01:08:22.760
dann setzt es neu.

01:08:23.500 --> 01:08:23.820
Äh,

01:08:23.900 --> 01:08:24.320
und,

01:08:24.440 --> 01:08:24.640
äh,

01:08:24.700 --> 01:08:24.920
ja,

01:08:25.140 --> 01:08:25.520
also.

01:08:25.860 --> 01:08:25.960
Ja,

01:08:26.000 --> 01:08:26.140
okay,

01:08:26.220 --> 01:08:27.560
aber wie würdest du das mit dem Auto machen?

01:08:27.640 --> 01:08:28.460
Das habe ich jetzt nicht verstanden.

01:08:28.600 --> 01:08:29.180
Da das,

01:08:29.360 --> 01:08:29.500
äh,

01:08:29.500 --> 01:08:30.500
eine eigene Klasse Auto.

01:08:30.720 --> 01:08:31.400
Es ist halt Auto.

01:08:32.240 --> 01:08:32.420
Ja.

01:08:32.600 --> 01:08:32.880
Äh,

01:08:33.000 --> 01:08:33.480
und,

01:08:33.640 --> 01:08:34.940
also das importiere ich dann irgendwo her,

01:08:35.400 --> 01:08:35.640
und,

01:08:35.640 --> 01:08:37.240
also der Default-Wert ist Auto,

01:08:37.360 --> 01:08:38.340
die Annotation ist so,

01:08:38.420 --> 01:08:39.240
wie sie halt sein soll,

01:08:39.340 --> 01:08:39.840
also zum Beispiel.

01:08:39.980 --> 01:08:40.000
okay,

01:08:40.000 --> 01:08:40.240
okay,

01:08:40.320 --> 01:08:40.600
und dann?

01:08:40.760 --> 01:08:41.540
Und dann sage ich,

01:08:41.660 --> 01:08:42.680
if das Ding,

01:08:42.960 --> 01:08:43.100
äh,

01:08:43.100 --> 01:08:43.820
if not das Ding,

01:08:44.600 --> 01:08:44.780
ja,

01:08:44.860 --> 01:08:44.920
okay.

01:08:44.920 --> 01:08:45.580
Dann setzt es neu.

01:08:46.140 --> 01:08:46.340
Okay,

01:08:46.400 --> 01:08:48.100
aber wenn jemand eine leere Liste reingeben würde,

01:08:48.160 --> 01:08:49.140
würde es dann auch neu sein.

01:08:49.180 --> 01:08:49.320
Also,

01:08:49.480 --> 01:08:51.020
der Unterschied ist tatsächlich,

01:08:51.520 --> 01:08:51.660
äh,

01:08:51.660 --> 01:08:52.000
nur,

01:08:52.240 --> 01:08:53.160
dass er halt none,

01:08:53.340 --> 01:08:54.920
äh,

01:08:55.300 --> 01:08:55.480
aber,

01:08:55.720 --> 01:08:55.920
aber,

01:08:55.920 --> 01:08:56.920
aber dann würde ja,

01:08:57.040 --> 01:08:57.320
wenn das,

01:08:57.400 --> 01:08:58.880
wenn das halt nicht okay wäre,

01:08:58.960 --> 01:09:00.280
dann würde ja der Type-Checker nicht mehr kommen.

01:09:01.160 --> 01:09:01.380
Also,

01:09:01.820 --> 01:09:01.960
nee,

01:09:02.060 --> 01:09:02.140
aber,

01:09:02.260 --> 01:09:03.460
du hast jetzt gerade,

01:09:03.740 --> 01:09:03.860
nee,

01:09:03.880 --> 01:09:04.680
du hast einen semantischen,

01:09:04.740 --> 01:09:06.560
einen semantischen Unterschied eingeführt.

01:09:07.140 --> 01:09:07.280
Ja,

01:09:07.700 --> 01:09:08.000
if not,

01:09:08.300 --> 01:09:08.920
schreibst halt nicht,

01:09:09.000 --> 01:09:09.640
if not foo,

01:09:10.120 --> 01:09:10.340
äh,

01:09:10.420 --> 01:09:10.560
dann,

01:09:10.680 --> 01:09:10.760
also,

01:09:10.860 --> 01:09:10.980
ne,

01:09:11.020 --> 01:09:11.960
du schreibst if not foo,

01:09:12.340 --> 01:09:13.440
dann foo neu setzen,

01:09:13.560 --> 01:09:13.700
oder,

01:09:13.840 --> 01:09:13.920
ne,

01:09:13.960 --> 01:09:15.380
weil das halt Auto ist immer forward,

01:09:15.740 --> 01:09:16.100
sagst nicht,

01:09:16.240 --> 01:09:16.840
foo ist none,

01:09:16.940 --> 01:09:18.400
weil du sparst dir halt einfach das none,

01:09:18.520 --> 01:09:18.680
sondern,

01:09:18.680 --> 01:09:18.900
genau,

01:09:19.020 --> 01:09:19.720
ich spare mir das none,

01:09:20.220 --> 01:09:20.500
und ich,

01:09:20.500 --> 01:09:20.780
äh,

01:09:20.860 --> 01:09:21.900
ich spare mir die is-Geschichte,

01:09:22.200 --> 01:09:22.600
und,

01:09:22.720 --> 01:09:23.080
äh,

01:09:23.240 --> 01:09:23.960
ich mache es halt so,

01:09:24.020 --> 01:09:24.960
wie es Leute mit none machen,

01:09:25.060 --> 01:09:25.160
aber,

01:09:25.300 --> 01:09:25.520
wobei die is-Geschichte,

01:09:25.520 --> 01:09:26.320
du könntest das ja,

01:09:26.700 --> 01:09:27.460
du könntest ja immer noch,

01:09:27.460 --> 01:09:28.060
ist,

01:09:28.060 --> 01:09:28.840
ist Auto machen.

01:09:28.960 --> 01:09:29.640
Das könnte ich auch machen,

01:09:29.640 --> 01:09:29.960
ja.

01:09:30.060 --> 01:09:31.340
Ich würde tatsächlich sogar sagen,

01:09:31.420 --> 01:09:32.420
du musst es machen,

01:09:32.540 --> 01:09:32.800
weil,

01:09:32.800 --> 01:09:35.080
nehmen wir mal an,

01:09:35.180 --> 01:09:36.680
ich rufe diese Funktion,

01:09:36.740 --> 01:09:37.740
die du mir gerade eben gesagt hast,

01:09:37.800 --> 01:09:38.640
oder diesen Konstruktor,

01:09:38.740 --> 01:09:39.980
rufe ich auf mit nem,

01:09:40.220 --> 01:09:41.440
mit dem Parameter,

01:09:41.800 --> 01:09:43.940
und der Parameter ist ne leere Liste.

01:09:44.500 --> 01:09:44.700
Mhm.

01:09:45.320 --> 01:09:46.900
Und ich behalte die aber außen vor,

01:09:46.960 --> 01:09:48.140
und benutze die an einer anderen Stelle nochmal.

01:09:48.280 --> 01:09:48.480
Das heißt,

01:09:48.540 --> 01:09:48.720
ja,

01:09:48.940 --> 01:09:49.920
ich pende da Sachen rein,

01:09:49.920 --> 01:09:50.060
ja,

01:09:50.060 --> 01:09:50.740
das hast du jetzt,

01:09:51.060 --> 01:09:52.500
genau den Use Case,

01:09:52.620 --> 01:09:52.760
ja,

01:09:53.020 --> 01:09:54.520
den Python so gefährlich macht,

01:09:54.580 --> 01:09:55.720
den hast du jetzt kaputt gemacht.

01:09:57.240 --> 01:09:57.500
Und jetzt,

01:09:57.500 --> 01:09:57.720
ja,

01:09:57.980 --> 01:09:58.760
überlassen wir jetzt,

01:09:58.840 --> 01:09:59.000
wir,

01:09:59.000 --> 01:10:00.020
wir starten jetzt ne Umfrage,

01:10:00.260 --> 01:10:01.220
schreiben sie uns an

01:10:01.220 --> 01:10:02.780
hallo at python-podcast.de,

01:10:02.800 --> 01:10:04.680
ob das gut oder schlecht ist.

01:10:04.780 --> 01:10:05.100
Schlecht.

01:10:06.640 --> 01:10:06.860
Hä?

01:10:07.040 --> 01:10:07.200
Ja,

01:10:07.460 --> 01:10:07.700
genau,

01:10:07.840 --> 01:10:08.120
also ich war,

01:10:08.380 --> 01:10:09.800
ich bin auch noch nicht endgültig zufrieden,

01:10:09.860 --> 01:10:10.300
ich will nur sagen,

01:10:10.420 --> 01:10:10.520
also,

01:10:10.740 --> 01:10:11.780
damit die Hörer das sagen.

01:10:11.860 --> 01:10:11.940
Okay,

01:10:12.480 --> 01:10:12.720
aber,

01:10:12.880 --> 01:10:13.300
also ich will,

01:10:13.400 --> 01:10:14.580
ich mach es halt jetzt gerade so,

01:10:14.900 --> 01:10:16.320
ich leide dann auch mal ein bisschen drunter,

01:10:16.440 --> 01:10:17.380
dass zum Beispiel LLMs,

01:10:17.680 --> 01:10:18.860
die halt das gewohnt sind,

01:10:18.900 --> 01:10:20.880
dass Leute da nan oder nan schreiben,

01:10:21.260 --> 01:10:22.540
denn die sind immer total verwirrt,

01:10:22.620 --> 01:10:22.740
so,

01:10:22.780 --> 01:10:23.680
was will der denn da jetzt,

01:10:23.700 --> 01:10:24.420
und dann sagt der mir schon wieder,

01:10:24.480 --> 01:10:25.420
ich soll dieses Auto verwenden,

01:10:25.880 --> 01:10:26.360
hä,

01:10:26.580 --> 01:10:27.360
ich verstehe nur Bahnhof,

01:10:28.200 --> 01:10:28.460
äh,

01:10:28.980 --> 01:10:30.680
machen sie irgendwie komische Sachen,

01:10:30.940 --> 01:10:31.180
und ja,

01:10:31.380 --> 01:10:31.860
gut,

01:10:31.860 --> 01:10:34.700
ich schreibe das dann auch immer in die entsprechenden Rules mit rein,

01:10:34.820 --> 01:10:36.200
aber es hilft ja auch nur so begrenzt,

01:10:36.300 --> 01:10:36.560
äh,

01:10:37.220 --> 01:10:37.800
es ist ein Kreuz,

01:10:37.860 --> 01:10:38.260
ich weiß auch nicht.

01:10:38.360 --> 01:10:39.860
Der Code ist einfach zu wenig standardkonform,

01:10:40.580 --> 01:10:41.860
der ist zu wenig gewöhnlich.

01:10:42.360 --> 01:10:43.300
Kann man den ja noch lesen,

01:10:43.540 --> 01:10:44.340
wenn er über ein Auto steht,

01:10:44.420 --> 01:10:44.680
weiß der jeder,

01:10:44.780 --> 01:10:45.320
was gemeint ist?

01:10:45.720 --> 01:10:46.040
Nee,

01:10:46.280 --> 01:10:48.080
das wissen Leute dann halt dummerweise auch nicht,

01:10:48.120 --> 01:10:49.240
das wäre auch schon passiert.

01:10:49.360 --> 01:10:50.740
Wenn er das in LLM schon nicht weiß.

01:10:50.980 --> 01:10:51.240
Ja,

01:10:51.580 --> 01:10:52.180
genau,

01:10:52.300 --> 01:10:53.060
LLMs wissen das nicht.

01:10:53.060 --> 01:10:53.800
Kontrollklick drauf,

01:10:54.200 --> 01:10:54.600
und dann,

01:10:54.920 --> 01:10:55.140
ja.

01:10:56.020 --> 01:10:56.360
Okay,

01:10:56.520 --> 01:10:56.680
aber,

01:10:56.800 --> 01:10:57.080
äh,

01:10:57.400 --> 01:10:59.360
das Kapitel macht ja jetzt noch eine zweite Abbiegung,

01:10:59.360 --> 01:11:00.580
der Dominik hat es ja schon erwähnt,

01:11:00.580 --> 01:11:03.360
und zwar Richtung Pattern Matching Class Instances.

01:11:04.440 --> 01:11:07.300
Auf einmal kommt hier in dem Kapitel noch Pattern Matching.

01:11:07.860 --> 01:11:08.340
Hooray.

01:11:09.540 --> 01:11:09.900
Was?

01:11:10.560 --> 01:11:11.040
Ist doch schön,

01:11:11.160 --> 01:11:11.540
der Matching,

01:11:11.660 --> 01:11:11.760
oder?

01:11:11.920 --> 01:11:13.760
Das ist der zweite Twist in the end.

01:11:14.500 --> 01:11:14.700
Ja.

01:11:16.060 --> 01:11:17.360
Da war ich ja,

01:11:17.400 --> 01:11:19.840
überhaupt gar nicht drauf vorbereitet.

01:11:20.240 --> 01:11:20.580
Dominik,

01:11:20.660 --> 01:11:21.820
warum magst du Pattern Matching?

01:11:21.900 --> 01:11:22.340
Erklär mal.

01:11:22.660 --> 01:11:22.980
Ähm,

01:11:23.120 --> 01:11:25.360
weil ich damit relativ verschiedene,

01:11:26.140 --> 01:11:26.240
na,

01:11:26.880 --> 01:11:27.660
das ist erst blöd,

01:11:27.720 --> 01:11:28.720
weil das mag man eigentlich nicht.

01:11:28.720 --> 01:11:30.480
Also ich kann verschiedene Objekte entgegennehmen,

01:11:30.580 --> 01:11:30.840
und die,

01:11:30.920 --> 01:11:31.080
äh,

01:11:31.100 --> 01:11:31.440
checken,

01:11:31.780 --> 01:11:32.260
und dann gucken,

01:11:32.480 --> 01:11:33.000
Und wie geht das?

01:11:33.100 --> 01:11:33.440
Erklär mal,

01:11:33.480 --> 01:11:33.840
wie das geht.

01:11:34.300 --> 01:11:35.940
Du machst dein Match und dein Case auf,

01:11:36.700 --> 01:11:37.880
matchst dann deine Variable,

01:11:37.920 --> 01:11:38.300
die du hast,

01:11:38.460 --> 01:11:39.540
und gibst dann verschiedene Cases.

01:11:39.740 --> 01:11:40.440
Also du hättest gerne,

01:11:41.120 --> 01:11:41.340
ähm,

01:11:41.380 --> 01:11:42.020
irgendwas ist,

01:11:42.240 --> 01:11:42.520
äh,

01:11:43.560 --> 01:11:44.400
schwieriges Beispiel,

01:11:44.940 --> 01:11:45.520
so eine Koordinate.

01:11:46.100 --> 01:11:46.840
Dann gibst du rein,

01:11:46.940 --> 01:11:48.240
dass das eine Koordinate sein könnte,

01:11:48.320 --> 01:11:50.280
und dann hat der tatsächlich den Pfad,

01:11:50.360 --> 01:11:50.460
okay,

01:11:50.540 --> 01:11:50.980
hier ist eine Koordinate.

01:11:51.420 --> 01:11:52.620
Und wenn du danach zum Beispiel sagst,

01:11:52.660 --> 01:11:54.400
es ist eine Straßenadresse,

01:11:55.280 --> 01:11:56.300
dann guckt der,

01:11:56.400 --> 01:11:56.520
okay,

01:11:56.520 --> 01:11:56.980
hier ist eine Straßenadresse,

01:11:57.040 --> 01:11:57.460
passt da rein,

01:11:57.600 --> 01:11:58.060
und gehst weiter.

01:11:58.180 --> 01:12:00.480
Und du kannst da bestimmte Attribute omitten,

01:12:00.580 --> 01:12:01.600
indem du die einfach auf,

01:12:01.620 --> 01:12:01.820
äh,

01:12:01.820 --> 01:12:03.020
dann setzt,

01:12:03.440 --> 01:12:04.760
weil das verständlich ausgerichtet ist.

01:12:05.620 --> 01:12:07.620
Und kannst damit relativ schön Cases abfangen,

01:12:07.900 --> 01:12:09.700
und hast dann irgendwann einen Standardcase.

01:12:09.780 --> 01:12:10.460
Also so ein bisschen so,

01:12:10.500 --> 01:12:10.620
if,

01:12:10.700 --> 01:12:10.860
äh,

01:12:10.900 --> 01:12:11.160
then,

01:12:11.740 --> 01:12:11.940
ne,

01:12:12.060 --> 01:12:12.320
if,

01:12:12.480 --> 01:12:12.860
edif,

01:12:13.000 --> 01:12:13.400
edif,

01:12:13.520 --> 01:12:13.980
edif,

01:12:14.500 --> 01:12:14.760
in,

01:12:15.100 --> 01:12:16.180
gut lesbar finde ich.

01:12:16.460 --> 01:12:17.220
Also ich mag das sehr gerne.

01:12:18.340 --> 01:12:18.520
Ja.

01:12:18.900 --> 01:12:20.080
Du kannst auch Types machen,

01:12:20.300 --> 01:12:21.940
und kannst Guards machen,

01:12:22.240 --> 01:12:22.780
und sowas.

01:12:23.300 --> 01:12:23.440
Ja,

01:12:23.440 --> 01:12:24.540
man kann ja sehr viele Sachen machen.

01:12:24.680 --> 01:12:24.700
Ja.

01:12:24.920 --> 01:12:26.980
Das verdient fast eine eigene Episode.

01:12:27.060 --> 01:12:27.080
Ja.

01:12:27.080 --> 01:12:28.600
Da muss man eine eigene Episode zu machen,

01:12:28.640 --> 01:12:29.280
haben wir auch noch nicht gemacht,

01:12:29.360 --> 01:12:30.300
haben wir auch schon häufiger geplant,

01:12:30.400 --> 01:12:30.560
aber ja.

01:12:30.580 --> 01:12:30.660
Ja,

01:12:31.060 --> 01:12:31.280
genau,

01:12:31.340 --> 01:12:32.020
das müssen wir mal machen.

01:12:32.280 --> 01:12:32.860
Man kann auch da,

01:12:33.120 --> 01:12:33.440
ich finde,

01:12:33.680 --> 01:12:33.880
ja,

01:12:34.080 --> 01:12:35.180
also es ist super mächtig,

01:12:35.260 --> 01:12:36.680
ich brauche es ehrlich gesagt nicht so oft.

01:12:37.060 --> 01:12:37.220
Ja,

01:12:37.420 --> 01:12:37.700
das ist,

01:12:37.920 --> 01:12:38.000
äh,

01:12:38.540 --> 01:12:39.800
ich bin ein großer Fan davon,

01:12:39.980 --> 01:12:41.080
ich finde es großartig,

01:12:41.160 --> 01:12:42.840
das ist eines der besten Language Features,

01:12:42.940 --> 01:12:43.320
was es gibt,

01:12:43.400 --> 01:12:44.360
aber ich habe es noch nie verwendet.

01:12:46.420 --> 01:12:46.740
Ja.

01:12:46.840 --> 01:12:47.320
Ganz komisch.

01:12:48.260 --> 01:12:48.660
Ähm,

01:12:48.900 --> 01:12:49.300
also ich meine,

01:12:49.560 --> 01:12:50.100
ich glaube,

01:12:50.140 --> 01:12:51.500
das ist halt auch für Leute,

01:12:51.620 --> 01:12:54.380
die jetzt oft Parser für irgendwelche Sachen schreiben,

01:12:54.480 --> 01:12:54.920
oder so,

01:12:55.100 --> 01:12:55.260
ne,

01:12:56.100 --> 01:12:56.960
oder halt so,

01:12:57.040 --> 01:12:57.240
äh,

01:12:57.240 --> 01:12:59.000
Domain Specific Languages für irgendwas haben,

01:12:59.000 --> 01:12:59.640
also für die,

01:12:59.780 --> 01:13:00.000
die brauchen,

01:13:00.000 --> 01:13:00.560
die brauchen,

01:13:00.580 --> 01:13:01.200
die brauchen das wahrscheinlich oft,

01:13:02.000 --> 01:13:03.100
aber das macht man halt nicht so oft,

01:13:03.160 --> 01:13:03.360
also,

01:13:03.460 --> 01:13:04.340
ja.

01:13:04.420 --> 01:13:04.720
Also ich,

01:13:04.880 --> 01:13:07.340
also das erste Mal habe ich Pattern Matching gesehen,

01:13:08.080 --> 01:13:09.800
da war ich noch ein junger Mann,

01:13:10.220 --> 01:13:10.500
damals,

01:13:11.300 --> 01:13:12.200
und das war in Erlang.

01:13:12.700 --> 01:13:12.980
Ah,

01:13:13.080 --> 01:13:13.180
ja,

01:13:13.220 --> 01:13:13.340
ja,

01:13:13.340 --> 01:13:13.460
ja,

01:13:13.460 --> 01:13:13.620
gut,

01:13:13.800 --> 01:13:13.960
ja,

01:13:13.980 --> 01:13:14.160
okay.

01:13:14.440 --> 01:13:15.140
Und da ist es,

01:13:15.300 --> 01:13:16.740
da ist es ja ein Core Language Feature,

01:13:16.880 --> 01:13:16.920
ja,

01:13:16.920 --> 01:13:17.780
da ist es ja so ein,

01:13:18.020 --> 01:13:18.280
ja,

01:13:18.540 --> 01:13:18.700
hier,

01:13:18.780 --> 01:13:19.440
da hast du eine Funktion,

01:13:19.560 --> 01:13:20.060
und natürlich,

01:13:20.300 --> 01:13:20.780
das erste,

01:13:20.880 --> 01:13:21.520
was die Funktion macht,

01:13:21.600 --> 01:13:22.800
ist immer erst mal Pattern Matching.

01:13:23.100 --> 01:13:23.300
Mhm.

01:13:25.080 --> 01:13:26.340
Und die benutzen das für alles,

01:13:26.340 --> 01:13:26.520
ja,

01:13:26.580 --> 01:13:27.540
wenn du hier ein None reinkriegst,

01:13:27.620 --> 01:13:27.740
ja,

01:13:27.860 --> 01:13:28.000
klar,

01:13:28.000 --> 01:13:28.660
dann geht die Funktion,

01:13:28.900 --> 01:13:30.140
wenn das Pattern hier ein None ist,

01:13:30.220 --> 01:13:31.020
dann musst du erst mal hier,

01:13:31.100 --> 01:13:31.820
das ist ein Bassen jedes Mal.

01:13:33.620 --> 01:13:34.540
Und da ist es ja nicht,

01:13:34.600 --> 01:13:35.580
da geht es nicht so sehr um Pause,

01:13:35.720 --> 01:13:36.900
sondern da geht es ja schon irgendwie,

01:13:37.200 --> 01:13:39.320
auch um Schnittstellen und um Datenaustausch,

01:13:39.420 --> 01:13:43.080
und ich habe in meinem Kopf schon immer den Gedanken,

01:13:43.360 --> 01:13:43.860
dass man,

01:13:44.320 --> 01:13:45.500
wenn ich eine Schnittstelle schreibe,

01:13:46.160 --> 01:13:49.260
dass ich da irgendwie so ein Pattern Matching reinmachen könnte.

01:13:49.700 --> 01:13:49.840
Mhm.

01:13:50.420 --> 01:13:52.700
Also irgendwie hat es noch nie so richtig gut gepasst.

01:13:54.580 --> 01:13:54.940
Ja.

01:13:55.420 --> 01:13:56.000
Weiß auch nicht.

01:13:56.200 --> 01:13:56.700
Ich weiß,

01:13:56.800 --> 01:13:57.420
ich weiß auch nicht,

01:13:57.420 --> 01:13:57.980
ich weiß auch nicht,

01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:57.980


01:13:57.980 --> 01:13:59.740
kann man schon Exception Types gucken,

01:14:00.220 --> 01:14:00.340
oder,

01:14:00.560 --> 01:14:00.800
ja.

01:14:01.320 --> 01:14:01.580
Ja,

01:14:01.700 --> 01:14:03.120
aber die fange ich doch in dem Accept,

01:14:03.200 --> 01:14:04.620
in den Accept Blocks schon ab,

01:14:04.700 --> 01:14:05.940
die verschiedenen Exception Types.

01:14:06.120 --> 01:14:07.360
Da gibt es doch so einen Syntax für.

01:14:07.540 --> 01:14:09.720
Und für die verschiedenen Instanztypen,

01:14:10.300 --> 01:14:12.960
die muss ich eher irgendwie in Funktionen rein verzweigen.

01:14:13.380 --> 01:14:13.400
Und,

01:14:13.400 --> 01:14:13.860
ach,

01:14:13.900 --> 01:14:14.560
ich weiß irgendwie nicht,

01:14:14.780 --> 01:14:16.640
ich würde es gerne mehr benutzen.

01:14:16.720 --> 01:14:17.040
Ich weiß nicht,

01:14:17.100 --> 01:14:19.320
ob das ein Problem an mir ist,

01:14:19.380 --> 01:14:20.980
oder ob das ein Problem an...

01:14:21.800 --> 01:14:25.220
Also ein Problem war eine ganze Zeit lang auch,

01:14:25.340 --> 01:14:25.700
also jedenfalls,

01:14:25.780 --> 01:14:26.820
als das Feature total frisch war,

01:14:26.820 --> 01:14:27.820
für mich jedenfalls auch,

01:14:27.820 --> 01:14:28.500
dass ich mir gesagt habe,

01:14:28.920 --> 01:14:29.080
ach,

01:14:29.140 --> 01:14:30.620
ich muss ein bisschen vorsichtig sein,

01:14:30.720 --> 01:14:31.840
dass ich das jetzt nicht irgendwie,

01:14:31.880 --> 01:14:32.800
mich zu sehr darauf verlasse,

01:14:32.920 --> 01:14:33.480
dass es das gibt,

01:14:33.880 --> 01:14:35.180
weil es ist ja noch ganz neu,

01:14:35.360 --> 01:14:36.960
und viele verwenden halt noch ältere Python-Versionen.

01:14:36.980 --> 01:14:37.960
Und vermutlich super langsam.

01:14:38.960 --> 01:14:39.280
Ja,

01:14:39.720 --> 01:14:40.120
genau,

01:14:40.300 --> 01:14:40.460
aber,

01:14:40.680 --> 01:14:42.660
aber das ist ja jetzt inzwischen,

01:14:42.900 --> 01:14:43.420
ist ja so,

01:14:43.720 --> 01:14:46.040
3.10 ist jetzt schon die älteste Version,

01:14:46.140 --> 01:14:46.480
die man so,

01:14:46.560 --> 01:14:47.760
mit der man normalerweise zu tun hat.

01:14:48.420 --> 01:14:48.780
Nee,

01:14:49.020 --> 01:14:49.700
3.10,

01:14:49.840 --> 01:14:50.560
3.10,

01:14:50.560 --> 01:14:52.020
also 3.10 meinst du nicht?

01:14:52.080 --> 01:14:52.100
Ja,

01:14:52.100 --> 01:14:52.260
genau,

01:14:52.320 --> 01:14:53.140
und eine 3.10 ist es,

01:14:53.360 --> 01:14:53.540
genau,

01:14:53.620 --> 01:14:54.180
nicht 3.10,

01:14:54.260 --> 01:14:54.580
meinte ich nicht,

01:14:54.580 --> 01:14:54.740
nee,

01:14:54.840 --> 01:14:55.500
3.10,

01:14:55.600 --> 01:14:55.760
genau.

01:14:56.040 --> 01:14:56.180
Ja,

01:14:57.820 --> 01:14:59.580
und da ist es ja dazugekommen,

01:14:59.700 --> 01:15:00.800
also insofern würde ich sagen,

01:15:00.880 --> 01:15:01.340
jetzt ist sicher,

01:15:01.460 --> 01:15:02.820
dass man es eigentlich immer verwenden kann,

01:15:03.100 --> 01:15:03.520
insofern,

01:15:03.840 --> 01:15:04.060
ja,

01:15:05.000 --> 01:15:05.480
muss man mal gucken,

01:15:05.560 --> 01:15:06.900
ob es da nicht doch mehr Use Cases gibt,

01:15:07.000 --> 01:15:07.600
als man so denkt,

01:15:07.680 --> 01:15:08.360
aber es ist auch,

01:15:08.360 --> 01:15:09.820
auch fiese Syntax,

01:15:09.880 --> 01:15:11.680
also ich habe mir dazu auch schon ein paar Vorträge angeschaut,

01:15:12.460 --> 01:15:15.020
und man kann sich auch da wieder leicht in den Fuß schieben.

01:15:15.100 --> 01:15:15.300
Ja,

01:15:15.380 --> 01:15:16.540
was nicht so ganz intuitiv ist,

01:15:16.560 --> 01:15:18.100
dass wenn man so die Bild in Typen nimmt,

01:15:18.240 --> 01:15:18.280
ne,

01:15:18.340 --> 01:15:19.540
so man sagt irgendwie,

01:15:19.800 --> 01:15:20.340
match unknown,

01:15:20.520 --> 01:15:22.100
und dann machst du eine Case List,

01:15:22.760 --> 01:15:23.900
or Tuple,

01:15:24.400 --> 01:15:26.220
und wenn man die dann nicht instanziiert,

01:15:26.220 --> 01:15:27.140
mit den Klammern,

01:15:27.220 --> 01:15:27.560
dann,

01:15:27.560 --> 01:15:28.300
kacke,

01:15:28.380 --> 01:15:29.460
weil es always true ist,

01:15:29.520 --> 01:15:29.680
weil,

01:15:29.680 --> 01:15:30.380
ja,

01:15:30.500 --> 01:15:31.460
der Funktion guckt nicht,

01:15:31.540 --> 01:15:32.460
guckt auf so eine List,

01:15:32.520 --> 01:15:32.880
oder ein Tuple,

01:15:33.060 --> 01:15:33.100
das,

01:15:33.740 --> 01:15:34.020
genau,

01:15:34.820 --> 01:15:35.000
na,

01:15:35.460 --> 01:15:36.760
kann man sich auch mit den Fuß schießen,

01:15:36.820 --> 01:15:36.980
ja,

01:15:36.980 --> 01:15:37.820
ja,

01:15:37.960 --> 01:15:38.780
und das mit dem Default,

01:15:38.840 --> 01:15:39.960
Default Fall,

01:15:40.120 --> 01:15:41.220
auch immer irgendwie,

01:15:41.380 --> 01:15:42.300
wenn nichts anderes gefunden wird,

01:15:42.340 --> 01:15:43.340
ist auch irgendwie etwas,

01:15:43.380 --> 01:15:45.280
was halt in anderen Sprachen anders ist,

01:15:45.460 --> 01:15:45.540
und,

01:15:45.640 --> 01:15:46.500
ja,

01:15:46.520 --> 01:15:47.720
es gibt ja schon so ein paar Falschstricke,

01:15:47.880 --> 01:15:48.100
also,

01:15:49.320 --> 01:15:49.660
naja,

01:15:50.780 --> 01:15:52.460
oder dass man den am besten immer handeln sollte,

01:15:52.620 --> 01:15:52.820
genau,

01:15:53.420 --> 01:15:53.860
in Python,

01:15:53.980 --> 01:15:54.260
dass man,

01:15:54.520 --> 01:15:54.840
ja,

01:15:54.840 --> 01:15:56.180
aber das ist doch auch nervig,

01:15:56.500 --> 01:15:56.520
ja,

01:15:56.620 --> 01:15:56.720
gut,

01:15:56.780 --> 01:15:57.140
aber nicht,

01:15:57.220 --> 01:15:57.360
das,

01:15:57.360 --> 01:15:57.400
das,

01:15:57.400 --> 01:15:58.780
das ist klassische Programmierung,

01:15:58.860 --> 01:15:59.900
dass man immer das else,

01:16:00.340 --> 01:16:00.980
für alles,

01:16:01.080 --> 01:16:01.840
was man nicht erwartet,

01:16:01.940 --> 01:16:02.280
schreibt,

01:16:02.520 --> 01:16:02.720
na,

01:16:03.000 --> 01:16:05.480
wenn man das else weglassen kann,

01:16:05.560 --> 01:16:06.260
dann lässt man es weg,

01:16:07.500 --> 01:16:07.740
tja,

01:16:08.480 --> 01:16:09.040
ja,

01:16:09.060 --> 01:16:10.120
je mehr man weglassen kann,

01:16:10.340 --> 01:16:11.420
umso mehr kann man weglassen,

01:16:11.540 --> 01:16:12.100
ist dafür besser,

01:16:13.140 --> 01:16:13.280
ja,

01:16:13.800 --> 01:16:14.300
eigentlich schon,

01:16:14.900 --> 01:16:16.920
ja,

01:16:17.000 --> 01:16:17.380
und dann,

01:16:17.440 --> 01:16:17.680
äh,

01:16:17.680 --> 01:16:18.640
ist das Kapitel auch schon vorbei,

01:16:18.760 --> 01:16:19.740
dann kommt nur noch hier so ein bisschen,

01:16:20.140 --> 01:16:22.240
also else makes the universe explode,

01:16:22.760 --> 01:16:24.400
mhm,

01:16:24.740 --> 01:16:25.060
also immer,

01:16:25.120 --> 01:16:25.840
wenn der else Case einschickt,

01:16:25.900 --> 01:16:26.560
dann alles abreißen,

01:16:26.720 --> 01:16:27.200
alles vernichten,

01:16:27.200 --> 01:16:27.640
mhm,

01:16:27.780 --> 01:16:27.940
ne,

01:16:28.060 --> 01:16:28.240
gut,

01:16:28.620 --> 01:16:30.320
ist das,

01:16:30.320 --> 01:16:31.360
ist das der Quantumsort,

01:16:31.420 --> 01:16:31.520
ja,

01:16:32.160 --> 01:16:33.780
kennt ihr den,

01:16:33.780 --> 01:16:35.300
kennt ihr den Quantumsort-Algorithmus,

01:16:35.400 --> 01:16:37.800
der ist ein O von 1 Sortier-Algorithmus,

01:16:38.680 --> 01:16:38.860
aha,

01:16:39.580 --> 01:16:43.660
du machst eine zufällige Permutation von deinem Input,

01:16:44.040 --> 01:16:46.500
und wenn sie nicht sortiert ist,

01:16:46.540 --> 01:16:47.640
zerstörst du das Universum,

01:16:47.960 --> 01:16:49.200
ja,

01:16:49.660 --> 01:16:51.860
und das in dem Universum,

01:16:51.860 --> 01:16:52.860
in dem sortiert ist,

01:16:53.180 --> 01:16:54.220
das bist du immer,

01:16:54.640 --> 01:16:55.360
überlebst du immer,

01:16:56.360 --> 01:16:57.080
ähm,

01:16:57.200 --> 01:16:59.320
Schneller?

01:16:59.540 --> 01:16:59.980
Geht nicht mehr.

01:17:00.860 --> 01:17:03.660
Also dieses Kapitel macht mehrere interessante

01:17:03.660 --> 01:17:05.020
Wendungen und

01:17:05.020 --> 01:17:06.620
es schneidet einige

01:17:06.620 --> 01:17:08.940
Sachen an, die

01:17:08.940 --> 01:17:11.460
interessant sind, die aber so ein bisschen

01:17:11.460 --> 01:17:13.520
über Data Classes

01:17:13.520 --> 01:17:14.400
hinausgehen.

01:17:15.400 --> 01:17:17.660
Ich muss ja sagen...

01:17:17.660 --> 01:17:19.560
Macht ihr denn lieber einen Data Class oder lieber einen M2P?

01:17:20.380 --> 01:17:21.220
Lieber Data Class.

01:17:21.260 --> 01:17:23.140
Ja, ich auch. Lieber Data Class.

01:17:23.200 --> 01:17:24.800
Ich weiß jetzt gar nicht so genau, warum.

01:17:26.220 --> 01:17:27.140
Ja, weil das ist

01:17:27.140 --> 01:17:28.500
gutes Marketing hat.

01:17:31.860 --> 01:17:32.740
Man steht auch hier

01:17:32.740 --> 01:17:34.740
im Abschnitt Further Reading,

01:17:34.900 --> 01:17:36.680
da sind natürlich viele Verweise dann drin

01:17:36.680 --> 01:17:38.840
und da steht auch drin hier

01:17:38.840 --> 01:17:40.720
bei der PyCon US 2018,

01:17:40.900 --> 01:17:42.700
da gibt es einen Talk von Raymond Hettinger,

01:17:43.900 --> 01:17:45.140
den auch wir alle schon

01:17:45.140 --> 01:17:46.940
gesehen haben und ich gehe davon aus,

01:17:47.040 --> 01:17:48.520
dass die Hörer den auch alle gesehen haben, der heißt

01:17:48.520 --> 01:17:50.560
Data Classes, the Code Generator to End All

01:17:50.560 --> 01:17:51.220
Code Generators.

01:17:52.140 --> 01:17:54.540
Und das hört sich ja schon sehr hochdrabend an.

01:17:54.920 --> 01:17:55.860
Und ich muss sagen,

01:17:55.860 --> 01:17:57.640
ich habe mir den Talk angeguckt

01:17:57.640 --> 01:17:59.860
und ich habe danach Data Classes verwendet und das war

01:17:59.860 --> 01:18:01.500
gar nicht so beeindruckend.

01:18:02.900 --> 01:18:03.020
Ja.

01:18:03.500 --> 01:18:05.660
Es ist irgendwie gar nicht so viel,

01:18:05.780 --> 01:18:07.800
was einem das macht, was einem das gibt.

01:18:09.020 --> 01:18:09.420
Ja, ja.

01:18:09.440 --> 01:18:10.180
Deswegen auch direkt...

01:18:10.180 --> 01:18:13.800
Man darf da gar nicht so viel

01:18:13.800 --> 01:18:15.640
drauf geben.

01:18:15.920 --> 01:18:16.980
Da werden viele Worte

01:18:16.980 --> 01:18:19.740
darüber gesagt und es wird viel darüber gesprochen,

01:18:19.860 --> 01:18:21.760
aber es ist eigentlich was total Simples

01:18:21.760 --> 01:18:23.820
und was total Kleines und Nettes

01:18:23.820 --> 01:18:25.520
und Einfaches und das, ja,

01:18:25.860 --> 01:18:27.980
ja, also es gibt halt so

01:18:27.980 --> 01:18:29.760
Anwendungsfälle, da verwende ich es halt sehr gerne für.

01:18:29.880 --> 01:18:31.100
Also zum Beispiel eben in so

01:18:31.100 --> 01:18:33.420
für, also wenn man jetzt halt so

01:18:33.420 --> 01:18:35.720
Event-Driven-Architecture hat, dann

01:18:35.720 --> 01:18:37.380
für die Events und Commands, da

01:18:37.380 --> 01:18:38.860
sind Data Classes halt super.

01:18:40.240 --> 01:18:41.240
Genau. Für

01:18:41.240 --> 01:18:43.740
alle Arten von Value-Objects, wo man halt

01:18:43.740 --> 01:18:45.480
nichts drauf gibt, was

01:18:45.480 --> 01:18:47.980
das denn konkret für ein Objekt ist, wo einem nur der Wert

01:18:47.980 --> 01:18:49.180
von irgendwelchen Dingen interessiert,

01:18:49.620 --> 01:18:51.440
da ist das total super. Und

01:18:51.440 --> 01:18:53.180
für alles andere nehme ich normale Klassen.

01:18:53.620 --> 01:18:55.220
Also genau, das ist so mein

01:18:55.220 --> 01:18:56.560
Daumenregel für

01:18:56.560 --> 01:18:59.460
diesen Kram. Und ja, ich glaube, in allen

01:18:59.460 --> 01:19:01.340
Fällen, wo ich Data Class verwende, könnte ich wahrscheinlich auch

01:19:01.340 --> 01:19:02.540
einen Tupel verwenden, aber

01:19:02.540 --> 01:19:05.280
Ja, aber es ist schon bequemer,

01:19:05.600 --> 01:19:07.260
dass man die Namen schreiben kann, das ist schon

01:19:07.260 --> 01:19:08.740
das ist schon cool.

01:19:09.240 --> 01:19:10.260
Das kannst du bei einem Tupel auch.

01:19:10.920 --> 01:19:13.300
Ja, genau, aber dann kannst du nicht ein normales Tupel nehmen.

01:19:13.900 --> 01:19:14.980
Nee, nee, aber ein Nehmtupel ist doch schon

01:19:14.980 --> 01:19:16.780
Also ich benutze fast keine

01:19:16.780 --> 01:19:19.600
Ich würde, glaube ich, fast nie ein normales Tupel nehmen.

01:19:20.720 --> 01:19:21.360
Sondern statt einem

01:19:21.360 --> 01:19:23.320
normalen Tupel immer ein Nehmtupel, weil

01:19:23.320 --> 01:19:25.200
ich gerne den Namen verwende und ich mag Indizesen.

01:19:25.220 --> 01:19:26.480
Nicht so. Ja,

01:19:26.840 --> 01:19:29.560
ja, okay, ich verwende Tupel sehr häufig.

01:19:30.960 --> 01:19:31.540
Ja, ich würde

01:19:31.540 --> 01:19:32.500
so implizit

01:19:32.500 --> 01:19:35.340
Beim Zurückgeben von irgendwelchen Sachen

01:19:35.340 --> 01:19:36.900
ist es halt ja automatisch so.

01:19:36.900 --> 01:19:39.040
Aber da benutzt du ja auch den Index nicht, da benutzt du ja Unpacking.

01:19:39.120 --> 01:19:41.500
Und dann ist ja schon dieses Tupel so ein bisschen

01:19:41.500 --> 01:19:43.300
Da willst du ja dann nicht ein Nehmtupel

01:19:43.300 --> 01:19:44.900
verwenden, ja. Ja doch, warum nicht?

01:19:44.980 --> 01:19:47.240
Als Returnwert ein Nehmtupel, dann hast du schon Type Annotation

01:19:47.240 --> 01:19:48.920
und kannst danach auf die Attribute des Dings wieder

01:19:48.920 --> 01:19:50.280
Zugang zu Namen. Ach, viel zu viel Arbeit.

01:19:50.600 --> 01:19:53.160
Viel zu viel Arbeit. Einfach zwei Werte

01:19:53.160 --> 01:19:54.020
zurückgeben, zack.

01:19:55.220 --> 01:19:56.840
Takt, zack, dies und jenes.

01:19:58.200 --> 01:19:59.420
Dies und jenes oder vielleicht auch das.

01:19:59.480 --> 01:20:00.600
Und dafür wäre ein Match Case wieder gut.

01:20:02.520 --> 01:20:02.960
Ja, sorry.

01:20:03.980 --> 01:20:05.280
Ja. Ich glaube, wir haben das

01:20:05.280 --> 01:20:06.900
besprochen, oder? Dann müssen wir mal Beispiele sehen.

01:20:07.120 --> 01:20:09.520
Wollt ihr noch was erzählen? Also, genau.

01:20:09.620 --> 01:20:11.520
Was wir noch tun könnten ist irgendwie, wir machen

01:20:11.520 --> 01:20:13.280
noch Picks und

01:20:13.280 --> 01:20:15.240
ich weiß nicht, ob irgendjemand anders anfangen

01:20:15.240 --> 01:20:17.160
möchte? Ja, ja, mach mal.

01:20:17.320 --> 01:20:19.160
Okay, also. Das ist doch was Gutes.

01:20:19.460 --> 01:20:21.340
Ja, also was ich gerne picken würde

01:20:21.340 --> 01:20:23.240
und ja, ich weiß nicht, ob die

01:20:23.240 --> 01:20:25.100
so viele Hater haben wir gar nicht,

01:20:25.220 --> 01:20:27.200
aber das wäre ein guter Hook

01:20:27.200 --> 01:20:28.840
für die Hater. Wir hätten erst einmal einen,

01:20:29.220 --> 01:20:31.120
wenn ich mich aktiv verändere.

01:20:31.680 --> 01:20:33.260
Und zwar, was mir momentan tatsächlich

01:20:33.260 --> 01:20:34.560
richtig viel... Nachts um halb drei mit dem Turnier,

01:20:35.100 --> 01:20:36.780
da war ich auch schon vor. Ja, aber

01:20:36.780 --> 01:20:39.280
was mir tatsächlich momentan richtig viel Spaß

01:20:39.280 --> 01:20:41.300
macht, ist ein Tool von

01:20:41.300 --> 01:20:42.720
Anthropic und zwar

01:20:42.720 --> 01:20:44.980
heißt das Cloud Code

01:20:44.980 --> 01:20:47.200
und das ist quasi so

01:20:47.200 --> 01:20:49.240
ein LLM-basierter

01:20:49.840 --> 01:20:51.240
Kommandozeilen

01:20:53.200 --> 01:20:54.640
Dings-Helferlein.

01:20:55.220 --> 01:20:56.600
Ja, genau.

01:20:56.900 --> 01:20:57.820
Was ist ein Agent?

01:20:58.740 --> 01:21:00.300
Schwierig, aber...

01:21:00.300 --> 01:21:00.580
Was ist ein Agent?

01:21:01.240 --> 01:21:03.100
Ja, also das Ding ist einfach nur,

01:21:03.400 --> 01:21:05.720
es ist halt ein LLM und es

01:21:05.720 --> 01:21:08.380
läuft in einer Schleife und macht halt Dinge.

01:21:09.220 --> 01:21:10.340
Und das

01:21:10.340 --> 01:21:12.400
funktioniert, also ich will jetzt gar nicht

01:21:12.400 --> 01:21:13.700
so definieren, was das ist. Und hast du Cluster

01:21:13.700 --> 01:21:15.200
einen Rutschgriff auf deinem Rechner gegeben?

01:21:15.280 --> 01:21:16.400
Das mache ich nicht, aber

01:21:16.400 --> 01:21:20.420
in Projekten, wo ich weiß, wenn das committed ist

01:21:20.420 --> 01:21:22.120
oder gepusht, dann kann das halt auch

01:21:22.120 --> 01:21:22.940
weggelöscht werden, ist nicht so schlimm.

01:21:22.940 --> 01:21:25.200
Ja, gibt ja auch mal ein, zwei Server, da kann es sich austoben.

01:21:25.220 --> 01:21:26.420
Ein bisschen Budget dafür.

01:21:27.680 --> 01:21:28.840
Ich habe mal gefragt,

01:21:29.180 --> 01:21:30.400
also auch Cloud, ob

01:21:30.400 --> 01:21:33.280
der ist jetzt eigentlich

01:21:33.280 --> 01:21:34.660
mich ersetzt oder ist das,

01:21:35.480 --> 01:21:37.000
was ist das so für eine Beziehung?

01:21:38.280 --> 01:21:39.260
Muss ich Angst haben

01:21:39.260 --> 01:21:40.860
oder augmentiert mich das eher oder sowas?

01:21:41.280 --> 01:21:43.260
Und Cloud meinte dann so, hey, ist eher so eine Bromance.

01:21:43.920 --> 01:21:44.680
Ja, okay.

01:21:46.400 --> 01:21:47.100
Das glaube ich bei dir,

01:21:47.360 --> 01:21:48.280
Dominik, das glaube ich bei dir.

01:21:50.180 --> 01:21:51.440
I agree.

01:21:51.680 --> 01:21:53.060
Die Bromance zwischen dir

01:21:53.060 --> 01:21:54.140
und KI.

01:21:55.220 --> 01:21:56.460
Aber also,

01:21:56.680 --> 01:21:59.280
man kann das nicht gut beschreiben.

01:21:59.360 --> 01:22:00.060
Man muss das mal ausprobieren.

01:22:00.480 --> 01:22:03.240
Und da ist das eigentlich schon sehr cool.

01:22:03.320 --> 01:22:05.420
Also ich benutze das jetzt in letzter Zeit super häufig.

01:22:06.200 --> 01:22:07.620
Und das hat mir schon echt viel...

01:22:07.620 --> 01:22:08.640
Super häufig ist es untertrieben,

01:22:08.720 --> 01:22:10.240
meistens bei Jochen beim Arbeiten zu gucken.

01:22:10.720 --> 01:22:12.680
Das ist natürlich so recht die ganze Zeit gut.

01:22:13.580 --> 01:22:15.040
Nö, ja, doch, vielleicht.

01:22:15.320 --> 01:22:16.320
Och, mach nochmal so.

01:22:16.980 --> 01:22:18.740
Ja, aber das ist auch schon wichtig.

01:22:18.900 --> 01:22:20.020
Also ich gucke schon drauf drauf.

01:22:20.800 --> 01:22:22.580
Also das heißt, das Draufgucken ist das,

01:22:22.580 --> 01:22:23.980
was sich von Vibe unterscheidet?

01:22:24.080 --> 01:22:24.500
Ist das dann...

01:22:24.500 --> 01:22:25.740
Ja, ja, nee, das ist nicht Vibe-Coding.

01:22:25.920 --> 01:22:29.140
Also ich nenne das manchmal bosnacherweise Vibe-Coding,

01:22:29.180 --> 01:22:32.580
um die Leute zu ärgern, die...

01:22:33.200 --> 01:22:35.140
Keine Sorge, aber das ist nicht Vibe-Coding.

01:22:35.500 --> 01:22:35.860
Das machst du nicht.

01:22:35.860 --> 01:22:36.660
Ja, es gibt ja zwei Menschen,

01:22:36.740 --> 01:22:38.480
die sich mit dem Begriff Vibe-Coding so ein bisschen

01:22:38.480 --> 01:22:39.040
schwer tun.

01:22:39.120 --> 01:22:41.100
Simon zum Beispiel sagt, das wäre gar nicht gut,

01:22:41.100 --> 01:22:43.500
weil der Begriff total blöd ist,

01:22:43.560 --> 01:22:45.400
weil er davon abdenkt, dass das total anstrengend ist.

01:22:45.800 --> 01:22:46.980
Das war mal gut definiert.

01:22:47.120 --> 01:22:49.040
Und zwar als Vibe-Coding ist halt dann,

01:22:49.040 --> 01:22:51.760
wenn das Ergebnis und der Code egal sind.

01:22:52.240 --> 01:22:53.040
Und du halt nur sozusagen

01:22:53.660 --> 01:22:54.040
bei...

01:22:54.500 --> 01:22:55.500
basierend auf dem Vibe...

01:22:57.040 --> 01:22:58.540
Ja, okay, das habe ich abgelesen,

01:22:58.620 --> 01:22:59.940
dass der Simon Wilson das nicht mag,

01:23:00.000 --> 01:23:02.240
weil jemand anders sein Wort verwendet hat,

01:23:02.320 --> 01:23:03.880
was nicht so ist, wie er es haben möchte.

01:23:04.000 --> 01:23:05.580
Ist doch auch Old Man, der ist halt Cloud.

01:23:06.080 --> 01:23:07.160
Ja, aber er hat schon recht.

01:23:07.300 --> 01:23:08.620
Also das war ursprünglich mal so definiert.

01:23:08.900 --> 01:23:10.680
Und jetzt benutzen es halt alle irgendwie anders.

01:23:10.860 --> 01:23:12.020
Und das ist natürlich schon ein bisschen doof.

01:23:12.740 --> 01:23:15.280
Egal, jedes Wort ist halt anders definiert.

01:23:15.960 --> 01:23:17.780
Ja, aber es gibt in dem Bereich halt schon so viele Worte,

01:23:17.920 --> 01:23:19.340
die halt ihre Bedeutung verloren haben.

01:23:19.500 --> 01:23:20.740
Das ist jetzt so...

01:23:20.740 --> 01:23:22.120
Ja, okay. Na gut.

01:23:22.340 --> 01:23:24.400
Ist auch wurscht, kann man auch nicht mehr zurückholen.

01:23:24.500 --> 01:23:26.560
Ja, meinetwegen ist es auch Vibe-Coding.

01:23:26.960 --> 01:23:28.220
Aber es ist tatsächlich so,

01:23:28.280 --> 01:23:29.160
dass ich damit halt

01:23:29.160 --> 01:23:33.120
viele Dinge irgendwie jetzt so machen kann,

01:23:33.340 --> 01:23:34.380
die vorher mühselig waren

01:23:34.380 --> 01:23:35.740
und jetzt sind sie halt nicht mehr so mühselig.

01:23:36.300 --> 01:23:38.280
Und auch quasi das

01:23:38.280 --> 01:23:39.260
über Copy-Paste

01:23:39.260 --> 01:23:41.500
oder halt über Cursor

01:23:41.500 --> 01:23:44.320
oder sonst wie Copilot kann man das ja auch machen.

01:23:44.640 --> 01:23:45.900
Das hat auch schon alles ganz gut funktioniert,

01:23:46.140 --> 01:23:47.900
aber Cloud-Code ist tatsächlich für mich

01:23:47.900 --> 01:23:49.240
nochmal eine deutliche Verbesserung.

01:23:49.440 --> 01:23:51.700
Also das macht alles nochmal deutlich angenehmer.

01:23:52.860 --> 01:23:53.540
Das ist schon mega gut.

01:23:53.740 --> 01:23:54.380
Aber da...

01:23:54.500 --> 01:23:55.660
Das möchte ich tatsächlich für alle,

01:23:55.740 --> 01:23:56.240
die es noch nicht kennen,

01:23:56.320 --> 01:23:57.440
die meisten kennen es wahrscheinlich,

01:23:57.820 --> 01:23:58.440
mein Pick machen.

01:23:58.960 --> 01:24:00.520
Und zwar ist das tatsächlich,

01:24:01.300 --> 01:24:02.700
wie in meinem Ausschuss weiß ich nicht,

01:24:02.760 --> 01:24:03.260
N8N.

01:24:05.440 --> 01:24:08.660
Ich finde normalerweise so Logo-Sachen

01:24:08.660 --> 01:24:10.700
ziemlich schlecht und schwachsinnig und scheiße,

01:24:10.780 --> 01:24:13.020
aber das Ding ist erschreckend gut.

01:24:14.240 --> 01:24:16.320
In Business-Prozessen direkt anbinden,

01:24:16.480 --> 01:24:17.600
an der Postgres, an SAP,

01:24:17.960 --> 01:24:19.620
an was auch immer du gerade brauchst.

01:24:20.180 --> 01:24:21.720
Und du kannst es hier so zusammenklicken.

01:24:21.720 --> 01:24:23.380
Du machst deinen Telegram-Channel dazu

01:24:23.380 --> 01:24:24.300
und deinen Discord.

01:24:24.500 --> 01:24:25.000
Du hast einen Bot

01:24:25.000 --> 01:24:27.660
und ziehst da so zwei Lines irgendwie zusammen

01:24:27.660 --> 01:24:29.280
und machst dann noch einen Prompt dahin

01:24:29.280 --> 01:24:31.800
und setzt dann da noch eine Nachfrage

01:24:31.800 --> 01:24:32.980
für das Ergebnis vom Prompt,

01:24:33.080 --> 01:24:33.920
passt das dann in JSON,

01:24:34.040 --> 01:24:35.620
kannst einen kleinen Python-Schnippchen reinbauen.

01:24:37.400 --> 01:24:37.580
Ja.

01:24:37.800 --> 01:24:39.200
Also wenn ich Low-Code mir überlegen würde,

01:24:39.260 --> 01:24:40.500
würde ich das wahrscheinlich auch so machen.

01:24:42.020 --> 01:24:43.040
Also ich würde sagen,

01:24:43.080 --> 01:24:45.340
das ist sehr gefährlich für unsere Profession auch.

01:24:46.440 --> 01:24:48.660
Also weil ich kann jetzt jeder Marketier hinsetzen

01:24:48.660 --> 01:24:50.560
und sagen, hey, ich bin Coder

01:24:50.560 --> 01:24:53.080
und mache dann so einen Business-Prozess,

01:24:53.180 --> 01:24:54.480
wo man vorher halt gut bezahlte,

01:24:54.500 --> 01:24:55.600
Software-Ingenieure gebraucht hat.

01:24:55.640 --> 01:24:56.520
Das ist schon so ein bisschen,

01:24:57.520 --> 01:24:59.140
schon nicht schlecht.

01:24:59.700 --> 01:25:02.800
Also da sind wir wieder bei dem Pick,

01:25:02.860 --> 01:25:04.120
den ich eben schon gespoilert habe,

01:25:04.200 --> 01:25:05.360
den der Johannes verraten wollte.

01:25:06.380 --> 01:25:07.300
Nee, das ist nicht mein Pick.

01:25:07.440 --> 01:25:08.660
Gut, dass das nicht dein Pick war.

01:25:08.980 --> 01:25:12.100
Aber das macht es ja schon so ein bisschen.

01:25:12.300 --> 01:25:14.540
Das ist, ja,

01:25:15.600 --> 01:25:16.960
erzeugt halt viel Zeugs,

01:25:17.180 --> 01:25:17.620
viel Code,

01:25:17.920 --> 01:25:19.480
den man halt kaputt machen kann

01:25:19.480 --> 01:25:20.300
oder halt auch nicht.

01:25:20.960 --> 01:25:22.180
Oder ist der kaputt?

01:25:22.380 --> 01:25:23.260
Wen braucht man dafür?

01:25:23.360 --> 01:25:24.040
Die richtigen Ingenieure?

01:25:24.140 --> 01:25:24.240
Wie?

01:25:24.340 --> 01:25:24.480
Ohne?

01:25:24.500 --> 01:25:26.260
Um das hier zu reparieren?

01:25:26.660 --> 01:25:29.080
Oder schafft das dann Cloud Code?

01:25:29.680 --> 01:25:31.500
Naja, also für den Anwendungsfall,

01:25:32.160 --> 01:25:33.060
dass du halt überhaupt erstmal

01:25:33.060 --> 01:25:35.100
irgendwie rausfinden willst,

01:25:35.260 --> 01:25:36.000
ob das etwas ist,

01:25:36.040 --> 01:25:37.500
was du gebrauchen kannst oder nicht.

01:25:38.340 --> 01:25:40.100
Dafür ist das wahrscheinlich nicht so schlecht.

01:25:40.120 --> 01:25:41.580
Nein, aber das ist ein Irrtum.

01:25:41.740 --> 01:25:42.600
Es geht nicht nur darum,

01:25:42.700 --> 01:25:44.740
rauszufinden, was das ist, was du willst.

01:25:44.800 --> 01:25:46.400
Weil das ist genau das,

01:25:46.520 --> 01:25:47.500
was die, ich sag mal,

01:25:47.680 --> 01:25:51.240
mediocre Devs immer schon verkauft haben.

01:25:51.860 --> 01:25:52.480
Irgendein Scheiß,

01:25:52.540 --> 01:25:53.600
der gerade so aussieht,

01:25:53.600 --> 01:25:54.480
als würde er funktionieren,

01:25:54.500 --> 01:25:56.580
und nach zweimal Gegenpusten zusammenbricht.

01:25:56.760 --> 01:25:58.240
Und das ist kein Unterschied mehr zu dem,

01:25:58.300 --> 01:25:59.580
was du dir einfach da viben kannst.

01:26:00.020 --> 01:26:00.600
Und das ist das,

01:26:00.660 --> 01:26:02.480
mit dem die meisten Leute irgendwie in der Branche

01:26:02.480 --> 01:26:03.900
irgendwie ihren Umsatz gemacht haben.

01:26:04.000 --> 01:26:05.940
Und das ist jetzt einfach quasi obsolet.

01:26:06.980 --> 01:26:07.580
Oder was war ein,

01:26:07.660 --> 01:26:08.540
der das so gespürt hat?

01:26:08.540 --> 01:26:08.560
Ah, obsolet.

01:26:08.600 --> 01:26:08.940
Weiß ich nicht.

01:26:09.060 --> 01:26:10.560
Du bist ja immer noch dann abhängig auch da

01:26:10.560 --> 01:26:11.600
von dem Service und so.

01:26:12.200 --> 01:26:12.960
Also, naja.

01:26:13.260 --> 01:26:13.360
Also,

01:26:13.680 --> 01:26:14.520
Business Leaders,

01:26:14.760 --> 01:26:15.840
unfucketei.

01:26:16.420 --> 01:26:17.500
How did you find us?

01:26:17.540 --> 01:26:18.920
My therapist recommended you.

01:26:19.020 --> 01:26:19.820
Are you very sorry?

01:26:19.920 --> 01:26:20.800
Yes, no, fuck you.

01:26:21.540 --> 01:26:21.900
Genau.

01:26:23.320 --> 01:26:24.400
Ja, also ich muss,

01:26:24.400 --> 01:26:25.620
ich stelle mir zu,

01:26:25.780 --> 01:26:27.620
dass das halt von den ganzen Dingern,

01:26:27.700 --> 01:26:28.260
die es da draußen gibt,

01:26:28.380 --> 01:26:29.760
halt tatsächlich irgendwie gut gemacht ist.

01:26:29.900 --> 01:26:30.500
Ich persönlich,

01:26:30.800 --> 01:26:31.760
für mich hat das nicht so Appeal,

01:26:31.820 --> 01:26:32.480
weil ich denke mir so,

01:26:32.560 --> 01:26:33.720
ja gut, ich schreibe halt Python.

01:26:34.300 --> 01:26:36.120
Das macht für mich jetzt mehr Aufwand.

01:26:36.140 --> 01:26:36.480
Kannst du programmieren.

01:26:36.660 --> 01:26:37.280
Kannst du programmieren,

01:26:37.340 --> 01:26:37.800
ich brauche das nicht.

01:26:38.560 --> 01:26:38.760
Sehr gut,

01:26:38.820 --> 01:26:40.100
aber so eine Postgres-Schnittstelle

01:26:40.100 --> 01:26:40.860
mit zwei Klicks, ne?

01:26:41.780 --> 01:26:42.480
Ja, aber,

01:26:42.800 --> 01:26:43.100
also,

01:26:43.280 --> 01:26:44.300
ist für mich jetzt nicht so ein Aufwand.

01:26:45.540 --> 01:26:45.980
ja,

01:26:46.240 --> 01:26:46.940
gut,

01:26:47.180 --> 01:26:47.880
wir werden sehen.

01:26:48.020 --> 01:26:48.160
Vielleicht,

01:26:48.480 --> 01:26:48.760
naja,

01:26:48.960 --> 01:26:49.300
keine Ahnung.

01:26:50.120 --> 01:26:52.140
Mein Pick geht in eine ganz andere Richtung.

01:26:52.740 --> 01:26:53.940
Turning Caffeine into Code?

01:26:54.400 --> 01:26:54.920
Ich,

01:26:54.920 --> 01:26:56.880
ich picke Unregistry.

01:26:59.360 --> 01:27:01.520
Ich bin ja ein Docker-Anhänger

01:27:01.520 --> 01:27:03.020
und ein Problem,

01:27:03.120 --> 01:27:04.800
was man aber hat mit Docker-Containern,

01:27:04.980 --> 01:27:05.060
ist,

01:27:05.260 --> 01:27:06.780
dass wenn man die lokal gebaut hat,

01:27:07.320 --> 01:27:08.360
auf seine Entwicklungsmaschine,

01:27:08.980 --> 01:27:10.760
dann muss man die irgendwo hin tun,

01:27:10.860 --> 01:27:11.900
damit die deploybar werden.

01:27:13.200 --> 01:27:14.660
Also wenn ich die auf meinem Produktionsserver

01:27:14.660 --> 01:27:15.480
dann ausrollen möchte,

01:27:15.600 --> 01:27:16.580
dann müssen die irgendwo sein.

01:27:16.580 --> 01:27:16.840
Docker Hub.

01:27:16.840 --> 01:27:18.680
Dieses irgendwo heißt normalerweise Registry.

01:27:18.960 --> 01:27:19.140
Ja.

01:27:19.340 --> 01:27:20.220
Ja, Docker Hub,

01:27:20.300 --> 01:27:21.100
kannst du nehmen,

01:27:21.160 --> 01:27:22.120
wenn du Open Source machst

01:27:22.120 --> 01:27:23.280
und wenn du keine Geheimnisse,

01:27:23.280 --> 01:27:23.780
wenn der alle,

01:27:23.880 --> 01:27:23.960
der,

01:27:23.960 --> 01:27:24.100
der,

01:27:24.400 --> 01:27:27.060
der Sachen offenlegen willst auf der Welt.

01:27:27.400 --> 01:27:29.400
Ansonsten ist es eine Artifactory oder so.

01:27:29.400 --> 01:27:30.100
Das ist echt scheißvoll.

01:27:30.280 --> 01:27:30.840
Artifactory,

01:27:30.960 --> 01:27:31.220
Nexus

01:27:31.220 --> 01:27:33.280
oder in die Amazon,

01:27:34.660 --> 01:27:36.760
in so eine private Registry für Amazon.

01:27:37.100 --> 01:27:37.440
Aber,

01:27:37.680 --> 01:27:39.400
jetzt gibt es hier ein Projekt,

01:27:39.500 --> 01:27:40.620
das heißt Unregistry

01:27:40.620 --> 01:27:44.860
und damit kann ich direkt von meiner Maschine

01:27:44.860 --> 01:27:46.260
auf die Servermaschine

01:27:46.260 --> 01:27:47.000
ein,

01:27:47.000 --> 01:27:47.800
ein,

01:27:47.800 --> 01:27:50.080
ein Image pushen,

01:27:50.080 --> 01:27:52.180
ohne über eine Registry zu gehen.

01:27:52.460 --> 01:27:52.680
Aha.

01:27:52.680 --> 01:27:53.000
Aha.

01:27:53.400 --> 01:27:54.080
Der Trick ist,

01:27:54.400 --> 01:27:56.180
also das geht natürlich manuell auch,

01:27:56.260 --> 01:27:56.340
ja,

01:27:56.380 --> 01:27:57.340
ich kann natürlich manuell diese,

01:27:57.540 --> 01:27:57.500
ja,

01:27:57.580 --> 01:27:59.400
Docker-Image exportieren

01:27:59.400 --> 01:28:00.300
und kann es tippen

01:28:00.300 --> 01:28:02.700
und dann per SCP rüberkopieren

01:28:02.700 --> 01:28:03.020
und so weiter.

01:28:03.440 --> 01:28:04.960
Aber das ist zum einen nervig

01:28:04.960 --> 01:28:05.700
und es ist auch langsam,

01:28:05.840 --> 01:28:06.540
weil jedes Mal die,

01:28:06.720 --> 01:28:08.120
das komplette Image übertragen werden muss

01:28:08.120 --> 01:28:09.220
und nicht nur die Schichten,

01:28:09.360 --> 01:28:09.560
die man,

01:28:09.700 --> 01:28:10.460
die man braucht.

01:28:11.120 --> 01:28:13.420
Und das macht Unregistry einfach alles im Hintergrund.

01:28:13.520 --> 01:28:13.700
Das heißt,

01:28:13.760 --> 01:28:14.240
der Trick ist,

01:28:14.580 --> 01:28:15.500
das tut so,

01:28:15.580 --> 01:28:16.620
als ob es eine Registry wäre

01:28:16.620 --> 01:28:18.260
und wenn du sagst,

01:28:18.320 --> 01:28:18.420
hier,

01:28:18.520 --> 01:28:19.220
push mal auf den Server,

01:28:19.320 --> 01:28:21.060
dann macht es dort einfach kurz eine Registry auf,

01:28:21.120 --> 01:28:21.820
dann pushst du da hin

01:28:21.820 --> 01:28:23.500
und dann ist es bei dem Server,

01:28:23.500 --> 01:28:23.600
dann ist es bei dem Server,

01:28:23.600 --> 01:28:25.860
bei dem Produktionsserver

01:28:25.860 --> 01:28:28.400
einfach im lokalen,

01:28:28.920 --> 01:28:30.200
in den lokalen Images drin.

01:28:30.360 --> 01:28:31.620
Und das ist großartig,

01:28:31.680 --> 01:28:33.500
weil das macht viele Deployment-Prozesse

01:28:33.500 --> 01:28:34.940
einfach super viel einfacher.

01:28:35.140 --> 01:28:35.460
Du kannst,

01:28:35.600 --> 01:28:36.320
musst dann aber nicht,

01:28:37.380 --> 01:28:39.980
History und sowas ist dann halt weg, ne?

01:28:41.260 --> 01:28:42.040
Wie meinst du History?

01:28:42.180 --> 01:28:44.020
Hast du bei Docker-Containern nie.

01:28:44.660 --> 01:28:45.140
Na doch.

01:28:46.040 --> 01:28:46.580
Das zu,

01:28:46.960 --> 01:28:47.960
hast du die,

01:28:48.380 --> 01:28:49.040
jeder Tag,

01:28:49.100 --> 01:28:49.640
den du pushst,

01:28:49.680 --> 01:28:50.920
ist dort.

01:28:51.080 --> 01:28:51.760
Also du hast keine,

01:28:51.980 --> 01:28:53.480
kein zentrales Repo mehr.

01:28:53.480 --> 01:28:53.520
Ja,

01:28:53.600 --> 01:28:54.220
und das ist genau das,

01:28:54.280 --> 01:28:54.720
was du möchtest.

01:28:55.420 --> 01:28:55.660
Okay.

01:28:56.320 --> 01:28:56.660
Wenn du,

01:28:56.700 --> 01:28:58.460
wenn du die Sachen aufbewahren möchtest,

01:28:58.520 --> 01:28:59.280
dann brauchst du eine Registry,

01:28:59.280 --> 01:28:59.480
ja.

01:28:59.900 --> 01:29:00.200
Ja,

01:29:00.460 --> 01:29:00.820
achso,

01:29:01.040 --> 01:29:01.280
achso,

01:29:01.360 --> 01:29:01.600
wenn du,

01:29:01.700 --> 01:29:01.900
achso,

01:29:01.940 --> 01:29:03.660
meinst du History von Images?

01:29:03.960 --> 01:29:04.160
Ja.

01:29:04.160 --> 01:29:04.220
Ja,

01:29:04.280 --> 01:29:04.420
okay,

01:29:04.520 --> 01:29:04.620
das,

01:29:04.780 --> 01:29:04.940
ja.

01:29:05.800 --> 01:29:06.160
Ne,

01:29:06.260 --> 01:29:07.500
das ist ja eben unregistered.

01:29:07.540 --> 01:29:07.660
Ja,

01:29:07.660 --> 01:29:08.560
das hast du jetzt nicht mehr.

01:29:08.920 --> 01:29:11.320
Und das will ich auch in ganz vielen Fällen einfach nicht haben.

01:29:11.540 --> 01:29:11.660
Ja,

01:29:11.700 --> 01:29:12.940
es ist eben meistens so ein Müll im Ballast,

01:29:13.080 --> 01:29:13.360
der Strom.

01:29:13.420 --> 01:29:14.240
Ich habe immer nur Latest.

01:29:14.460 --> 01:29:15.180
Es gibt nur Latest.

01:29:17.760 --> 01:29:19.200
Aber wenn du was kaputt gemacht hast,

01:29:19.320 --> 01:29:20.540
da musst du ja dann wieder zurück,

01:29:20.540 --> 01:29:20.840
ganz schön,

01:29:20.980 --> 01:29:21.680
dass du vorwärts gehst.

01:29:22.600 --> 01:29:22.820
Ja,

01:29:23.100 --> 01:29:23.260
gut,

01:29:23.320 --> 01:29:24.300
aber das habe ich dann noch lokal.

01:29:26.360 --> 01:29:26.880
Na gut.

01:29:28.180 --> 01:29:28.480
YOLO,

01:29:28.560 --> 01:29:29.660
YOLO Driven Development.

01:29:31.160 --> 01:29:32.040
YOLO Vibe.

01:29:32.680 --> 01:29:33.060
Ja,

01:29:33.700 --> 01:29:34.560
danke fürs Zuhören.

01:29:35.180 --> 01:29:35.840
Das war jetzt das ganze.

01:29:35.840 --> 01:29:37.840
Komm zum Hörer-Treffen vorbei

01:29:38.420 --> 01:29:40.540
und wir freuen uns auf euch hier.

01:29:41.400 --> 01:29:41.940
Wann war das gleich noch?

01:29:42.320 --> 01:29:42.500
Ja,

01:29:42.600 --> 01:29:43.420
Ende August,

01:29:43.620 --> 01:29:44.480
Ende September.

01:29:45.020 --> 01:29:47.560
We are discussing that in another episode.

01:29:48.240 --> 01:29:48.600
Okay,

01:29:48.720 --> 01:29:49.080
okay.

01:29:49.220 --> 01:29:50.440
Und machen wir es dann.

01:29:50.540 --> 01:29:51.180
Bleibt uns gewogen.

01:29:51.400 --> 01:29:52.620
Hallo at peisenpodcast.de.

01:29:53.240 --> 01:29:54.140
Dankeschön und bis bald.

01:29:54.460 --> 01:29:54.580
Jo.

01:29:54.960 --> 01:29:55.420
Macht's gut.

01:29:55.860 --> 01:29:56.120
Ciao, ciao.

01:29:56.120 --> 01:29:56.180
Ciao, ciao.
