{"version":"1.0.0","segments":[{"speaker":null,"startTime":2.95699999999999985078602549037896096706390380859375,"endTime":4.7569999999999996731503415503539144992828369140625,"body":"Episode 225,"},{"speaker":null,"startTime":7.93700000000000027711166694643907248973846435546875,"endTime":14.45700000000000073896444519050419330596923828125,"body":"Modernes C++ \u2013 effiziente Softwareentwicklung mit neuen Standards und Best Practices,"},{"speaker":null,"startTime":19.417000000000001591615728102624416351318359375,"endTime":23.516999999999999459987520822323858737945556640625,"body":"Herzlich willkommen beim Zukunftsarchitekten, der Systems Engineering Podcast"},{"speaker":null,"startTime":23.516999999999999459987520822323858737945556640625,"endTime":25.417000000000001591615728102624416351318359375,"body":"f\u00fcr Machende und Entscheidende."},{"speaker":null,"startTime":25.516999999999999459987520822323858737945556640625,"endTime":30.4969999999999998863131622783839702606201171875,"body":"Am Mikrofon ist wieder Bj\u00f6rn Schorre. Als Systemingenieur gebe ich dir Tipps"},{"speaker":null,"startTime":30.4969999999999998863131622783839702606201171875,"endTime":34.03699999999999903366187936626374721527099609375,"body":"und Impulse, damit du dein Projekt zum Erfolg f\u00fchren kannst."},{"speaker":null,"startTime":35.280000000000001136868377216160297393798828125,"endTime":40.56000000000000227373675443232059478759765625,"body":"Music."},{"speaker":null,"startTime":39.97699999999999675992512493394315242767333984375,"endTime":44.81700000000000017053025658242404460906982421875,"body":"So wirst du in der heutigen Episode erfahren, warum es sinnvoll ist,"},{"speaker":null,"startTime":44.89699999999999846522769075818359851837158203125,"endTime":49.45700000000000073896444519050419330596923828125,"body":"seine Softwareentwicklung mit modernen Programmiertechniken auszuf\u00fchren und"},{"speaker":null,"startTime":49.45700000000000073896444519050419330596923828125,"endTime":53.9369999999999976125764078460633754730224609375,"body":"weshalb Weiterbildung zum integralen Bestandteil der Arbeit werden muss."},{"speaker":null,"startTime":54.8370000000000032969182939268648624420166015625,"endTime":59.2770000000000010231815394945442676544189453125,"body":"Ja, mein heutiger Gast ist Coach und Trainer f\u00fcr C++."},{"speaker":null,"startTime":59.6569999999999964757080306299030780792236328125,"endTime":64.51699999999999590727384202182292938232421875,"body":"Er hat zu seinem Thema mehrere B\u00fccher geschrieben. Seine Kurse sind auf der"},{"speaker":null,"startTime":64.51699999999999590727384202182292938232421875,"endTime":68.296999999999997044142219237983226776123046875,"body":"ganzen Welt gefragt, ob in Pr\u00e4senz oder online."},{"speaker":null,"startTime":68.63700000000000045474735088646411895751953125,"endTime":71.4569999999999936335370875895023345947265625,"body":"Ja, herzlich willkommen hier bei mir im Podcast, Rainer Grimm."},{"speaker":null,"startTime":71.6569999999999964757080306299030780792236328125,"endTime":74.9369999999999976125764078460633754730224609375,"body":"Vielen Dank f\u00fcr deine Worte, Bj\u00f6rn. Ich freue mich, heute was erz\u00e4hlen zu k\u00f6nnen."},{"speaker":null,"startTime":75.25700000000000500222085975110530853271484375,"endTime":78.6170000000000044337866711430251598358154296875,"body":"Ja, magst du vielleicht noch selber was zu dir sagen?"},{"speaker":null,"startTime":78.75700000000000500222085975110530853271484375,"endTime":82.537000000000006139089236967265605926513671875,"body":"Oder habe ich damit schon alles erschlagen mit meinem kleinen und kurzen Intro?"},{"speaker":null,"startTime":82.537000000000006139089236967265605926513671875,"endTime":86.417000000000001591615728102624416351318359375,"body":"Ich kann ein bisschen was zu mir sagen, aber das soll ja keine Werbekampagne werden."},{"speaker":null,"startTime":86.7169999999999987494447850622236728668212890625,"endTime":90.4969999999999998863131622783839702606201171875,"body":"Ja, was soll ich denn sagen? 2002 habe ich meine Firma, die Fortbildungsrunde,"},{"speaker":null,"startTime":91.076999999999998181010596454143524169921875,"endTime":95.477000000000003865352482534945011138916015625,"body":"initiiert und im Zeiteffekt von dem war, dass ich immer mehr Schulung gehalten"},{"speaker":null,"startTime":95.477000000000003865352482534945011138916015625,"endTime":97.356999999999999317878973670303821563720703125,"body":"habe und immer mehr in die Schulungsende reingekutscht bin."},{"speaker":null,"startTime":97.5969999999999942019712761975824832916259765625,"endTime":104.3370000000000032969182939268648624420166015625,"body":"Seit 2013, von 2013 bis 2016 war ich verantwortlich f\u00fcr das Team und Software auf Defibrillatoren."},{"speaker":null,"startTime":104.6170000000000044337866711430251598358154296875,"endTime":106.037000000000006139089236967265605926513671875,"body":"Das war dann bis 2016."},{"speaker":null,"startTime":106.3970000000000055706550483591854572296142578125,"endTime":109.7169999999999987494447850622236728668212890625,"body":"Ich muss n\u00e4mlich sagen, ich habe drei Berufsausbildungen. Ich bin Mathematiker,"},{"speaker":null,"startTime":109.8169999999999930651028989814221858978271484375,"endTime":111.1770000000000067075234255753457546234130859375,"body":"Krankenpfleger und Rettungsant\u00e4ter."},{"speaker":null,"startTime":111.4569999999999936335370875895023345947265625,"endTime":115.2169999999999987494447850622236728668212890625,"body":"Seit 2016 mache ich nur das, was mir Spa\u00df macht."},{"speaker":null,"startTime":115.3769999999999953388396534137427806854248046875,"endTime":118.6770000000000067075234255753457546234130859375,"body":"Ich gebe Zebrismus-Schulungen und meine Pein-Vergangenheit holt mich auch noch"},{"speaker":null,"startTime":118.6770000000000067075234255753457546234130859375,"endTime":121.076999999999998181010596454143524169921875,"body":"ein bisschen ein. Seit 2004 gebe ich Pein-Schulungen auch."},{"speaker":null,"startTime":121.9380000000000023874235921539366245269775390625,"endTime":125.5580000000000069348971010185778141021728515625,"body":"Wie gesagt, seit 2016 bin ich selbstst\u00e4ndig und sehr, sehr zufrieden."},{"speaker":null,"startTime":125.6580000000000012505552149377763271331787109375,"endTime":132.4379999999999881765688769519329071044921875,"body":"Ja, du hast das gerade schon angesprochen, Defibrillatoren, das sind ja Embedded-Systeme,"},{"speaker":null,"startTime":132.4379999999999881765688769519329071044921875,"endTime":139.277999999999991587174008600413799285888671875,"body":"die du da entwickelt hast und du hast dich dort mit der Entwicklung von Software besch\u00e4ftigt."},{"speaker":null,"startTime":139.35800000000000409272615797817707061767578125,"endTime":142.758000000000009777068044058978557586669921875,"body":"Es gab ein bisschen mehr, was f\u00fcr mich ein Neuland war, die Systemarchitektur und Sicherheit."},{"speaker":null,"startTime":143.0579999999999927240423858165740966796875,"endTime":146.59800000000001318767317570745944976806640625,"body":"Ah, Systemarchitektur. Die Sicherheitsbetrachtungen. Ah, genau."},{"speaker":null,"startTime":146.957999999999998408384271897375583648681640625,"endTime":151.798000000000001818989403545856475830078125,"body":"Das war f\u00fcr mich total neu. Okay, okay. Das passt ja auch so ein bisschen zu"},{"speaker":null,"startTime":151.798000000000001818989403545856475830078125,"endTime":157.37799999999998590283212251961231231689453125,"body":"dem Thema mit meinem Hintergrund, n\u00e4mlich die Systementwicklung."},{"speaker":null,"startTime":158.277999999999991587174008600413799285888671875,"endTime":162.11799999999999499777914024889469146728515625,"body":"Worin, oder muss ich ein bisschen anders fragen? Also wir haben jetzt auf der"},{"speaker":null,"startTime":162.11799999999999499777914024889469146728515625,"endTime":167.298000000000001818989403545856475830078125,"body":"einen Seite schon mal festgestellt, du hast bei der Embedded Systementwicklung"},{"speaker":null,"startTime":167.298000000000001818989403545856475830078125,"endTime":171.758000000000009777068044058978557586669921875,"body":"und bei den Software-Systemen oder Software-Anteilen daran mitgewirkt."},{"speaker":null,"startTime":171.837999999999993860910763032734394073486328125,"endTime":177.018000000000000682121026329696178436279296875,"body":"Und was war das Besondere f\u00fcr dich an diesen Software-Anteilen?"},{"speaker":null,"startTime":177.018000000000000682121026329696178436279296875,"endTime":181.09800000000001318767317570745944976806640625,"body":"Das ganz Besondere f\u00fcr mich war, ich war f\u00fcr die Systemarchitektur verantwortlich,"},{"speaker":null,"startTime":181.09800000000001318767317570745944976806640625,"endTime":185.698000000000007503331289626657962799072265625,"body":"wo man dann die Teile separiert und Interfaces dazwischen klemmt."},{"speaker":null,"startTime":185.777999999999991587174008600413799285888671875,"endTime":189.777999999999991587174008600413799285888671875,"body":"Das ganz Besondere war, dass die Architektur nicht durch Funktionalit\u00e4t,"},{"speaker":null,"startTime":189.798000000000001818989403545856475830078125,"endTime":193.318000000000012050804798491299152374267578125,"body":"sondern durch das Sicherheitsgedanken getrieben ist. Das war f\u00fcr mich ganz neu."},{"speaker":null,"startTime":193.49799999999999045030563138425350189208984375,"endTime":197.157999999999987039700499735772609710693359375,"body":"In der Desktop-Umgebung machst du Exception Handling, Error Handling immer danach."},{"speaker":null,"startTime":197.5579999999999927240423858165740966796875,"endTime":201.97800000000000864019966684281826019287109375,"body":"Hier f\u00e4ngst du damit an. und \u00fcberlegst dir, was passiert, wenn zum Beispiel"},{"speaker":null,"startTime":201.97800000000000864019966684281826019287109375,"endTime":204.198000000000007503331289626657962799072265625,"body":"du keinen Stromimpuls mehr setzen kannst."},{"speaker":null,"startTime":204.47800000000000864019966684281826019287109375,"endTime":209.138000000000005229594535194337368011474609375,"body":"Was passiert, wenn einer das Signal meldet, einer nicht? Wie kommst du zur Mehrheitsentscheidung?"},{"speaker":null,"startTime":209.23799999999999954525264911353588104248046875,"endTime":214.59800000000001318767317570745944976806640625,"body":"Das waren ganz, ganz neue Gedanken und auf der Grundlage dessen wird die ganze Architektur gebaut."},{"speaker":null,"startTime":214.87799999999998590283212251961231231689453125,"endTime":217.318000000000012050804798491299152374267578125,"body":"Nicht auf der Grundlage dessen, dass das Teil funktioniert."},{"speaker":null,"startTime":217.657999999999987039700499735772609710693359375,"endTime":219.018000000000000682121026329696178436279296875,"body":"Es schon funktioniert, aber du"},{"speaker":null,"startTime":219.018000000000000682121026329696178436279296875,"endTime":221.698000000000007503331289626657962799072265625,"body":"musst eigentlich immer in einem wohl definierten Zustand sein. Ja, klar."},{"speaker":null,"startTime":221.9379999999999881765688769519329071044921875,"endTime":226.318000000000012050804798491299152374267578125,"body":"Du musst genau wissen, was das Teil tut. Ja, genau. Wollte ich auch gerade sagen."},{"speaker":null,"startTime":226.717999999999989313437254168093204498291015625,"endTime":232.217999999999989313437254168093204498291015625,"body":"Das war f\u00fcr mich ganz, ganz, ganz neu. Okay, was mich dann immer gleich auch"},{"speaker":null,"startTime":232.217999999999989313437254168093204498291015625,"endTime":236.397999999999996134647517465054988861083984375,"body":"interessiert ist, also auf der einen Seite hast du die Software-Architektur"},{"speaker":null,"startTime":236.397999999999996134647517465054988861083984375,"endTime":239.897999999999996134647517465054988861083984375,"body":"entwickelt und die separiert, hast du es gerade gesagt?"},{"speaker":null,"startTime":240.23799999999999954525264911353588104248046875,"endTime":244.49799999999999045030563138425350189208984375,"body":"Ja, genau, die ber\u00fchmte Segregation. Ja, in einzelne Teile."},{"speaker":null,"startTime":244.864000000000004320099833421409130096435546875,"endTime":250.58400000000000318323145620524883270263671875,"body":"Entworfen oder zugeschrieben die Funktionalit\u00e4ten und Schnittstellen dazwischen"},{"speaker":null,"startTime":250.58400000000000318323145620524883270263671875,"endTime":252.20400000000000773070496506989002227783203125,"body":"definiert. So habe ich dich richtig verstanden."},{"speaker":null,"startTime":252.40399999999999636202119290828704833984375,"endTime":256.0439999999999827196006663143634796142578125,"body":"Genau, da ist es ganz wichtig, dass die Schnittstellen nicht nur die Funktionalit\u00e4t"},{"speaker":null,"startTime":256.0439999999999827196006663143634796142578125,"endTime":258.4239999999999781721271574497222900390625,"body":"abbilden, sondern was passiert, wenn das schief geht."},{"speaker":null,"startTime":258.644000000000005456968210637569427490234375,"endTime":261.72399999999998954081092961132526397705078125,"body":"Wenn ein Input-Subsystem zum Beispiel kann zwei Dinge liefern,"},{"speaker":null,"startTime":261.82400000000001227817847393453121185302734375,"endTime":263.56400000000002137312549166381359100341796875,"body":"einen Wert und einen Fehler."},{"speaker":null,"startTime":263.8039999999999736246536485850811004638671875,"endTime":266.644000000000005456968210637569427490234375,"body":"Und der, der das Input-Subsystem, das ist ja kein Subsystem,"},{"speaker":null,"startTime":266.94400000000001682565198279917240142822265625,"endTime":269.06400000000002137312549166381359100341796875,"body":"ein Board muss mit beiden Dingen leben k\u00f6nnen."},{"speaker":null,"startTime":269.2440000000000281943357549607753753662109375,"endTime":272.34399999999999408828443847596645355224609375,"body":"Ja, ja. Der muss gegen beide Dinge programmieren und gerade der Fehler,"},{"speaker":null,"startTime":272.4239999999999781721271574497222900390625,"endTime":275.124000000000023646862246096134185791015625,"body":"der sogenannte nicht-funktionale Kanal, Vergisst man meistens."},{"speaker":null,"startTime":275.60399999999998499333742074668407440185546875,"endTime":278.70400000000000773070496506989002227783203125,"body":"Und das ist ganz, ganz, ganz \u00fcbel nachhinein."},{"speaker":null,"startTime":278.82400000000001227817847393453121185302734375,"endTime":282.70400000000000773070496506989002227783203125,"body":"Und das schmei\u00dft dann denjenigen, der das aufruft, dieses eine System,"},{"speaker":null,"startTime":282.8039999999999736246536485850811004638671875,"endTime":285.7440000000000281943357549607753753662109375,"body":"der schmei\u00dft ihn dann raus, wenn er darauf nicht reagieren kann."},{"speaker":null,"startTime":286.06400000000002137312549166381359100341796875,"endTime":290.5240000000000009094947017729282379150390625,"body":"Zum Beispiel, was ganz wichtig ist, wir reden, wir m\u00fcssen jetzt nicht Exceptions"},{"speaker":null,"startTime":290.5240000000000009094947017729282379150390625,"endTime":291.94400000000001682565198279917240142822265625,"body":"machen, aber ich gehe mal von Exceptions aus."},{"speaker":null,"startTime":292.22399999999998954081092961132526397705078125,"endTime":296.3039999999999736246536485850811004638671875,"body":"Wenn eine Exception geschmissen wird, dann wird die im Input-Subsystem auf ein"},{"speaker":null,"startTime":296.3039999999999736246536485850811004638671875,"endTime":299.70400000000000773070496506989002227783203125,"body":"paar ganz wesentliche runtergedammt, sodass der Anwender genau wei\u00df,"},{"speaker":null,"startTime":299.8039999999999736246536485850811004638671875,"endTime":302.0240000000000009094947017729282379150390625,"body":"diese f\u00fcnf Ausnahmen k\u00f6nnen bei mir nur passieren."},{"speaker":null,"startTime":302.32400000000001227817847393453121185302734375,"endTime":306.68400000000002592059900052845478057861328125,"body":"Und diese \u00fcbersetzt von Ausnahmen in einfache. Die muss an der Schnittstelle passieren."},{"speaker":null,"startTime":307.7640000000000100044417195022106170654296875,"endTime":311.4239999999999781721271574497222900390625,"body":"Sonst, wenn du das \u00fcberall im Code machen w\u00fcrdest, kriegst du so eine Art Go-To-Code."},{"speaker":null,"startTime":311.58400000000000318323145620524883270263671875,"endTime":314.144000000000005456968210637569427490234375,"body":"Wenn du \u00fcberall im Code Exceptions ausf\u00e4ngst, schaffst du keine Ahnung mehr"},{"speaker":null,"startTime":314.144000000000005456968210637569427490234375,"endTime":315.20400000000000773070496506989002227783203125,"body":"\u00fcber den Kontrollfluss."},{"speaker":null,"startTime":315.5040000000000190993887372314929962158203125,"endTime":320.06400000000002137312549166381359100341796875,"body":"Und durch das ist das ganz wichtig, meiner Ansicht nach, ein ganz klares Interface festzulegen."},{"speaker":null,"startTime":321.3039999999999736246536485850811004638671875,"endTime":325.0439999999999827196006663143634796142578125,"body":"Und auf dieser Ebene muss man alles regeln. Gut. Ja, jetzt sind wir schon ein"},{"speaker":null,"startTime":325.0439999999999827196006663143634796142578125,"endTime":328.3039999999999736246536485850811004638671875,"body":"bisschen reingestiegen. Exceptions hast du gesagt, du hast Interfaces gesprochen."},{"speaker":null,"startTime":329.124000000000023646862246096134185791015625,"endTime":335.0240000000000009094947017729282379150390625,"body":"Vielleicht bleiben wir noch ein bisschen allgemeiner. in welcher Sprache hast du das entworfen?"},{"speaker":null,"startTime":335.20400000000000773070496506989002227783203125,"endTime":338.44400000000001682565198279917240142822265625,"body":"Also ich meine, du hast auf der einen Seite von Python eben gesprochen,"},{"speaker":null,"startTime":338.644000000000005456968210637569427490234375,"endTime":340.2839999999999918145476840436458587646484375,"body":"dass du das auch genutzt hast."},{"speaker":null,"startTime":340.72399999999998954081092961132526397705078125,"endTime":342.8039999999999736246536485850811004638671875,"body":"Aber in welcher Sprache hast du denn diese Embedded System geschrieben?"},{"speaker":null,"startTime":342.8039999999999736246536485850811004638671875,"endTime":346.5240000000000009094947017729282379150390625,"body":"Das habe ich lustigerweise in Python geschrieben. Okay. Auf meinem Simulator,"},{"speaker":null,"startTime":346.624000000000023646862246096134185791015625,"endTime":347.44400000000001682565198279917240142822265625,"body":"weil es viel schneller geht."},{"speaker":null,"startTime":348.2440000000000281943357549607753753662109375,"endTime":351.60399999999998499333742074668407440185546875,"body":"Dann habe ich den ganzen Workflow abgebildet. Das ist nicht v\u00f6llig kompliziert"},{"speaker":null,"startTime":351.60399999999998499333742074668407440185546875,"endTime":355.5040000000000190993887372314929962158203125,"body":"bei Defis. Die Teile laufen in verschiedenen L\u00e4ndern mit verschiedenen Regularien."},{"speaker":null,"startTime":355.8039999999999736246536485850811004638671875,"endTime":357.48399999999998044586391188204288482666015625,"body":"Und das muss ich konfigurieren k\u00f6nnen."},{"speaker":null,"startTime":357.84399999999999408828443847596645355224609375,"endTime":360.94400000000001682565198279917240142822265625,"body":"Das war hochkomplex. Dann habe ich es mit mit der Workflow-Maschine,"},{"speaker":null,"startTime":360.96399999999999863575794734060764312744140625,"endTime":363.70400000000000773070496506989002227783203125,"body":"in Python abgebildet, damit wir gewusst haben, das tut so."},{"speaker":null,"startTime":363.82400000000001227817847393453121185302734375,"endTime":366.10399999999998499333742074668407440185546875,"body":"Dann ist der n\u00e4chste Schritt, dann wird das in Hardware gekostet."},{"speaker":null,"startTime":366.2440000000000281943357549607753753662109375,"endTime":369.34399999999999408828443847596645355224609375,"body":"Mit der State-Maschine, da kannst du verschiedene Sachen ausw\u00e4hlen."},{"speaker":null,"startTime":369.4239999999999781721271574497222900390625,"endTime":373.0240000000000009094947017729282379150390625,"body":"OO-basiert, Template-Beta-basiert, Case-Statements, es gibt halt verschiedene"},{"speaker":null,"startTime":373.0240000000000009094947017729282379150390625,"endTime":373.9239999999999781721271574497222900390625,"body":"Dinge, wie du es abbilden kannst."},{"speaker":null,"startTime":374.60399999999998499333742074668407440185546875,"endTime":378.0439999999999827196006663143634796142578125,"body":"Okay, gut. Diesen Schritt habe ich nicht mehr gemacht, weil da habe ich die"},{"speaker":null,"startTime":378.0439999999999827196006663143634796142578125,"endTime":381.0240000000000009094947017729282379150390625,"body":"Firma dann verlassen. Aber ich habe alles vorbereitet. Okay."},{"speaker":null,"startTime":381.83400000000000318323145620524883270263671875,"endTime":386.07400000000001227817847393453121185302734375,"body":"Perfekt. Ja, ich wollte eigentlich darauf hinaus, du hast ja dann oder bist"},{"speaker":null,"startTime":386.07400000000001227817847393453121185302734375,"endTime":391.21399999999999863575794734060764312744140625,"body":"ja dann als Trainer f\u00fcr C++ in Erscheinung getreten, hast ja das weitergemacht."},{"speaker":null,"startTime":391.2740000000000009094947017729282379150390625,"endTime":396.83400000000000318323145620524883270263671875,"body":"Wie bist du dazu gekommen, dass du dann C++ als das Thema ausgew\u00e4hlt hast,"},{"speaker":null,"startTime":396.93400000000002592059900052845478057861328125,"endTime":402.0539999999999736246536485850811004638671875,"body":"wo du eine Expertise hast? Guter Punkt, haben wir noch gar nicht so genau \u00fcberlegt."},{"speaker":null,"startTime":402.15399999999999636202119290828704833984375,"endTime":403.07400000000001227817847393453121185302734375,"body":"Doch, ein bisschen nat\u00fcrlich schon."},{"speaker":null,"startTime":403.47399999999998954081092961132526397705078125,"endTime":407.31400000000002137312549166381359100341796875,"body":"Ich bin ein wahnsinnig neugieriger Mensch. Mich hat das immer wahnsinnig gest\u00f6rt,"},{"speaker":null,"startTime":407.374000000000023646862246096134185791015625,"endTime":409.374000000000023646862246096134185791015625,"body":"dass in Firmen zu wenig Fortbildung getrieben wird."},{"speaker":null,"startTime":409.5339999999999918145476840436458587646484375,"endTime":412.413999999999987267074175179004669189453125,"body":"Und durch das habe ich Fortbildung in den Firmen ganz, ganz hoch geschoben und"},{"speaker":null,"startTime":412.413999999999987267074175179004669189453125,"endTime":413.394000000000005456968210637569427490234375,"body":"habe auch Freiraum bekommen."},{"speaker":null,"startTime":413.7740000000000009094947017729282379150390625,"endTime":417.374000000000023646862246096134185791015625,"body":"Dann wollte ich, haben mich zwei Sprachen eigentlich drei sehr interessiert."},{"speaker":null,"startTime":417.59399999999999408828443847596645355224609375,"endTime":421.2939999999999827196006663143634796142578125,"body":"Python, C++ und Haskell. Das ist ganz z\u00e4h in Sprachen wahrscheinlich im Endeffekt."},{"speaker":null,"startTime":421.45400000000000773070496506989002227783203125,"endTime":423.73399999999998044586391188204288482666015625,"body":"Und dann habe ich mir gedacht, eigentlich kann Python jeder."},{"speaker":null,"startTime":423.97399999999998954081092961132526397705078125,"endTime":425.31400000000002137312549166381359100341796875,"body":"Mache ich doch ein bisschen mehr C++."},{"speaker":null,"startTime":426.09399999999999408828443847596645355224609375,"endTime":429.23399999999998044586391188204288482666015625,"body":"Also ich war genauso fr\u00fcher auch als Python-Experte verschrien."},{"speaker":null,"startTime":429.23399999999998044586391188204288482666015625,"endTime":433.394000000000005456968210637569427490234375,"body":"Das kann ich immer noch ziemlich gut, aber der Einstieg bei C++ ist deutlich schwieriger."},{"speaker":null,"startTime":433.61399999999997589839040301740169525146484375,"endTime":437.1739999999999781721271574497222900390625,"body":"Dann gab es den Punkt, wo ich mir gedacht habe, eigentlich will ich doch mal selbstst\u00e4ndig werden."},{"speaker":null,"startTime":437.35399999999998499333742074668407440185546875,"endTime":439.47399999999998954081092961132526397705078125,"body":"Dann habe ich mir gedacht, wenn ich peinlich selbstst\u00e4ndig werde,"},{"speaker":null,"startTime":439.7540000000000190993887372314929962158203125,"endTime":443.83400000000000318323145620524883270263671875,"body":"habe ich gegen\u00fcber meinen zu schulenden Vorsprung von ein, zwei Jahren an Wissen."},{"speaker":null,"startTime":444.0339999999999918145476840436458587646484375,"endTime":446.33400000000000318323145620524883270263671875,"body":"In C++ habe ich ein Wissen von zehn Jahren mindestens."},{"speaker":null,"startTime":446.71399999999999863575794734060764312744140625,"endTime":449.894000000000005456968210637569427490234375,"body":"Bis jemand das Wissen hat, was ich im Kopf habe, dauert es zehn Jahre,"},{"speaker":null,"startTime":449.894000000000005456968210637569427490234375,"endTime":453.71399999999999863575794734060764312744140625,"body":"sich das zehn Jahre intensiv besch\u00e4ftigt. Und durch das habe ich nat\u00fcrlich einen gewissen Schutz."},{"speaker":null,"startTime":454.43400000000002592059900052845478057861328125,"endTime":458.2939999999999827196006663143634796142578125,"body":"Ein bisschen pragmatisch habe ich auch gedacht. Und so halte ich jetzt zur Zeit"},{"speaker":null,"startTime":458.2939999999999827196006663143634796142578125,"endTime":462.0339999999999918145476840436458587646484375,"body":"so zehn 10 Pein-Schulungen pro Jahr und 30, 40 C++-Schulungen."},{"speaker":null,"startTime":462.2740000000000009094947017729282379150390625,"endTime":465.85399999999998499333742074668407440185546875,"body":"Also bis dieses Jahr, dieses Jahr ist es besonders. Aber so ungef\u00e4hr."},{"speaker":null,"startTime":466.2939999999999827196006663143634796142578125,"endTime":474.2540000000000190993887372314929962158203125,"body":"Ja, okay. Ja, okay, also so bist du dann dahin gekommen, dass du C++ schulen oder geschult hast."},{"speaker":null,"startTime":474.43400000000002592059900052845478057861328125,"endTime":477.913999999999987267074175179004669189453125,"body":"Jetzt hast du, ich wei\u00df gar nicht, ob es ganz zu Anfang gewesen ist,"},{"speaker":null,"startTime":477.97399999999998954081092961132526397705078125,"endTime":480.59399999999999408828443847596645355224609375,"body":"aber deine Webseite hei\u00dft ja Modernes C++."},{"speaker":null,"startTime":481.43400000000002592059900052845478057861328125,"endTime":485.634000000000014551915228366851806640625,"body":"Warum genau dieser Name? Das war eigentlich ein Zufall oder Absicht, je nachdem."},{"speaker":null,"startTime":485.7939999999999827196006663143634796142578125,"endTime":489.33400000000000318323145620524883270263671875,"body":"Ich habe beim Blog auf Deutsch angefangen. Der wurde dann relativ schnell relativ"},{"speaker":null,"startTime":489.33400000000000318323145620524883270263671875,"endTime":492.45400000000000773070496506989002227783203125,"body":"popul\u00e4r. Dann wollten die Engl\u00e4nder lesen, konnten sie nat\u00fcrlich nicht."},{"speaker":null,"startTime":492.5140000000000100044417195022106170654296875,"endTime":493.59399999999999408828443847596645355224609375,"body":"Oder Englischsprachige."},{"speaker":null,"startTime":493.7540000000000190993887372314929962158203125,"endTime":496.47399999999998954081092961132526397705078125,"body":"Dann habe ich ihn automatisch auf Englisch \u00fcbersetzen lassen."},{"speaker":null,"startTime":496.634000000000014551915228366851806640625,"endTime":498.5339999999999918145476840436458587646484375,"body":"Aber den deutschen Titel behalten, Modernes."},{"speaker":null,"startTime":498.73399999999998044586391188204288482666015625,"endTime":501.65399999999999636202119290828704833984375,"body":"Und irgendwann habe ich dann angefangen, gleich auf Englisch zu schreiben."},{"speaker":null,"startTime":501.81400000000002137312549166381359100341796875,"endTime":505.1739999999999781721271574497222900390625,"body":"Und dann \u00fcbersetze ich am Sonntag meine Artikel aufs Deutsche und dann landen"},{"speaker":null,"startTime":505.1739999999999781721271574497222900390625,"endTime":506.45400000000000773070496506989002227783203125,"body":"sie bei Heise. Heise Developer."},{"speaker":null,"startTime":507.83400000000000318323145620524883270263671875,"endTime":511.874000000000023646862246096134185791015625,"body":"Und ich habe damals \u00fcbrigens die Entwickler gefragt auf Heise."},{"speaker":null,"startTime":512.0140000000000100044417195022106170654296875,"endTime":515.5739999999999554347596131265163421630859375,"body":"Braucht ihr die Artikel wirklich noch auf Englisch? Auf Deutsch haben sie gesagt,"},{"speaker":null,"startTime":515.634000000000014551915228366851806640625,"endTime":518.2540000000000190993887372314929962158203125,"body":"ja. Ja. Die Mehrheit der Leute will immer noch Deutsch lesen."},{"speaker":null,"startTime":518.634000000000014551915228366851806640625,"endTime":521.7540000000000190993887372314929962158203125,"body":"Und so bin ich halt mit den zwei Sparen, da hab ich geendet."},{"speaker":null,"startTime":521.894000000000005456968210637569427490234375,"endTime":525.2140000000000554791768081486225128173828125,"body":"Und jetzt hei\u00dft es nicht Modernes, sondern Modernes. Weil mein Blog urspr\u00fcnglich"},{"speaker":null,"startTime":525.2140000000000554791768081486225128173828125,"endTime":525.9740000000000463842297904193401336669921875,"body":"aus dem Deutschen kommt."},{"speaker":null,"startTime":526.5720000000000027284841053187847137451171875,"endTime":530.67200000000002546585164964199066162109375,"body":"Ich glaube, ich habe jetzt seit 14 bei Deutschen. 14 Blogs oder was meinst du?"},{"speaker":null,"startTime":530.7920000000000300133251585066318511962890625,"endTime":532.23199999999997089616954326629638671875,"body":"Seit 14 habe ich meinen Blog."},{"speaker":null,"startTime":532.491999999999961801222525537014007568359375,"endTime":535.3519999999999754436430521309375762939453125,"body":"Seit 2014, ja, okay. Sorry, ich war zu kurz."},{"speaker":null,"startTime":536.73199999999997089616954326629638671875,"endTime":541.451999999999998181010596454143524169921875,"body":"Erkl\u00e4r uns mal ein bisschen, was ist f\u00fcr dich modernes C++?"},{"speaker":null,"startTime":542.6119999999999663486960344016551971435546875,"endTime":545.8120000000000118234311230480670928955078125,"body":"Was fasst du da drunter zusammen? Okay, jetzt \u00fcberlege ich gerade,"},{"speaker":null,"startTime":545.892000000000052750692702829837799072265625,"endTime":547.1920000000000072759576141834259033203125,"body":"wie werde ich ausholen, aber ich hole ein bisschen aus."},{"speaker":null,"startTime":547.471999999999979991116560995578765869140625,"endTime":552.392000000000052750692702829837799072265625,"body":"Es gibt praktisch, der Einzelhandel ver\u00f6ffentlicht, drei ganz gro\u00dfe C++-Standards."},{"speaker":null,"startTime":552.5720000000000027284841053187847137451171875,"endTime":555.7720000000000482032191939651966094970703125,"body":"Der erste, wo C++ \u00fcberhaupt definiert wurde, 1998."},{"speaker":null,"startTime":556.5720000000000027284841053187847137451171875,"endTime":561.67200000000002546585164964199066162109375,"body":"Dann der zweite Standard 2011. Da hat C++ total, laut Bjarne Stobstorp,"},{"speaker":null,"startTime":561.75199999999995270627550780773162841796875,"endTime":564.6119999999999663486960344016551971435546875,"body":"feels like a new language. Und dann der dritte ist 2020."},{"speaker":null,"startTime":565.5520000000000209183781407773494720458984375,"endTime":570.75199999999995270627550780773162841796875,"body":"Im Allgemeinen wird 2011 als modernes C++ bezeichnet. Und da geh\u00f6rt auch nur"},{"speaker":null,"startTime":570.75199999999995270627550780773162841796875,"endTime":573.1920000000000072759576141834259033203125,"body":"14 und 17 dazu. Das sind kleinere Standards."},{"speaker":null,"startTime":573.6920000000000072759576141834259033203125,"endTime":577.5520000000000209183781407773494720458984375,"body":"Alles f\u00fcr 11 gilt als Legacy. Und mit 20 f\u00fcr 20 haben wir noch keinen Namen"},{"speaker":null,"startTime":577.5520000000000209183781407773494720458984375,"endTime":578.73199999999997089616954326629638671875,"body":"gefunden. Da gibt es einfach keinen."},{"speaker":null,"startTime":579.1119999999999663486960344016551971435546875,"endTime":582.491999999999961801222525537014007568359375,"body":"Also das sind die drei Spr\u00fcnge. 98, 11, 20."},{"speaker":null,"startTime":583.1319999999999481588019989430904388427734375,"endTime":586.412000000000034560798667371273040771484375,"body":"Und der 26, \u00fcber den ich n\u00e4chste Woche anfange zu schreiben,"},{"speaker":null,"startTime":586.5720000000000027284841053187847137451171875,"endTime":587.7920000000000300133251585066318511962890625,"body":"Das ist wieder der n\u00e4chste Sprung."},{"speaker":null,"startTime":587.8719999999999572537490166723728179931640625,"endTime":591.73199999999997089616954326629638671875,"body":"Die Welt \u00e4ndert sich, die Anforderungen \u00e4ndern sich, also m\u00fcssen sich auch unsere"},{"speaker":null,"startTime":591.73199999999997089616954326629638671875,"endTime":595.23199999999997089616954326629638671875,"body":"Werkzeuge \u00e4ndern oder verbessern. Ja klar, kann ich verstehen."},{"speaker":null,"startTime":595.5320000000000391082721762359142303466796875,"endTime":602.991999999999961801222525537014007568359375,"body":"Das hei\u00dft also, wir haben dann dort neue Konzepte, \u00fcberarbeitete Konzepte und so weiter."},{"speaker":null,"startTime":603.011999999999943611328490078449249267578125,"endTime":606.67200000000002546585164964199066162109375,"body":"Ich kann es mal ganz auf drei Punkte runterbringen, um das ganz einfach zu machen."},{"speaker":null,"startTime":607.0520000000000209183781407773494720458984375,"endTime":611.75199999999995270627550780773162841796875,"body":"Okay, damit so ein bisschen die Zuh\u00f6rer wissen, ob es drei Punkte sind, wei\u00df ich nicht."},{"speaker":null,"startTime":612.0720000000000027284841053187847137451171875,"endTime":615.3319999999999936335370875895023345947265625,"body":"Ich habe gelogen, ich war gerade falsch. Nee, aber zum Beispiel,"},{"speaker":null,"startTime":615.3319999999999936335370875895023345947265625,"endTime":619.432000000000016370904631912708282470703125,"body":"will. Das erste Mal hat C++ eine Idee von Multitraining. Das ist 9.11."},{"speaker":null,"startTime":620.011999999999943611328490078449249267578125,"endTime":623.912000000000034560798667371273040771484375,"body":"Dann wurde die sogenannte Move-Semantik eingef\u00fchrt. Ich nehme jetzt mal ein"},{"speaker":null,"startTime":623.912000000000034560798667371273040771484375,"endTime":626.0520000000000209183781407773494720458984375,"body":"ganz bl\u00f6des Bild, weil ich nicht wei\u00df, wie viel ich annehmen kann."},{"speaker":null,"startTime":626.1920000000000072759576141834259033203125,"endTime":630.892000000000052750692702829837799072265625,"body":"Wenn ich das Haus vom Nachbarn will, gibt es zwei Optionen. Ich kann es kopieren oder ich kann es moven."},{"speaker":null,"startTime":631.1319999999999481588019989430904388427734375,"endTime":633.971999999999979991116560995578765869140625,"body":"Kopieren hei\u00dft, ich muss das ganze Haus zu mir \u00fcberkopieren,"},{"speaker":null,"startTime":634.0320000000000391082721762359142303466796875,"endTime":637.432000000000016370904631912708282470703125,"body":"dann kann ich mir auf den Finger hauen. Da k\u00f6nnen wir Ressourcen ausgeben."},{"speaker":null,"startTime":637.5919999999999845385900698602199554443359375,"endTime":640.451999999999998181010596454143524169921875,"body":"Und das dauert. Das ist riesig ressourcenintensiv. Moven bedeutet,"},{"speaker":null,"startTime":640.6920000000000072759576141834259033203125,"endTime":643.8719999999999572537490166723728179931640625,"body":"gerade in dem Augenblick, wo ich es haben will, stirbt mein Nachbar und er schmei\u00dft"},{"speaker":null,"startTime":643.8719999999999572537490166723728179931640625,"endTime":647.67200000000002546585164964199066162109375,"body":"mir seinen letzten den Anzug des Schl\u00fcssels zu. Und das kann der Compiler \u00f6fter sehen."},{"speaker":null,"startTime":647.991999999999961801222525537014007568359375,"endTime":650.6319999999999481588019989430904388427734375,"body":"Daten, die nicht mehr ben\u00f6tigt werden, kann er wiederverwenden."},{"speaker":null,"startTime":650.73199999999997089616954326629638671875,"endTime":652.8519999999999754436430521309375762939453125,"body":"Und das ist ein Warts-Performance-Vorteil."},{"speaker":null,"startTime":653.152000000000043655745685100555419921875,"endTime":657.0720000000000027284841053187847137451171875,"body":"Und das wurde implizit eingef\u00fchrt. Das passiert implizit mit Elf."},{"speaker":null,"startTime":657.0919999999999845385900698602199554443359375,"endTime":658.2720000000000482032191939651966094970703125,"body":"Nennt sich Move-Semantik."},{"speaker":null,"startTime":658.7720000000000482032191939651966094970703125,"endTime":663.0720000000000027284841053187847137451171875,"body":"Fr\u00fcher wurde da immer ein neues Objekt erzeugt und dann weggeschmissen. Heute klaust du dir das."},{"speaker":null,"startTime":663.767000000000052750692702829837799072265625,"endTime":668.2269999999999754436430521309375762939453125,"body":"Ach so, das hei\u00dft also, so ein Objekt, was mal irgendwie angelegt worden ist,"},{"speaker":null,"startTime":668.326999999999998181010596454143524169921875,"endTime":674.9869999999999663486960344016551971435546875,"body":"das wird gar nicht mehr wirklich dann ... Wenn der Compiler es sicherstellen kann, dann macht er das."},{"speaker":null,"startTime":675.267000000000052750692702829837799072265625,"endTime":679.2269999999999754436430521309375762939453125,"body":"Also es wird nicht wirklich gel\u00f6scht, sondern es wird quasi irgendwo vorgehalten."},{"speaker":null,"startTime":679.2269999999999754436430521309375762939453125,"endTime":679.9869999999999663486960344016551971435546875,"body":"Der Besitz wird \u00fcbergeben, ja."},{"speaker":null,"startTime":680.307000000000016370904631912708282470703125,"endTime":685.527000000000043655745685100555419921875,"body":"Und wenn jemand anders den Besitz haben m\u00f6chte, dann kann er damit machen und"},{"speaker":null,"startTime":685.527000000000043655745685100555419921875,"endTime":688.9070000000000391082721762359142303466796875,"body":"tun, was er will. Du kannst dir das vorstellen wie ein Auto oder ein Haus,"},{"speaker":null,"startTime":689.027000000000043655745685100555419921875,"endTime":694.1870000000000118234311230480670928955078125,"body":"wo die Daten, ich schlie\u00dfe das Haus, und die Autor testet nur den Schl\u00fcssel dazu."},{"speaker":null,"startTime":694.6870000000000118234311230480670928955078125,"endTime":697.4869999999999663486960344016551971435546875,"body":"Was \u00fcbergeben wird, ist der Handy, der Schl\u00fcssel. Ja, genau."},{"speaker":null,"startTime":697.6470000000000482032191939651966094970703125,"endTime":700.866999999999961801222525537014007568359375,"body":"Und damit kann ich dann einsteigen. Und durch das hat man mitbekommen,"},{"speaker":null,"startTime":700.9270000000000209183781407773494720458984375,"endTime":704.4869999999999663486960344016551971435546875,"body":"dass die gro\u00dfen Applikationen um 20 bis 30 Prozent schneller wurden."},{"speaker":null,"startTime":704.7069999999999936335370875895023345947265625,"endTime":707.6470000000000482032191939651966094970703125,"body":"Ohne was am Source Code zu \u00e4ndern. Nur neu kompiliert mit einem neuen Standard."},{"speaker":null,"startTime":708.287000000000034560798667371273040771484375,"endTime":712.1870000000000118234311230480670928955078125,"body":"Die ganz gro\u00dfen Firmen arbeiten alle in der Standardisierung mit."},{"speaker":null,"startTime":712.767000000000052750692702829837799072265625,"endTime":716.386999999999943611328490078449249267578125,"body":"Wie Microsoft, Google, Nvidia, du kennst sie alle. Okay."},{"speaker":null,"startTime":716.9869999999999663486960344016551971435546875,"endTime":721.4070000000000391082721762359142303466796875,"body":"Und das war jetzt 2011? Das war 2011."},{"speaker":null,"startTime":721.826999999999998181010596454143524169921875,"endTime":724.9669999999999845385900698602199554443359375,"body":"Also das, was da mit reingekommen ist. Also auf Kernsprache w\u00fcrde ich sagen,"},{"speaker":null,"startTime":725.2069999999999936335370875895023345947265625,"endTime":727.2269999999999754436430521309375762939453125,"body":"war es Move-Semantik, was ich gerade erz\u00e4hlt habe."},{"speaker":null,"startTime":727.60699999999997089616954326629638671875,"endTime":734.62699999999995270627550780773162841796875,"body":"Auf Library-Ebene war es auch die Smart-Pointer. Machst du Python?"},{"speaker":null,"startTime":735.12699999999995270627550780773162841796875,"endTime":738.527000000000043655745685100555419921875,"body":"Ich jetzt pers\u00f6nlich? Ja, ja. Nee, leider nicht."},{"speaker":null,"startTime":738.54700000000002546585164964199066162109375,"endTime":742.5069999999999481588019989430904388427734375,"body":"In Interpretersprachen ist es typischerweise so, dass jedes Objekt einen smarten"},{"speaker":null,"startTime":742.5069999999999481588019989430904388427734375,"endTime":745.307000000000016370904631912708282470703125,"body":"Pointer drin hat. Und immer wenn das Objekt out of scope geht,"},{"speaker":null,"startTime":745.386999999999943611328490078449249267578125,"endTime":749.267000000000052750692702829837799072265625,"body":"r\u00e4umt sich die Datenstruktur selber auf, weil die mitz\u00e4hlt, wie h\u00e4ufig sie benutzt wird."},{"speaker":null,"startTime":749.4869999999999663486960344016551971435546875,"endTime":756.6670000000000300133251585066318511962890625,"body":"Ach so, die z\u00e4hlt also die Anzahl der genutzten Verlinkungen und wenn die abgegeben"},{"speaker":null,"startTime":756.6670000000000300133251585066318511962890625,"endTime":759.7069999999999936335370875895023345947265625,"body":"werden, wird es wieder reduziert und wenn es auf Null ist, dann kann man das"},{"speaker":null,"startTime":759.7069999999999936335370875895023345947265625,"endTime":762.1670000000000300133251585066318511962890625,"body":"Objekt wegr\u00e4umen. Stell dir das vor wie Autolosing."},{"speaker":null,"startTime":762.366999999999961801222525537014007568359375,"endTime":764.287000000000034560798667371273040771484375,"body":"Jeder hat einen Schl\u00fcssel, wenn jeder einen Schl\u00fcssel abgegeben hat,"},{"speaker":null,"startTime":764.346999999999979991116560995578765869140625,"endTime":766.9869999999999663486960344016551971435546875,"body":"kann man das Auto l\u00f6schen. Ja, genau. So funktioniert Shared Pointer."},{"speaker":null,"startTime":767.3110000000000354702933691442012786865234375,"endTime":771.0910000000000081854523159563541412353515625,"body":"Es ist automatisch in jedem Interpreterspeicher wie Python drin, in jedem Objekt."},{"speaker":null,"startTime":771.2910000000000536601874046027660369873046875,"endTime":774.8709999999999809006112627685070037841796875,"body":"Und in C++ kann man es explizit machen. Da haben wir verschiedene Smart Pointers."},{"speaker":null,"startTime":775.0910000000000081854523159563541412353515625,"endTime":776.8310000000000172803993336856365203857421875,"body":"Also Pointer, die sich selber aufr\u00e4umen."},{"speaker":null,"startTime":777.230999999999994543031789362430572509765625,"endTime":781.8709999999999809006112627685070037841796875,"body":"Alles klar. Und durch das gibt es im modernen C++ auf Anwendungsebene keinen"},{"speaker":null,"startTime":781.8709999999999809006112627685070037841796875,"endTime":783.730999999999994543031789362430572509765625,"body":"Grund mehr, Speicher zu allokieren."},{"speaker":null,"startTime":783.8310000000000172803993336856365203857421875,"endTime":788.6109999999999899955582804977893829345703125,"body":"Weil das ist genauso schnell, genauso ressourcenarm und es gibt ja die zus\u00e4tzliche Sicherheit."},{"speaker":null,"startTime":788.8310000000000172803993336856365203857421875,"endTime":793.191000000000030922819860279560089111328125,"body":"Das wird automatisch aufger\u00e4umt. Und das ist das wichtigste Feature auf der Library. Bremen."},{"speaker":null,"startTime":793.270999999999958163243718445301055908203125,"endTime":796.671000000000049112713895738124847412109375,"body":"Ah, das hei\u00dft also, ich brauche nicht wirklich nochmal herzugehen und diesen"},{"speaker":null,"startTime":796.671000000000049112713895738124847412109375,"endTime":799.5510000000000445652403868734836578369140625,"body":"Speicher zu allokieren, was ja auch dann wieder f\u00fcr viele Leute dann,"},{"speaker":null,"startTime":799.6509999999999536157702095806598663330078125,"endTime":805.1109999999999899955582804977893829345703125,"body":"ja, das ist ja auch ein anderes Gedankenkonstrukt, was man dann verfolgen muss, ne?"},{"speaker":null,"startTime":805.191000000000030922819860279560089111328125,"endTime":807.8509999999999990905052982270717620849609375,"body":"Wir haben was in C++, das ist gigantisch."},{"speaker":null,"startTime":808.3110000000000354702933691442012786865234375,"endTime":813.270999999999958163243718445301055908203125,"body":"Und da muss ich sagen, \u00e4rgert es mich immer, wenn jahre Leute das nicht verstehen."},{"speaker":null,"startTime":813.47100000000000363797880709171295166015625,"endTime":816.5510000000000445652403868734836578369140625,"body":"Wir haben deterministisches Destruktionsverhalten. Das hei\u00dft,"},{"speaker":null,"startTime":816.6109999999999899955582804977893829345703125,"endTime":818.990999999999985448084771633148193359375,"body":"wir haben die Garantie, wenn was out of scope geht, \u00fcbrigens auch in C,"},{"speaker":null,"startTime":819.1109999999999899955582804977893829345703125,"endTime":822.1109999999999899955582804977893829345703125,"body":"wird automatisch der Destrukt aufgerufen. Da k\u00f6nnen wir uns auf den Kopf stellen,"},{"speaker":null,"startTime":822.230999999999994543031789362430572509765625,"endTime":826.191000000000030922819860279560089111328125,"body":"k\u00f6nnen tun, was wir wollen, kommen nicht drumherum. Und dieses Feature ruft uns mehr aus."},{"speaker":null,"startTime":826.4510000000000218278728425502777099609375,"endTime":831.230999999999994543031789362430572509765625,"body":"Okay, und der Vorteil im C++ ist jetzt, also im Vergleich zum Java,"},{"speaker":null,"startTime":831.3909999999999627107172273099422454833984375,"endTime":835.3110000000000354702933691442012786865234375,"body":"was du jetzt gerade ja gesagt hast, beim Java muss immer dann dieser Garbage-Collector"},{"speaker":null,"startTime":835.3110000000000354702933691442012786865234375,"endTime":837.3709999999999809006112627685070037841796875,"body":"laufen und das dann wegr\u00e4umen."},{"speaker":null,"startTime":837.51099999999996725819073617458343505859375,"endTime":839.5710000000000263753463514149188995361328125,"body":"Und der ist nicht deterministisch."},{"speaker":null,"startTime":839.750999999999976353137753903865814208984375,"endTime":844.5309999999999490682967007160186767578125,"body":"Genau, und im C++ ist es genau in dem Moment, wo der Pointer auf Null geht,"},{"speaker":null,"startTime":844.691000000000030922819860279560089111328125,"endTime":850.43100000000004001776687800884246826171875,"body":"also der Smart-Pointer keine Referenz mehr nachweisen kann, dann r\u00e4umt er das"},{"speaker":null,"startTime":850.43100000000004001776687800884246826171875,"endTime":854.43100000000004001776687800884246826171875,"body":"weg. Genau, und aus dem Grund, Python ist da genauso wie Java drauf \u00fcbrigens."},{"speaker":null,"startTime":854.691000000000030922819860279560089111328125,"endTime":858.2910000000000536601874046027660369873046875,"body":"Aus dem Grund k\u00f6nnen wir ganz, ganz kritische Operationen im Destructor machen."},{"speaker":null,"startTime":858.43100000000004001776687800884246826171875,"endTime":861.1309999999999718056642450392246246337890625,"body":"Was in Java oder Python du nicht machen darfst."},{"speaker":null,"startTime":861.3310000000000172803993336856365203857421875,"endTime":866.47100000000000363797880709171295166015625,"body":"Jetzt warst du aber immer noch bei dem modernen C++ aus dem Jahre 2011."},{"speaker":null,"startTime":867.3509999999999990905052982270717620849609375,"endTime":871.01099999999996725819073617458343505859375,"body":"Dann hupfe ich jetzt zu 20, oder? Ja, genau, mach mal. Oder nee,"},{"speaker":null,"startTime":871.0910000000000081854523159563541412353515625,"endTime":871.770999999999958163243718445301055908203125,"body":"ich mache keinen Switch."},{"speaker":null,"startTime":872.01099999999996725819073617458343505859375,"endTime":876.93100000000004001776687800884246826171875,"body":"Wir wollen ja so ein bisschen Einblicke geben, was modernes C++ ist."},{"speaker":null,"startTime":876.93100000000004001776687800884246826171875,"endTime":878.171000000000049112713895738124847412109375,"body":"Ich mache einen kleinen Zwischenhub."},{"speaker":null,"startTime":878.3110000000000354702933691442012786865234375,"endTime":881.3709999999999809006112627685070037841796875,"body":"Die STL hat \u00fcber um die 100 Algorithmen."},{"speaker":null,"startTime":881.6309999999999718056642450392246246337890625,"endTime":885.8110000000000354702933691442012786865234375,"body":"In 17, das ist ein kleines Feature. Und jetzt kann man fast alle Algorithmen"},{"speaker":null,"startTime":885.8110000000000354702933691442012786865234375,"endTime":888.1309999999999718056642450392246246337890625,"body":"in parallel oder vektorisiert ausf\u00fchren."},{"speaker":null,"startTime":888.2910000000000536601874046027660369873046875,"endTime":892.490999999999985448084771633148193359375,"body":"Man kann es sagen Sort, und dann sagt man, stut, exec, par, und dann wird es"},{"speaker":null,"startTime":892.490999999999985448084771633148193359375,"endTime":895.0309999999999490682967007160186767578125,"body":"parallel gestortiert. Das ist einfach ein Fleck, das mitgibt."},{"speaker":null,"startTime":895.5710000000000263753463514149188995361328125,"endTime":899.4510000000000218278728425502777099609375,"body":"Und dann wird es unter der Decke auf eine, vielleicht auf einen Memory Pool"},{"speaker":null,"startTime":899.4510000000000218278728425502777099609375,"endTime":902.3909999999999627107172273099422454833984375,"body":"umgeleitet, auf einen Thread Pool, sorry. Auf einen Thread Pool umgeleitet,"},{"speaker":null,"startTime":902.47100000000000363797880709171295166015625,"endTime":903.47100000000000363797880709171295166015625,"body":"und dann l\u00e4uft es auf einen Thread Pool."},{"speaker":null,"startTime":903.691000000000030922819860279560089111328125,"endTime":906.51099999999996725819073617458343505859375,"body":"Unter Windows wird da die PPL verwendet, Parallel Pattern Hybrid."},{"speaker":null,"startTime":906.93100000000004001776687800884246826171875,"endTime":912.5710000000000263753463514149188995361328125,"body":"Unter GTC-Linux klang die TBP, die Static Building Blocks vom Intel."},{"speaker":null,"startTime":912.770999999999958163243718445301055908203125,"endTime":915.8310000000000172803993336856365203857421875,"body":"Das hei\u00dft, du kannst diese genialen Algorithmen, die wir haben,"},{"speaker":null,"startTime":915.97100000000000363797880709171295166015625,"endTime":919.6509999999999536157702095806598663330078125,"body":"100 St\u00fcck automatisch parallelisiert oder auch vektorisiert ausf\u00fchren,"},{"speaker":null,"startTime":919.691000000000030922819860279560089111328125,"endTime":920.8909999999999627107172273099422454833984375,"body":"also mit Vektorinstruktionen."},{"speaker":null,"startTime":920.9510000000000218278728425502777099609375,"endTime":922.4510000000000218278728425502777099609375,"body":"SIMD zum Beispiel oder so Zeug."},{"speaker":null,"startTime":922.5510000000000445652403868734836578369140625,"endTime":926.171000000000049112713895738124847412109375,"body":"Wo eine Operation nicht auf einem, sondern auf mehreren Elementen gleichzeitig stattfindet."},{"speaker":null,"startTime":926.2910000000000536601874046027660369873046875,"endTime":929.3310000000000172803993336856365203857421875,"body":"Okay, ich glaube, mich hast du jetzt gerade abgeh\u00e4ngt."},{"speaker":null,"startTime":930.270999999999958163243718445301055908203125,"endTime":934.0510000000000445652403868734836578369140625,"body":"Weil ich so tief nie in diese SDL eingestiegen bin."},{"speaker":null,"startTime":934.3110000000000354702933691442012786865234375,"endTime":937.1309999999999718056642450392246246337890625,"body":"Naja, aber das ist einfach ein riesiger Bunch von Algorithmen."},{"speaker":null,"startTime":937.230999999999994543031789362430572509765625,"endTime":940.8310000000000172803993336856365203857421875,"body":"Und die Algorithmen kannst du jetzt einfach parallel ausf\u00fchren."},{"speaker":null,"startTime":941.171000000000049112713895738124847412109375,"endTime":944.0910000000000081854523159563541412353515625,"body":"Ich glaube, das kann man noch ein bisschen greifen."},{"speaker":null,"startTime":945.366999999999961801222525537014007568359375,"endTime":950.10699999999997089616954326629638671875,"body":"Das war auch noch ein wichtiger Zwischenschritt in diese kleinen \u00c4nderungen,"},{"speaker":null,"startTime":950.1670000000000300133251585066318511962890625,"endTime":951.807000000000016370904631912708282470703125,"body":"hast du gesagt, 2017. In 17, ja."},{"speaker":null,"startTime":952.2069999999999936335370875895023345947265625,"endTime":956.267000000000052750692702829837799072265625,"body":"Und jetzt kommt 20 mit einer ganz gro\u00dfen \u00c4nderung. Du musst sofort mich unterbrechen,"},{"speaker":null,"startTime":956.346999999999979991116560995578765869140625,"endTime":958.1470000000000482032191939651966094970703125,"body":"wenn ich sage, ich bin wieder zu tief abgedriftet."},{"speaker":null,"startTime":959.267000000000052750692702829837799072265625,"endTime":962.826999999999998181010596454143524169921875,"body":"Ich wei\u00df nicht genau. Wir wollen ja hier noch eine C++-Schulung machen,"},{"speaker":null,"startTime":962.9070000000000391082721762359142303466796875,"endTime":967.386999999999943611328490078449249267578125,"body":"damit musst du ja noch Geld verdienen. Ja, ja, ja, da habe ich genug noch."},{"speaker":null,"startTime":967.886999999999943611328490078449249267578125,"endTime":971.4869999999999663486960344016551971435546875,"body":"Da habe ich noch andere Untiefen, sag ich mal so. In C++ gibt es Templates."},{"speaker":null,"startTime":971.7269999999999754436430521309375762939453125,"endTime":974.4270000000000209183781407773494720458984375,"body":"Templates haben ein riesiges Problem. Wenn du einen generischen,"},{"speaker":null,"startTime":974.4669999999999845385900698602199554443359375,"endTime":977.807000000000016370904631912708282470703125,"body":"zum Beispiel stell mal vor, du hast einen Algorithmus, der f\u00fcr Addition steht, wie jetzt."},{"speaker":null,"startTime":977.9470000000000027284841053187847137451171875,"endTime":981.527000000000043655745685100555419921875,"body":"Dann kannst du mit jedem Datentyp aufrufen. Aber das geht nat\u00fcrlich nicht bei"},{"speaker":null,"startTime":981.527000000000043655745685100555419921875,"endTime":983.366999999999961801222525537014007568359375,"body":"jedem, weil nicht jeden Datentyp kann man addieren."},{"speaker":null,"startTime":983.9470000000000027284841053187847137451171875,"endTime":988.04700000000002546585164964199066162109375,"body":"Und aus dem Grund haben Templates ein Problem hier. Weil es gibt keine generischen"},{"speaker":null,"startTime":988.04700000000002546585164964199066162109375,"endTime":991.6870000000000118234311230480670928955078125,"body":"Datentypen. F\u00e4llt dir eine Funktion ein, die f\u00fcr alle Datentypen funktioniert?"},{"speaker":null,"startTime":994.1870000000000118234311230480670928955078125,"endTime":996.9869999999999663486960344016551971435546875,"body":"Vielleicht concatenieren? Da brauchst du ein Plus. Brauche ich auch ein Plus?"},{"speaker":null,"startTime":996.9869999999999663486960344016551971435546875,"endTime":999.9869999999999663486960344016551971435546875,"body":"Noch weniger Anstrengungen hat Identity."},{"speaker":null,"startTime":1000.12699999999995270627550780773162841796875,"endTime":1003.346999999999979991116560995578765869140625,"body":"Die Funktion Identity, die Elemente da drau\u00dfen wieder rausreicht."},{"speaker":null,"startTime":1003.4869999999999663486960344016551971435546875,"endTime":1007.12699999999995270627550780773162841796875,"body":"Ich will nur sagen, es gibt keine generischen Datum. Es gibt keine Datum,"},{"speaker":null,"startTime":1007.1470000000000482032191939651966094970703125,"endTime":1008.307000000000016370904631912708282470703125,"body":"auf denen alle Algorithmus laufen."},{"speaker":null,"startTime":1009.12699999999995270627550780773162841796875,"endTime":1014.7069999999999936335370875895023345947265625,"body":"Aus dem Grund hat man in C++20 ein Typsystem f\u00fcr das generische Programm hineingef\u00fchrt."},{"speaker":null,"startTime":1014.846999999999979991116560995578765869140625,"endTime":1019.787000000000034560798667371273040771484375,"body":"Da kannst du einen Algorithmus definieren und sagst, du darfst hier nur rein, wenn du eine Zahl bist."},{"speaker":null,"startTime":1020.12699999999995270627550780773162841796875,"endTime":1022.307000000000016370904631912708282470703125,"body":"Also es geht nicht darum, ob es bool ist, float oder double."},{"speaker":null,"startTime":1022.527000000000043655745685100555419921875,"endTime":1025.08699999999998908606357872486114501953125,"body":"Es geht darum, ob es eine Zahl ist. Ob es zum Beispiel plus,"},{"speaker":null,"startTime":1025.08699999999998908606357872486114501953125,"endTime":1027.386999999999943611328490078449249267578125,"body":"minus, bar, log, geteilt kann. dann musst du dir \u00fcberlegen, was Zahl bedeutet."},{"speaker":null,"startTime":1028.12699999999995270627550780773162841796875,"endTime":1031.12699999999995270627550780773162841796875,"body":"Dann kannst du Algorithmen definieren, die auf Ordnung basieren."},{"speaker":null,"startTime":1031.186999999999898136593401432037353515625,"endTime":1034.027000000000043655745685100555419921875,"body":"Oder Klassen. Du darfst hier nur rein, wenn du in die Ordnung unterst\u00fctzt."},{"speaker":null,"startTime":1034.207000000000107320374809205532073974609375,"endTime":1035.58699999999998908606357872486114501953125,"body":"Wenn du wei\u00dft, was da kleiner ist."},{"speaker":null,"startTime":1035.787000000000034560798667371273040771484375,"endTime":1039.0670000000000072759576141834259033203125,"body":"Und das ist eine Programmierung auf einer ganz, ganz abstrakten neuen Ebene."},{"speaker":null,"startTime":1039.207000000000107320374809205532073974609375,"endTime":1040.707000000000107320374809205532073974609375,"body":"Das sind Concepts, nennt sich das."},{"speaker":null,"startTime":1040.96700000000009822542779147624969482421875,"endTime":1043.96700000000009822542779147624969482421875,"body":"Ein Typsystem f\u00fcr Templates. Bin ich ehrlich gesagt ein Riesenfan davon."},{"speaker":null,"startTime":1044.186999999999898136593401432037353515625,"endTime":1049.267000000000052750692702829837799072265625,"body":"Und damit h\u00f6ren diese ekligen Fehlermeldungen, f\u00fcr die C++ ber\u00fcchtigt ist bei Templates auf."},{"speaker":null,"startTime":1050.346999999999979991116560995578765869140625,"endTime":1056.12699999999995270627550780773162841796875,"body":"Die werden deutlich lesbarer und auf paar Zellen reduziert. Das war ein Riesenproblem bei Templates."},{"speaker":null,"startTime":1056.326999999999998181010596454143524169921875,"endTime":1061.307000000000016370904631912708282470703125,"body":"Das zweite Ding, was neu ist, und das wird jetzt ein bisschen technisch."},{"speaker":null,"startTime":1061.307000000000016370904631912708282470703125,"endTime":1063.787000000000034560798667371273040771484375,"body":"Fangen wir mal mit dem an. Das zweite sind Module."},{"speaker":null,"startTime":1064.08699999999998908606357872486114501953125,"endTime":1067.906999999999925421434454619884490966796875,"body":"Das hei\u00dft, wie in Python und anderen Programmier-Sparen wollen wir von Include-Dateien"},{"speaker":null,"startTime":1067.906999999999925421434454619884490966796875,"endTime":1069.787000000000034560798667371273040771484375,"body":"wegkommen. Und wir wollen auf Module kommen."},{"speaker":null,"startTime":1070.00700000000006184563972055912017822265625,"endTime":1073.767000000000052750692702829837799072265625,"body":"Das ist wie ein vorkompilierter Source Code. So wie in Python oder auch in Java."},{"speaker":null,"startTime":1073.946999999999889041646383702754974365234375,"endTime":1076.50700000000006184563972055912017822265625,"body":"Du hast sowas in Module. Eher wie in Python, aber das ist jetzt egal."},{"speaker":null,"startTime":1076.826999999999998181010596454143524169921875,"endTime":1079.886999999999943611328490078449249267578125,"body":"Der Vorteil ist riesig. Erstens, Markos machen immer noch Probleme."},{"speaker":null,"startTime":1080.186999999999898136593401432037353515625,"endTime":1083.807000000000016370904631912708282470703125,"body":"Doppel definiert. Ich zeige dir von ab, welche Reihenfolge du nimmst und so weiter."},{"speaker":null,"startTime":1084.00700000000006184563972055912017822265625,"endTime":1087.527000000000043655745685100555419921875,"body":"Und zweitens ist das, das dauernde Inkludieren vom z.B."},{"speaker":null,"startTime":1087.66699999999991632648743689060211181640625,"endTime":1091.027000000000043655745685100555419921875,"body":"Header String ist wahnsinnig teuer. Und die Erfahrung hat gezeigt,"},{"speaker":null,"startTime":1091.207000000000107320374809205532073974609375,"endTime":1095.446999999999889041646383702754974365234375,"body":"wenn du gro\u00dfe Libraries von Header auf Module umstellst, dass die Kompilierzeiten"},{"speaker":null,"startTime":1095.446999999999889041646383702754974365234375,"endTime":1098.1469999999999345163814723491668701171875,"body":"sich auf den Faktor 10 mindestens verbessern."},{"speaker":null,"startTime":1098.267000000000052750692702829837799072265625,"endTime":1102.54700000000002546585164964199066162109375,"body":"Das hei\u00dft, in C++23, so jetzt bei deinem Sprung, sagst du nur Import STD,"},{"speaker":null,"startTime":1102.747000000000070940586738288402557373046875,"endTime":1104.6469999999999345163814723491668701171875,"body":"du hast die ganze Library drin. Das ist alles."},{"speaker":null,"startTime":1104.846999999999979991116560995578765869140625,"endTime":1107.04700000000002546585164964199066162109375,"body":"Das ist wahnsinnig benutzerfreundlich, wahnsinnig einfach."},{"speaker":null,"startTime":1107.267000000000052750692702829837799072265625,"endTime":1111.267000000000052750692702829837799072265625,"body":"Und du deutlich die Kompilierungszeiten nach oben schie\u00dft. Die Zahlen sind \u00fcbrigens"},{"speaker":null,"startTime":1111.267000000000052750692702829837799072265625,"endTime":1114.54700000000002546585164964199066162109375,"body":"nicht vermindert von Bjarne selber. Also Bjarne ist tost, weil ich es immer sage."},{"speaker":null,"startTime":1115.4870000000000800355337560176849365234375,"endTime":1118.247000000000070940586738288402557373046875,"body":"Okay. Das ist schon das zweite gro\u00dfe Feature."},{"speaker":null,"startTime":1118.50700000000006184563972055912017822265625,"endTime":1122.267000000000052750692702829837799072265625,"body":"Das dritte sind, ich wei\u00df nicht, wer es hier kennt, Co-Routine."},{"speaker":null,"startTime":1122.4870000000000800355337560176849365234375,"endTime":1126.0670000000000072759576141834259033203125,"body":"Das ist ein St\u00fcck, das man in Verbindung bringt. Bitcoin-Code, das ist etwas anderes."},{"speaker":null,"startTime":1126.346999999999979991116560995578765869140625,"endTime":1131.287000000000034560798667371273040771484375,"body":"Co-Routine ist eine verallgemeinete Funktion, die man anrufen kann und die dann pausiert."},{"speaker":null,"startTime":1131.4870000000000800355337560176849365234375,"endTime":1134.16699999999991632648743689060211181640625,"body":"Du rufst die Funktion auf, dann arbeitet sie, dann sagt sie,"},{"speaker":null,"startTime":1134.247000000000070940586738288402557373046875,"endTime":1136.227000000000089130480773746967315673828125,"body":"ich bin fertig, dann geht sie wieder zum Aufrufen zur\u00fcck."},{"speaker":null,"startTime":1136.54700000000002546585164964199066162109375,"endTime":1139.6469999999999345163814723491668701171875,"body":"Und sp\u00e4ter kannst du nochmal aufrufen und dann arbeitet sie an der Stelle weiter."},{"speaker":null,"startTime":1139.787000000000034560798667371273040771484375,"endTime":1141.527000000000043655745685100555419921875,"body":"Das nennt sich Asynchronen-Programmierung."},{"speaker":null,"startTime":1141.767000000000052750692702829837799072265625,"endTime":1145.747000000000070940586738288402557373046875,"body":"Okay, warum springt sie an die Stelle zur\u00fcck, wo sie aufgeh\u00f6rt hat?"},{"speaker":null,"startTime":1145.747000000000070940586738288402557373046875,"endTime":1148.846999999999979991116560995578765869140625,"body":"Beziehungsweise warum hat... Das ist die Magie des Frameworks,"},{"speaker":null,"startTime":1149.00700000000006184563972055912017822265625,"endTime":1150.16699999999991632648743689060211181640625,"body":"die sich den Zustand wirkt."},{"speaker":null,"startTime":1150.326999999999998181010596454143524169921875,"endTime":1152.846999999999979991116560995578765869140625,"body":"Warum musste sie denn an der Stelle aufh\u00f6ren, diese Core-Routine?"},{"speaker":null,"startTime":1153.10699999999997089616954326629638671875,"endTime":1157.787000000000034560798667371273040771484375,"body":"Zum Beispiel... Zum Beispiel, es gibt ganz klassische Beispiele."},{"speaker":null,"startTime":1157.906999999999925421434454619884490966796875,"endTime":1160.386999999999943611328490078449249267578125,"body":"Immer wenn du viel warten musst, Python macht das sehr viel,"},{"speaker":null,"startTime":1160.50700000000006184563972055912017822265625,"endTime":1163.787000000000034560798667371273040771484375,"body":"willst du intelligent werden, du willst nicht blockieren, sondern du willst was anders tun."},{"speaker":null,"startTime":1163.946999999999889041646383702754974365234375,"endTime":1166.247000000000070940586738288402557373046875,"body":"Du hast einen Server, der wartet auf einen Incoming-Request,"},{"speaker":null,"startTime":1166.426999999999907231540419161319732666015625,"endTime":1167.307000000000016370904631912708282470703125,"body":"der soll nicht blockieren."},{"speaker":null,"startTime":1167.50700000000006184563972055912017822265625,"endTime":1170.446999999999889041646383702754974365234375,"body":"Da geht der Server zur\u00fcck an jemand anderes und dann, wenn der Client fertig"},{"speaker":null,"startTime":1170.446999999999889041646383702754974365234375,"endTime":1173.1469999999999345163814723491668701171875,"body":"ist mit seiner Konnektion, sagt der Server, hey, komm wieder zur\u00fcck,"},{"speaker":null,"startTime":1173.247000000000070940586738288402557373046875,"endTime":1176.60699999999997089616954326629638671875,"body":"du kannst die Verbindung annehmen. Ah, okay."},{"speaker":null,"startTime":1176.787000000000034560798667371273040771484375,"endTime":1179.826999999999998181010596454143524169921875,"body":"Und dann springt er wieder da rein. Und dadurch kannst du ganz intelligent Es"},{"speaker":null,"startTime":1179.826999999999998181010596454143524169921875,"endTime":1183.16699999999991632648743689060211181640625,"body":"gibt in der Core-Currency praktisch zwei Prinzipien, performance-orientiert."},{"speaker":null,"startTime":1183.207000000000107320374809205532073974609375,"endTime":1187.16699999999991632648743689060211181640625,"body":"Es gibt Dinge, die sind rechenintensiv und es gibt Dinge, die sind wartintensiv."},{"speaker":null,"startTime":1187.60699999999997089616954326629638671875,"endTime":1190.60699999999997089616954326629638671875,"body":"Rechenintensiv w\u00e4re, du m\u00f6chtest eine ganz gro\u00dfe Lass-Elektro zusammenartieren."},{"speaker":null,"startTime":1190.66699999999991632648743689060211181640625,"endTime":1191.727000000000089130480773746967315673828125,"body":"Da hilft dann nur viel Hardware."},{"speaker":null,"startTime":1192.04700000000002546585164964199066162109375,"endTime":1195.866999999999961801222525537014007568359375,"body":"Aber wartintensiv bedeutet, du kannst warten, wenn was passiert."},{"speaker":null,"startTime":1196.54700000000002546585164964199066162109375,"endTime":1200.946999999999889041646383702754974365234375,"body":"Dann kannst du jemand anders laufen lassen. Ja. Und das Endspiel von Core-Routine,"},{"speaker":null,"startTime":1201.0670000000000072759576141834259033203125,"endTime":1204.66699999999991632648743689060211181640625,"body":"das wird ein bisschen technisch, du kannst auf dem Userspace einen Scheduler"},{"speaker":null,"startTime":1204.66699999999991632648743689060211181640625,"endTime":1205.787000000000034560798667371273040771484375,"body":"schreiben, der nur Co-Routine."},{"speaker":null,"startTime":1206.16699999999991632648743689060211181640625,"endTime":1209.1469999999999345163814723491668701171875,"body":"Du kannst praktisch sowas wie Spreading simulieren. Weil die Funktionen,"},{"speaker":null,"startTime":1209.1469999999999345163814723491668701171875,"endTime":1211.9870000000000800355337560176849365234375,"body":"die angehalten werden, wieder aufgenommen werden, kannst du dir vorstellen, wie das wird."},{"speaker":null,"startTime":1212.12699999999995270627550780773162841796875,"endTime":1214.5670000000000072759576141834259033203125,"body":"Dann schreibst du einen kleinen Scheduler und der sagt immer,"},{"speaker":null,"startTime":1214.66699999999991632648743689060211181640625,"endTime":1217.866999999999961801222525537014007568359375,"body":"jetzt lauft der n\u00e4chste Lauf. Und du musst gar nicht in den K\u00f6rner runter. Und teuer war."},{"speaker":null,"startTime":1218.207000000000107320374809205532073974609375,"endTime":1220.366999999999961801222525537014007568359375,"body":"Das ist das riesige n\u00e4chste Feature, Co-Routine."},{"speaker":null,"startTime":1221.66699999999991632648743689060211181640625,"endTime":1223.66699999999991632648743689060211181640625,"body":"Gibt es fast in jeder Programmiersprache mittlerweile."},{"speaker":null,"startTime":1224.9870000000000800355337560176849365234375,"endTime":1227.46700000000009822542779147624969482421875,"body":"H\u00f6rt sich interessant an. Habe ich selber noch nicht benutzt,"},{"speaker":null,"startTime":1228.04700000000002546585164964199066162109375,"endTime":1231.186999999999898136593401432037353515625,"body":"weil aus der Softwareentwicklung bin ich ja dann irgendwann 2016."},{"speaker":null,"startTime":1232.12699999999995270627550780773162841796875,"endTime":1234.60699999999997089616954326629638671875,"body":"17 mehr und mehr rausgekommen."},{"speaker":null,"startTime":1235.326999999999998181010596454143524169921875,"endTime":1238.66699999999991632648743689060211181640625,"body":"Das ist keine Entschuldigung. Korotin waren Vorfunktionen da."},{"speaker":null,"startTime":1238.787000000000034560798667371273040771484375,"endTime":1243.00700000000006184563972055912017822265625,"body":"Die sind 1960 erfunden worden. Der Spezialfall von der korotinischen Funktion."},{"speaker":null,"startTime":1243.186999999999898136593401432037353515625,"endTime":1244.9870000000000800355337560176849365234375,"body":"Die hupft am Anfang rein, hupft zum Schluss wieder raus."},{"speaker":null,"startTime":1245.207000000000107320374809205532073974609375,"endTime":1247.96700000000009822542779147624969482421875,"body":"Ja, okay. Ich wollte nur sagen, das ist ein ganz altes Konzept."},{"speaker":null,"startTime":1248.28400000000010550138540565967559814453125,"endTime":1257.124000000000023646862246096134185791015625,"body":"Alles klar, gut. Ja, hast du einen Ausblick, was 2026 als Erweiterung reinkommt"},{"speaker":null,"startTime":1257.124000000000023646862246096134185791015625,"endTime":1259.94399999999995998223312199115753173828125,"body":"in den Standard oder als Standard mitkommt?"},{"speaker":null,"startTime":1260.163999999999987267074175179004669189453125,"endTime":1262.86400000000003274180926382541656494140625,"body":"Also der wird wieder gro\u00df und es sind ein paar Dinge, die sind genial."},{"speaker":null,"startTime":1263.144000000000005456968210637569427490234375,"endTime":1266.584000000000060026650317013263702392578125,"body":"Das Erste ist, es wird jetzt Reflexion geben zur Compile-Zeit."},{"speaker":null,"startTime":1266.723999999999932697392068803310394287109375,"endTime":1271.564000000000078216544352471828460693359375,"body":"Das hei\u00dft, du kannst f\u00fcrs Testing oder f\u00fcrs Serialisieren die Datenstrukturen unter Fly aufbauen."},{"speaker":null,"startTime":1271.683999999999969077180139720439910888671875,"endTime":1273.743999999999914507498033344745635986328125,"body":"Du kannst den Klazchen fragen, hey, welche Methoden hast du?"},{"speaker":null,"startTime":1273.86400000000003274180926382541656494140625,"endTime":1276.4639999999999417923390865325927734375,"body":"Du wirst sagen, das ist doch langweilig, das k\u00f6nnen alle Programme nicht machen."},{"speaker":null,"startTime":1276.4639999999999417923390865325927734375,"endTime":1279.263999999999896317603997886180877685546875,"body":"Die anderen machen es aber zur Laufzeit. Wir m\u00fcssen es zur Compile-Zeit machen."},{"speaker":null,"startTime":1279.4639999999999417923390865325927734375,"endTime":1285.584000000000060026650317013263702392578125,"body":"In C++ gibt es den ganz, ganz wichtigen Grundsatz oder Meta-Regel."},{"speaker":null,"startTime":1285.683999999999969077180139720439910888671875,"endTime":1287.40399999999999636202119290828704833984375,"body":"Don't pay for anything you don't use."},{"speaker":null,"startTime":1287.624000000000023646862246096134185791015625,"endTime":1291.8440000000000509317032992839813232421875,"body":"Das hei\u00dft, jede Abstraktion muss umsonst m\u00f6glich sein. Und das ist Compile-Time-Reflexion."},{"speaker":null,"startTime":1291.9239999999999781721271574497222900390625,"endTime":1293.263999999999896317603997886180877685546875,"body":"Und das ist ein ganz geniales Feature."},{"speaker":null,"startTime":1293.384000000000014551915228366851806640625,"endTime":1296.183999999999969077180139720439910888671875,"body":"Da sind wir in der Ecke wahrscheinlich auch wieder so Richtung Bleeding Edge."},{"speaker":null,"startTime":1296.384000000000014551915228366851806640625,"endTime":1298.90399999999999636202119290828704833984375,"body":"Also C++ ist in vielen Bereichen Bleeding Edge."},{"speaker":null,"startTime":1299.4239999999999781721271574497222900390625,"endTime":1302.683999999999969077180139720439910888671875,"body":"Das kriegen viele aber nicht mit. Spar ist ganz anders als fr\u00fcher."},{"speaker":null,"startTime":1302.9639999999999417923390865325927734375,"endTime":1306.80400000000008731149137020111083984375,"body":"Das Zweite, was ganz, ganz neu ist, ist, Design by Contracts."},{"speaker":null,"startTime":1306.80400000000008731149137020111083984375,"endTime":1309.384000000000014551915228366851806640625,"body":"Die ganz alte Idee von Eiffel aus dem letzten Jahrtausend."},{"speaker":null,"startTime":1309.564000000000078216544352471828460693359375,"endTime":1314.723999999999932697392068803310394287109375,"body":"Die Idee ist, vor der Funktion schreibst du Vorbedingungen, Nachbedingungen und Invaliden."},{"speaker":null,"startTime":1315.32400000000006912159733474254608154296875,"endTime":1318.884000000000014551915228366851806640625,"body":"Dann pr\u00fcft die Funktion, wenn du es willst, ob er die Funktion mit dem richtigen"},{"speaker":null,"startTime":1318.884000000000014551915228366851806640625,"endTime":1321.52399999999988722265698015689849853515625,"body":"Argument aufgerufen hat. Und das nennt sich Design by Contract."},{"speaker":null,"startTime":1321.743999999999914507498033344745635986328125,"endTime":1324.94399999999995998223312199115753173828125,"body":"Geht auf, glaube ich, Bertram Meier zur\u00fcck und der hat die Sprache Eiffel vor"},{"speaker":null,"startTime":1324.94399999999995998223312199115753173828125,"endTime":1326.243999999999914507498033344745635986328125,"body":"langer, langer, langer Zeit entwickelt."},{"speaker":null,"startTime":1326.884000000000014551915228366851806640625,"endTime":1330.3440000000000509317032992839813232421875,"body":"Und da sind wir auch die Ersten. Und das Dritte ist, es wird ein ganz gro\u00dfes,"},{"speaker":null,"startTime":1330.52399999999988722265698015689849853515625,"endTime":1333.683999999999969077180139720439910888671875,"body":"das ist genial, es wird ein ganz gro\u00dfes, ich nenne es jetzt mal,"},{"speaker":null,"startTime":1333.763999999999896317603997886180877685546875,"endTime":1334.80400000000008731149137020111083984375,"body":"gibt es verschiedene Namen daf\u00fcr."},{"speaker":null,"startTime":1334.90399999999999636202119290828704833984375,"endTime":1337.384000000000014551915228366851806640625,"body":"Die verwenden wir als Exekutor-Modell geben."},{"speaker":null,"startTime":1337.584000000000060026650317013263702392578125,"endTime":1340.36400000000003274180926382541656494140625,"body":"Das hei\u00dft, wir haben bei Programmieren viele Dinge, die parallel laufen."},{"speaker":null,"startTime":1340.40399999999999636202119290828704833984375,"endTime":1343.203999999999950887286104261875152587890625,"body":"Die von des eigenen Ausf\u00fchrens. Mit Algorithmus und Code hier."},{"speaker":null,"startTime":1343.32400000000006912159733474254608154296875,"endTime":1347.4639999999999417923390865325927734375,"body":"Was man jetzt in C++ macht, ist folgendes. Man nimmt das Baustein F\u00fchrer aus"},{"speaker":null,"startTime":1347.4639999999999417923390865325927734375,"endTime":1349.104000000000041836756281554698944091796875,"body":"und extrahiert es \u00fcberall heraus."},{"speaker":null,"startTime":1349.4239999999999781721271574497222900390625,"endTime":1353.223999999999932697392068803310394287109375,"body":"Und dann kannst du das Baustein F\u00fchrer aus in den beliebigen Algorithmus reinschmei\u00dfen,"},{"speaker":null,"startTime":1353.263999999999896317603997886180877685546875,"endTime":1354.78400000000010550138540565967559814453125,"body":"dann l\u00e4uft er parallel. Oder l\u00e4uft er auf der GPU."},{"speaker":null,"startTime":1355.064000000000078216544352471828460693359375,"endTime":1359.02399999999988722265698015689849853515625,"body":"Du willst praktisch wie bei Speicherallokation auch als separates Baustein verwendet."},{"speaker":null,"startTime":1359.124000000000023646862246096134185791015625,"endTime":1363.104000000000041836756281554698944091796875,"body":"Willst du dein Algorithmus nicht mehr mit der Art oder ganz los verkn\u00fcpfen,"},{"speaker":null,"startTime":1363.183999999999969077180139720439910888671875,"endTime":1364.884000000000014551915228366851806640625,"body":"wo es ausgef\u00fchrt wird. Ach so."},{"speaker":null,"startTime":1365.6559999999999490682967007160186767578125,"endTime":1369.71599999999989449861459434032440185546875,"body":"Warte mal, jetzt muss ich mal gerade in meinen Worten, also du kannst einer"},{"speaker":null,"startTime":1369.71599999999989449861459434032440185546875,"endTime":1375.415999999999939973349682986736297607421875,"body":"Funktion oder einem Thread sagen, wo er, auf welchem Prozessor er quasi laufen"},{"speaker":null,"startTime":1375.415999999999939973349682986736297607421875,"endTime":1377.756000000000085492501966655254364013671875,"body":"soll. Zum Beispiel das. Das h\u00e4ngt von dir ab."},{"speaker":null,"startTime":1377.955999999999903593561612069606781005859375,"endTime":1381.55600000000004001776687800884246826171875,"body":"Oder was du willst beim Threading ist, dass da nicht so viel klon\u00e4r kopiert wird."},{"speaker":null,"startTime":1382.09600000000000363797880709171295166015625,"endTime":1386.05600000000004001776687800884246826171875,"body":"Dann verkn\u00fcpfst du zwei Threads und sagst der zweite, vergleiche den CPU-Lauf mit dem ersten."},{"speaker":null,"startTime":1386.63599999999996725819073617458343505859375,"endTime":1389.0760000000000218278728425502777099609375,"body":"Und das wird als Komponente raus extrahiert."},{"speaker":null,"startTime":1390.0760000000000218278728425502777099609375,"endTime":1394.875999999999976353137753903865814208984375,"body":"Nennt sich formal Exekutoren. Und das ist ein ganz, ganz geniales Konzept."},{"speaker":null,"startTime":1395.01600000000007639755494892597198486328125,"endTime":1397.915999999999939973349682986736297607421875,"body":"Und das Schwierige war, wir haben erst die ganzen Abstraktionen erfunden rund"},{"speaker":null,"startTime":1397.915999999999939973349682986736297607421875,"endTime":1400.6559999999999490682967007160186767578125,"body":"um Threading und danach die Infrastruktur. Das war jetzt der falsche Weg."},{"speaker":null,"startTime":1400.836000000000012732925824820995330810546875,"endTime":1404.615999999999985448084771633148193359375,"body":"Aber du kriegst das nicht mehr anders gebacken wie so. Und dann k\u00f6nnen zum Beispiel"},{"speaker":null,"startTime":1404.615999999999985448084771633148193359375,"endTime":1409.395999999999958163243718445301055908203125,"body":"Nvidia ja, das Zeug sollte blendieren, dass es, wenn sie es reinschmei\u00dfen, auf ihre GPUs l\u00e4uft."},{"speaker":null,"startTime":1410.395999999999958163243718445301055908203125,"endTime":1413.01600000000007639755494892597198486328125,"body":"Genau. Das habe ich mich n\u00e4mlich schon immer gefragt. Wie machen die das mit"},{"speaker":null,"startTime":1413.01600000000007639755494892597198486328125,"endTime":1417.09600000000000363797880709171295166015625,"body":"der KI, dass diese ganzen KI-Anwendungen dann auch wissen, okay,"},{"speaker":null,"startTime":1417.19599999999991268850862979888916015625,"endTime":1420.67599999999993087840266525745391845703125,"body":"jetzt m\u00fcssen wir hier auf der GPU laufen."},{"speaker":null,"startTime":1421.316000000000030922819860279560089111328125,"endTime":1423.51600000000007639755494892597198486328125,"body":"Im Prinzip kannst du das auf diese Art machen."},{"speaker":null,"startTime":1424.375999999999976353137753903865814208984375,"endTime":1427.375999999999976353137753903865814208984375,"body":"Und so haben wir praktisch zehn verschiedene Dinge, die man ausf\u00fchren kann."},{"speaker":null,"startTime":1427.51600000000007639755494892597198486328125,"endTime":1431.09600000000000363797880709171295166015625,"body":"Und jetzt kannst du einfach dir sagen, ey, lass es auf der CPU laufen,"},{"speaker":null,"startTime":1431.19599999999991268850862979888916015625,"endTime":1434.0760000000000218278728425502777099609375,"body":"lass es lokal laufen, lass es lazy sie laufen, das hei\u00dft, erst wenn ihr jemand"},{"speaker":null,"startTime":1434.0760000000000218278728425502777099609375,"endTime":1438.756000000000085492501966655254364013671875,"body":"das Gremium braucht, lasst es Eager laufen, sofort, lasst es auf der Threadpool"},{"speaker":null,"startTime":1438.756000000000085492501966655254364013671875,"endTime":1441.4960000000000945874489843845367431640625,"body":"laufen, das wird default sein und das ist einfach genial."},{"speaker":null,"startTime":1442.336000000000012732925824820995330810546875,"endTime":1444.316000000000030922819860279560089111328125,"body":"Das glaube ich. Ja, cool."},{"speaker":null,"startTime":1445.455999999999903593561612069606781005859375,"endTime":1451.615999999999985448084771633148193359375,"body":"Dann, jetzt haben wir ganz viel schon \u00fcber die, \u00fcber modernes C++ gesprochen,"},{"speaker":null,"startTime":1451.756000000000085492501966655254364013671875,"endTime":1455.71599999999989449861459434032440185546875,"body":"was ist denn da jetzt in diesen ganzen Standards, oder wie hat sich dieser Standard"},{"speaker":null,"startTime":1455.71599999999989449861459434032440185546875,"endTime":1456.816000000000030922819860279560089111328125,"body":"immer weiterentwickelt?"},{"speaker":null,"startTime":1457.97600000000011277734301984310150146484375,"endTime":1462.97600000000011277734301984310150146484375,"body":"Wenn man nur eine platte Antwort einzieht, w\u00e4re wohl der Digger, aber egal. Vielen Dank."},{"speaker":null,"startTime":1464.131000000000085492501966655254364013671875,"endTime":1468.490999999999985448084771633148193359375,"body":"Aber ich glaube, mir pers\u00f6nlich hat es jetzt schon mal was gebracht."},{"speaker":null,"startTime":1468.810999999999921783455647528171539306640625,"endTime":1472.671000000000049112713895738124847412109375,"body":"Ich werde das auch noch mal so ein bisschen mitnehmen in die Shownotes,"},{"speaker":null,"startTime":1472.750999999999976353137753903865814208984375,"endTime":1474.310999999999921783455647528171539306640625,"body":"dass man sich das noch mal nachlesen kann."},{"speaker":null,"startTime":1475.57099999999991268850862979888916015625,"endTime":1479.9110000000000582076609134674072265625,"body":"Ich fand es schon ganz spannend, dir da jetzt zuzuh\u00f6ren, was f\u00fcr Konzepte zu"},{"speaker":null,"startTime":1479.9110000000000582076609134674072265625,"endTime":1483.770999999999958163243718445301055908203125,"body":"welcher Zeit in diese Standards mit reingekommen sind."},{"speaker":null,"startTime":1484.35100000000011277734301984310150146484375,"endTime":1487.730999999999994543031789362430572509765625,"body":"Wir hatten ja im Vorgespr\u00e4ch auch ein bisschen dar\u00fcber gesprochen,"},{"speaker":null,"startTime":1488.0309999999999490682967007160186767578125,"endTime":1491.85100000000011277734301984310150146484375,"body":"dass du, also du bist ja auch Autor, du hast ja ganz viele B\u00fccher geschrieben"},{"speaker":null,"startTime":1491.85100000000011277734301984310150146484375,"endTime":1496.191000000000030922819860279560089111328125,"body":"und ich glaube, dass eines der letzten B\u00fccher ist ja dein, wie hie\u00df es noch,"},{"speaker":null,"startTime":1496.310999999999921783455647528171539306640625,"endTime":1500.250999999999976353137753903865814208984375,"body":"Core Guidelines f\u00fcr C++, ne, genau."},{"speaker":null,"startTime":1500.3710000000000945874489843845367431640625,"endTime":1505.0309999999999490682967007160186767578125,"body":"Und da geht es ja auch quasi ganz stark um den sogenannten Clean Code."},{"speaker":null,"startTime":1505.671000000000049112713895738124847412109375,"endTime":1508.9110000000000582076609134674072265625,"body":"Genau, da w\u00fcrde ich ein paar Worte dazu sagen. Genau, was, genau,"},{"speaker":null,"startTime":1508.97100000000000363797880709171295166015625,"endTime":1511.89100000000007639755494892597198486328125,"body":"vielleicht einfach mal erkl\u00e4ren, was bedeutet das Clean Code,"},{"speaker":null,"startTime":1512.07099999999991268850862979888916015625,"endTime":1516.790999999999939973349682986736297607421875,"body":"wenn man das h\u00f6rt? Ich fange mal ein bisschen hinten dr\u00fcber an. Ja, dann."},{"speaker":null,"startTime":1517.111000000000103682396002113819122314453125,"endTime":1520.05099999999993087840266525745391845703125,"body":"Okay, das Folgende ist, in unseren Bereichen, ich gehe jetzt davon aus,"},{"speaker":null,"startTime":1520.171000000000049112713895738124847412109375,"endTime":1524.9110000000000582076609134674072265625,"body":"ich mache doch die Defis. Genau. Es gibt Standards, MISRA oder AUTOSAR."},{"speaker":null,"startTime":1525.270999999999958163243718445301055908203125,"endTime":1529.05099999999993087840266525745391845703125,"body":"Ja. So musst du programmieren. Und den dritten gro\u00dfen Standard,"},{"speaker":null,"startTime":1529.131000000000085492501966655254364013671875,"endTime":1530.730999999999994543031789362430572509765625,"body":"den gibt es in den C++ Core Guidelines."},{"speaker":null,"startTime":1530.93100000000004001776687800884246826171875,"endTime":1534.711000000000012732925824820995330810546875,"body":"Die werden aber von der Community getragen. Die zwei Hauptchefs sind der Bernd"},{"speaker":null,"startTime":1534.711000000000012732925824820995330810546875,"endTime":1538.51099999999996725819073617458343505859375,"body":"Stusdorp und der Hauptstuder, der Vorsitzende der Standardisierungskomitees."},{"speaker":null,"startTime":1539.01099999999996725819073617458343505859375,"endTime":1542.01099999999996725819073617458343505859375,"body":"Ich bin ein riesiger Fan dieser Prinzipiencode. Code."},{"speaker":null,"startTime":1542.59099999999989449861459434032440185546875,"endTime":1547.07099999999991268850862979888916015625,"body":"Einfach best practices wie man es heute beschreibt. Das ist im Prinzip die Code, also,"},{"speaker":null,"startTime":1547.72600000000011277734301984310150146484375,"endTime":1551.44599999999991268850862979888916015625,"body":"ganz schnell in und her interpretieren. Ich bin ein riesiger Fan davon,"},{"speaker":null,"startTime":1551.526000000000067302607931196689605712890625,"endTime":1552.9059999999999490682967007160186767578125,"body":"von daher habe ich 100 Blogposts geschrieben."},{"speaker":null,"startTime":1553.645999999999958163243718445301055908203125,"endTime":1555.92599999999993087840266525745391845703125,"body":"Dann habe ich dem Bjarne ein E-Mail geschrieben und habe gesagt,"},{"speaker":null,"startTime":1555.92599999999993087840266525745391845703125,"endTime":1559.76600000000007639755494892597198486328125,"body":"ich bin ein Wahnsinnsfan von den Guidelines, aber in der Form k\u00f6nntest du es"},{"speaker":null,"startTime":1559.76600000000007639755494892597198486328125,"endTime":1561.84600000000000363797880709171295166015625,"body":"niemandem verkaufen. Das muss lesbarer werden."},{"speaker":null,"startTime":1562.105999999999994543031789362430572509765625,"endTime":1565.605999999999994543031789362430572509765625,"body":"Dann haben sie gesagt, wir wollen ja, wir haben schon einen Buchvertrag mit"},{"speaker":null,"startTime":1565.605999999999994543031789362430572509765625,"endTime":1568.685999999999921783455647528171539306640625,"body":"einem Verlag und dann haben sie zu mir gesagt, aber Rainer, du kannst das Buch"},{"speaker":null,"startTime":1568.685999999999921783455647528171539306640625,"endTime":1570.88599999999996725819073617458343505859375,"body":"f\u00fcr uns schreiben. Und so bin ich zu dem Buch gekommen."},{"speaker":null,"startTime":1571.7860000000000582076609134674072265625,"endTime":1574.705999999999903593561612069606781005859375,"body":"Und jetzt kann ich es dir ja heimlich nicht sagen. Am Anfang hatte ich eine"},{"speaker":null,"startTime":1574.705999999999903593561612069606781005859375,"endTime":1577.76600000000007639755494892597198486328125,"body":"kleine Schreibblockade, Weil ich wusste jetzt, dass Bern mein Zeug gegenliest."},{"speaker":null,"startTime":1578.38599999999996725819073617458343505859375,"endTime":1582.145999999999958163243718445301055908203125,"body":"Das war schon komisch. Ja, das glaube ich. Ja, aber es war total gut und das"},{"speaker":null,"startTime":1582.145999999999958163243718445301055908203125,"endTime":1583.086000000000012732925824820995330810546875,"body":"Buch habe ich dann ver\u00f6ffentlicht."},{"speaker":null,"startTime":1583.26600000000007639755494892597198486328125,"endTime":1588.486000000000103682396002113819122314453125,"body":"Du k\u00f6nntest jetzt Clean Code nennen, aber im Prinzip sind es einfach Best Practices von Modernistik."},{"speaker":null,"startTime":1590.8260000000000218278728425502777099609375,"endTime":1593.9059999999999490682967007160186767578125,"body":"Bis 2017 geht es. Ja. 2017."},{"speaker":null,"startTime":1594.92599999999993087840266525745391845703125,"endTime":1599.38599999999996725819073617458343505859375,"body":"Bis zu dem Standard. Die Konzepte sind dort mit drin und alles,"},{"speaker":null,"startTime":1599.44599999999991268850862979888916015625,"endTime":1603.34600000000000363797880709171295166015625,"body":"was dann danach kommt, das hast du quasi nicht mit abdecken k\u00f6nnen."},{"speaker":null,"startTime":1603.7860000000000582076609134674072265625,"endTime":1607.506000000000085492501966655254364013671875,"body":"Da gab es noch keine Best Practices. Genau. Die m\u00fcssen sich erst entwickeln."},{"speaker":null,"startTime":1608.526000000000067302607931196689605712890625,"endTime":1614.96599999999989449861459434032440185546875,"body":"Ich habe da mal reingeguckt in das Inhaltsverzeichnis, was du denn da alles reingeschrieben hast."},{"speaker":null,"startTime":1615.086000000000012732925824820995330810546875,"endTime":1619.30600000000004001776687800884246826171875,"body":"Also da findet ja jeder was zu allen m\u00f6glichen Themen."},{"speaker":null,"startTime":1619.546000000000049112713895738124847412109375,"endTime":1623.145999999999958163243718445301055908203125,"body":"Ich bin immer ein gro\u00dfer Fan vom Errorhandling gewesen, weil das war ja in,"},{"speaker":null,"startTime":1623.205999999999903593561612069606781005859375,"endTime":1625.72600000000011277734301984310150146484375,"body":"ich habe damals mit C noch gearbeitet."},{"speaker":null,"startTime":1625.8260000000000218278728425502777099609375,"endTime":1631.3260000000000218278728425502777099609375,"body":"Das musstest du ja alles per Hand einbauen und dir vorher dann diese querschnittlichen"},{"speaker":null,"startTime":1631.3260000000000218278728425502777099609375,"endTime":1635.205999999999903593561612069606781005859375,"body":"Konzepte dar\u00fcber Gedanken machen. Das ist hier in der Sprache jetzt quasi schon"},{"speaker":null,"startTime":1635.205999999999903593561612069606781005859375,"endTime":1639.76600000000007639755494892597198486328125,"body":"mit drin, wenn ich das so sehe. Da gibt es doch den deutlichen Fortschritt in 23."},{"speaker":null,"startTime":1640.34600000000000363797880709171295166015625,"endTime":1644.26600000000007639755494892597198486328125,"body":"Da gibt es den deutlichen Datum, das ist nicht erwartet. Der hat zwei Kan\u00e4le,"},{"speaker":null,"startTime":1644.3260000000000218278728425502777099609375,"endTime":1646.066000000000030922819860279560089111328125,"body":"einen Fehlerkanal und einen Wertekanal."},{"speaker":null,"startTime":1646.3260000000000218278728425502777099609375,"endTime":1652.205999999999903593561612069606781005859375,"body":"Und sobald der Fehlerkanal bedient wird, geht es ganz schnell durch und du musst auch nicht testen."},{"speaker":null,"startTime":1652.90000000000009094947017729282379150390625,"endTime":1655.48000000000001818989403545856475830078125,"body":"Du musst nicht so was Bl\u00f6ds machen wie bei Error Handling, \u00fcber Nachfragen,"},{"speaker":null,"startTime":1655.59999999999990905052982270717620849609375,"endTime":1657.819999999999936335370875895023345947265625,"body":"was ich da h\u00f6ren werde. Das passiert automatisch."},{"speaker":null,"startTime":1658.5,"endTime":1662.319999999999936335370875895023345947265625,"body":"Dann kann man das ganz sch\u00f6n funktionierend komponieren und dann der Fehler"},{"speaker":null,"startTime":1662.319999999999936335370875895023345947265625,"endTime":1665.55999999999994543031789362430572509765625,"body":"wird durchgeleitet und der Wert, je nachdem, was passiert ist."},{"speaker":null,"startTime":1666.680000000000063664629124104976654052734375,"endTime":1671.8800000000001091393642127513885498046875,"body":"Okay. Aber wie gesagt, das ist jetzt nur ein Punkt, den ich daraus gepickt habe."},{"speaker":null,"startTime":1672.01999999999998181010596454143524169921875,"endTime":1677.839999999999918145476840436458587646484375,"body":"Dann gibt es hier die parallele Verarbeitung und wie schreibe ich Performantencode und so weiter."},{"speaker":null,"startTime":1678.220000000000027284841053187847137451171875,"endTime":1687.5399999999999636202119290828704833984375,"body":"Ja, ja. Das sind alles Themen, die in den Core-Guidelines dann abgedruckt werden."},{"speaker":null,"startTime":1687.839999999999918145476840436458587646484375,"endTime":1691.51999999999998181010596454143524169921875,"body":"Ich muss noch erw\u00e4hnen, das ist ein lebendes Dokument. Das wird immer erneuert."},{"speaker":null,"startTime":1691.55999999999994543031789362430572509765625,"endTime":1695.799999999999954525264911353588104248046875,"body":"Aber die Leute, die es editieren, sind in der Regel nur Leute vom Standardisierungskomitee."},{"speaker":null,"startTime":1695.920000000000072759576141834259033203125,"endTime":1699.799999999999954525264911353588104248046875,"body":"Das hei\u00dft, das ist qualitativ extrem hochwertig. Und die stehen auch in Diskussionen"},{"speaker":null,"startTime":1699.799999999999954525264911353588104248046875,"endTime":1701.819999999999936335370875895023345947265625,"body":"mit MISRA und AUTOSAR. Okay."},{"speaker":null,"startTime":1702.299999999999954525264911353588104248046875,"endTime":1707.920000000000072759576141834259033203125,"body":"Wenn das ein lebendes Dokument ist, also du verkaufst ja die B\u00fccher,"},{"speaker":null,"startTime":1708.640000000000100044417195022106170654296875,"endTime":1713.579999999999927240423858165740966796875,"body":"hast dann da aber auch immer wieder Aktualisierungen drin. oder wie muss ich das verstehen?"},{"speaker":null,"startTime":1713.920000000000072759576141834259033203125,"endTime":1718.339999999999918145476840436458587646484375,"body":"Wenn es sich richtig stabilisiert hat, werde ich irgendwann eine Aktualisierung"},{"speaker":null,"startTime":1718.339999999999918145476840436458587646484375,"endTime":1719.319999999999936335370875895023345947265625,"body":"machen m\u00fcssen. Ah, okay."},{"speaker":null,"startTime":1720.140000000000100044417195022106170654296875,"endTime":1725.05999999999994543031789362430572509765625,"body":"Verstehe. Zurzeit ist man noch zu wenig, wie gesagt, Best Practices hat sich"},{"speaker":null,"startTime":1725.05999999999994543031789362430572509765625,"endTime":1727.48000000000001818989403545856475830078125,"body":"vor ein paar Jahren damit besch\u00e4ftigt."},{"speaker":null,"startTime":1728.160000000000081854523159563541412353515625,"endTime":1732.4600000000000363797880709171295166015625,"body":"Ich wollte noch was erw\u00e4hnen zu den Guidelines. Ja. So \u00e4hnlich wie bei MISRA"},{"speaker":null,"startTime":1732.4600000000000363797880709171295166015625,"endTime":1738.920000000000072759576141834259033203125,"body":"gibt es auch die Guidelines Support Library, kurz GSL, und die kann helfen, die Regeln zu pr\u00fcfen."},{"speaker":null,"startTime":1739.140000000000100044417195022106170654296875,"endTime":1742.319999999999936335370875895023345947265625,"body":"Das ist nochmal GSL? GSL, ja. Ja, gehe ich ein."},{"speaker":null,"startTime":1742.81500000000005456968210637569427490234375,"endTime":1747.055000000000063664629124104976654052734375,"body":"DSL. Ah ja, Guideline Support Library."},{"speaker":null,"startTime":1747.134999999999990905052982270717620849609375,"endTime":1750.39499999999998181010596454143524169921875,"body":"Und mit der kann man sozusagen die Regeln pr\u00fcfen. Man kann pr\u00fcfen,"},{"speaker":null,"startTime":1750.43499999999994543031789362430572509765625,"endTime":1753.154999999999972715158946812152862548828125,"body":"ob man die ganzen Regeln da oben richtig angewandt hat. Und wenn nicht,"},{"speaker":null,"startTime":1753.174999999999954525264911353588104248046875,"endTime":1754.075000000000045474735088646411895751953125,"body":"kriegt man einen Fehlerbericht."},{"speaker":null,"startTime":1754.3350000000000363797880709171295166015625,"endTime":1756.7550000000001091393642127513885498046875,"body":"Das hei\u00dft, so \u00e4hnlich wie beim MISRA, kann man so einen MISRA-Checker,"},{"speaker":null,"startTime":1756.85500000000001818989403545856475830078125,"endTime":1758.875,"body":"kann man so einen Guideline-Checker auch dr\u00fcber laufen lassen."},{"speaker":null,"startTime":1759.154999999999972715158946812152862548828125,"endTime":1762.634999999999990905052982270717620849609375,"body":"Das ist alles nur eine Header-Datei, die du jetzt checkst. Das hei\u00dft,"},{"speaker":null,"startTime":1762.654999999999972715158946812152862548828125,"endTime":1763.375,"body":"das funktioniert \u00fcberall."},{"speaker":null,"startTime":1763.734999999999899955582804977893829345703125,"endTime":1768.714999999999918145476840436458587646484375,"body":"Und dann kriegst du dann beim Compile-Vorgang?"},{"speaker":null,"startTime":1768.8350000000000363797880709171295166015625,"endTime":1772.214999999999918145476840436458587646484375,"body":"Oder wann bekommst du diese Fehler-Meldung? In der Regel beim Compile-Vorgang."},{"speaker":null,"startTime":1772.214999999999918145476840436458587646484375,"endTime":1777.734999999999899955582804977893829345703125,"body":"Aber ich habe das genauer erkl\u00e4rt bei den Blogposts. Also da musst du einen Link reinsetzen."},{"speaker":null,"startTime":1778.115000000000009094947017729282379150390625,"endTime":1782.875,"body":"Und Windows ist das total gem\u00fctlich. Da kannst du in Windows die H\u00e4kchen schon"},{"speaker":null,"startTime":1782.875,"endTime":1785.634999999999990905052982270717620849609375,"body":"angeben. GCC und Linux verwende ich den Klang-Tidy."},{"speaker":null,"startTime":1785.89499999999998181010596454143524169921875,"endTime":1789.43499999999994543031789362430572509765625,"body":"GCC und Klang verwende ich Klang-Tidy. Aber es geht auf allen Plattformen."},{"speaker":null,"startTime":1789.575000000000045474735088646411895751953125,"endTime":1793.954999999999927240423858165740966796875,"body":"Ich werde den Link auf dem Blogpost raussuchen."},{"speaker":null,"startTime":1794.095000000000027284841053187847137451171875,"endTime":1797.9149999999999636202119290828704833984375,"body":"Genau, das ist der eine letzte Artikel. Zur Guide-Support-Library."},{"speaker":null,"startTime":1798.4949999999998908606357872486114501953125,"endTime":1802.97499999999990905052982270717620849609375,"body":"Okay. Okay, was in unserem Vorgespr\u00e4ch, was dir da auch noch ganz besonders"},{"speaker":null,"startTime":1802.97499999999990905052982270717620849609375,"endTime":1808.4149999999999636202119290828704833984375,"body":"wichtig war, war der Hinweis darauf, liebe Leute, setzt moderne Techniken ein."},{"speaker":null,"startTime":1808.535000000000081854523159563541412353515625,"endTime":1814.4949999999998908606357872486114501953125,"body":"Was verstehst du darunter? Warum war dir das so wichtig, das mitzugeben?"},{"speaker":null,"startTime":1814.7550000000001091393642127513885498046875,"endTime":1816.075000000000045474735088646411895751953125,"body":"Worauf soll man da achten?"},{"speaker":null,"startTime":1816.674999999999954525264911353588104248046875,"endTime":1821.694999999999936335370875895023345947265625,"body":"So allgemein kann ich so, sagen wir mal so, C++ hat einen Fluch und einen Segen."},{"speaker":null,"startTime":1821.77500000000009094947017729282379150390625,"endTime":1825.055000000000063664629124104976654052734375,"body":"Und der Fluch und Segen hei\u00dft C. Das hei\u00dft, wir m\u00fcssen irgendwie das C unterst\u00fctzen."},{"speaker":null,"startTime":1825.39499999999998181010596454143524169921875,"endTime":1827.615000000000009094947017729282379150390625,"body":"Aber durch das C ist es immer auch gro\u00df geworden, das ist das Segen."},{"speaker":null,"startTime":1828.35500000000001818989403545856475830078125,"endTime":1830.4149999999999636202119290828704833984375,"body":"Aber wir k\u00f6nnen die ganzen."},{"speaker":null,"startTime":1832.81500000000005456968210637569427490234375,"endTime":1836.39499999999998181010596454143524169921875,"body":"Schweine reinmachen, die man C auch machen kann. Das soll man aber nicht unbedingt."},{"speaker":null,"startTime":1836.85500000000001818989403545856475830078125,"endTime":1840.134999999999990905052982270717620849609375,"body":"Und jetzt erkl\u00e4re ich in meinen Schulungen, wie man das nicht macht."},{"speaker":null,"startTime":1840.375,"endTime":1844.454999999999927240423858165740966796875,"body":"Und die Techniken sind immer was Zus\u00e4tzliches. Man muss das immer noch so k\u00f6nnen"},{"speaker":null,"startTime":1844.454999999999927240423858165740966796875,"endTime":1846.43499999999994543031789362430572509765625,"body":"wie fr\u00fcher. Das ist f\u00fcr Bjarne ganz wichtig."},{"speaker":null,"startTime":1846.615000000000009094947017729282379150390625,"endTime":1849.4949999999998908606357872486114501953125,"body":"Und immer, wenn was besser wird, das muss was Neues sein."},{"speaker":null,"startTime":1849.694999999999936335370875895023345947265625,"endTime":1853.654999999999972715158946812152862548828125,"body":"Zum Beispiel initialisiert man in C++ nicht mit runden Klammern,"},{"speaker":null,"startTime":1853.714999999999918145476840436458587646484375,"endTime":1855.654999999999972715158946812152862548828125,"body":"sondern mit geschweiften Klammern. Warum?"},{"speaker":null,"startTime":1856.015000000000100044417195022106170654296875,"endTime":1859.595000000000027284841053187847137451171875,"body":"Weil geschweifte Klammern Narrowing Conversion detektieren. Das hei\u00dft,"},{"speaker":null,"startTime":1859.7550000000001091393642127513885498046875,"endTime":1862.555000000000063664629124104976654052734375,"body":"wenn du ein Double in den Int reinsteckst, finden die das raus."},{"speaker":null,"startTime":1862.795000000000072759576141834259033203125,"endTime":1865.515000000000100044417195022106170654296875,"body":"Das sollst du nicht tun, aber die runden Klammern kriegen das nicht mit."},{"speaker":null,"startTime":1865.96599999999989449861459434032440185546875,"endTime":1869.105999999999994543031789362430572509765625,"body":"Und das machen aber die geschweiften Klammern. Darum sage ich,"},{"speaker":null,"startTime":1869.145999999999958163243718445301055908203125,"endTime":1871.066000000000030922819860279560089111328125,"body":"immer mit geschweiften Klammern hinzuzasieren."},{"speaker":null,"startTime":1871.3260000000000218278728425502777099609375,"endTime":1874.986000000000103682396002113819122314453125,"body":"Okay, das hei\u00dft also, das ist eine von diesen modernen Techniken,"},{"speaker":null,"startTime":1875.026000000000067302607931196689605712890625,"endTime":1881.125999999999976353137753903865814208984375,"body":"die wir nutzen sollen als moderne C++-Programmierer, damit wir halt fr\u00fchzeitig"},{"speaker":null,"startTime":1881.125999999999976353137753903865814208984375,"endTime":1885.665999999999939973349682986736297607421875,"body":"schon auf Fehler gesto\u00dfen werden, die wir aus Versehen vielleicht gemacht haben."},{"speaker":null,"startTime":1885.665999999999939973349682986736297607421875,"endTime":1887.80600000000004001776687800884246826171875,"body":"Damit du aus einer 3,5 die 3 machst."},{"speaker":null,"startTime":1888.006000000000085492501966655254364013671875,"endTime":1892.046000000000049112713895738124847412109375,"body":"Ja. Und so gibt es wahnsinnig viele Regeln, die ich in den Core Guidelines erkl\u00e4re."},{"speaker":null,"startTime":1892.145999999999958163243718445301055908203125,"endTime":1894.605999999999994543031789362430572509765625,"body":"Zum Beispiel, dass man keine nackten Speicher mehr verwenden soll."},{"speaker":null,"startTime":1894.72600000000011277734301984310150146484375,"endTime":1897.7460000000000945874489843845367431640625,"body":"Dass man SmartPoint verwenden soll. Zur Performance habe ich es vorher erz\u00e4hlt."},{"speaker":null,"startTime":1898.026000000000067302607931196689605712890625,"endTime":1901.34600000000000363797880709171295166015625,"body":"Wenn zu mir einer kommt und sagt, sein Programm ist jetzt besser,"},{"speaker":null,"startTime":1901.486000000000103682396002113819122314453125,"endTime":1903.34600000000000363797880709171295166015625,"body":"es ist schneller, dann glaube ich dem das nicht."},{"speaker":null,"startTime":1903.486000000000103682396002113819122314453125,"endTime":1906.72600000000011277734301984310150146484375,"body":"Ich brauche erst einen Test mit realistischen Daten. Und das sind lauter so"},{"speaker":null,"startTime":1906.72600000000011277734301984310150146484375,"endTime":1908.125999999999976353137753903865814208984375,"body":"Regeln, und das erkl\u00e4re ich in dem Buch."},{"speaker":null,"startTime":1908.2860000000000582076609134674072265625,"endTime":1912.506000000000085492501966655254364013671875,"body":"Da setze ich schon ein bisschen C++-Verst\u00e4ndnis voraus. Und dann sage ich, man macht das so oder so."},{"speaker":null,"startTime":1912.80600000000004001776687800884246826171875,"endTime":1917.365999999999985448084771633148193359375,"body":"Ja, okay. Ich glaube, das ist kein Grundlagenbuch. Das setzt voraus,"},{"speaker":null,"startTime":1917.365999999999985448084771633148193359375,"endTime":1918.365999999999985448084771633148193359375,"body":"dass du schon ein bisschen drin bist."},{"speaker":null,"startTime":1918.566000000000030922819860279560089111328125,"endTime":1922.46599999999989449861459434032440185546875,"body":"Man k\u00f6nnte es zur Not auch lesen, indem man dann immer nachbl\u00e4ttert."},{"speaker":null,"startTime":1922.7460000000000945874489843845367431640625,"endTime":1926.76600000000007639755494892597198486328125,"body":"Aber das Entscheidende ist eigentlich, das Buch erz\u00e4hlt, ich w\u00fcrde es mal so"},{"speaker":null,"startTime":1926.76600000000007639755494892597198486328125,"endTime":1930.72600000000011277734301984310150146484375,"body":"sagen, wenn du die Regeln des Buches anwendest, ist dein Programm per Design"},{"speaker":null,"startTime":1930.72600000000011277734301984310150146484375,"endTime":1933.086000000000012732925824820995330810546875,"body":"so gut wie richtig. Das ist einfach die Idee des Buchs."},{"speaker":null,"startTime":1933.96599999999989449861459434032440185546875,"endTime":1938.84600000000000363797880709171295166015625,"body":"Okay, es reicht aber auch aus, das ist jetzt eine kleine Nachfrage so ein bisschen,"},{"speaker":null,"startTime":1938.88599999999996725819073617458343505859375,"endTime":1943.526000000000067302607931196689605712890625,"body":"ich muss jetzt nicht das Buch von vorne bis hinten durcharbeiten und alles gleich"},{"speaker":null,"startTime":1943.526000000000067302607931196689605712890625,"endTime":1945.185999999999921783455647528171539306640625,"body":"anwenden, sondern es reicht auch,"},{"speaker":null,"startTime":1945.2460000000000945874489843845367431640625,"endTime":1947.986000000000103682396002113819122314453125,"body":"wenn ich mich auf gewisse Themen erstmal konzentriere und sage,"},{"speaker":null,"startTime":1948.086000000000012732925824820995330810546875,"endTime":1949.365999999999985448084771633148193359375,"body":"okay, da will ich besser werden."},{"speaker":null,"startTime":1949.546000000000049112713895738124847412109375,"endTime":1953.506000000000085492501966655254364013671875,"body":"Ich will zum Beispiel, ich wei\u00df, dass ich Concurrency habe hier in meinem Programm,"},{"speaker":null,"startTime":1953.705999999999903593561612069606781005859375,"endTime":1955.685999999999921783455647528171539306640625,"body":"ich konzentriere mich erstmal da drauf."},{"speaker":null,"startTime":1956.205999999999903593561612069606781005859375,"endTime":1958.205999999999903593561612069606781005859375,"body":"Genau, das ist auch vollkommen klar. Ja."},{"speaker":null,"startTime":1958.81500000000005456968210637569427490234375,"endTime":1963.39499999999998181010596454143524169921875,"body":"Und wenn ich das f\u00fcr mich etabliert habe im Kopf, dann kann ich auch weitergehen"},{"speaker":null,"startTime":1963.39499999999998181010596454143524169921875,"endTime":1972.595000000000027284841053187847137451171875,"body":"und sowas aufnehmen wie Error-Handling oder eines der ersten Themen waren ja deine Interfaces."},{"speaker":null,"startTime":1973.595000000000027284841053187847137451171875,"endTime":1978.43499999999994543031789362430572509765625,"body":"Interfaces, Funktionen, Klassen, Inheritance. Ja, also dass ich mich St\u00fcck f\u00fcr"},{"speaker":null,"startTime":1978.43499999999994543031789362430572509765625,"endTime":1982.454999999999927240423858165740966796875,"body":"St\u00fcck dann immer weiter mit diesem Buch besch\u00e4ftige und mit den Best Practices,"},{"speaker":null,"startTime":1982.535000000000081854523159563541412353515625,"endTime":1985.654999999999972715158946812152862548828125,"body":"die du da beschreibst. Und das halte ich f\u00fcr ganz, ganz, ganz wichtig."},{"speaker":null,"startTime":1985.89499999999998181010596454143524169921875,"endTime":1990.674999999999954525264911353588104248046875,"body":"Ich sage kein Stamm, weil es muss mein Buch sein oder aber es ist ganz wichtig."},{"speaker":null,"startTime":1990.875,"endTime":1993.97499999999990905052982270717620849609375,"body":"Das hilft \u00fcbrigens auch, wenn man sich mit Autosatz besch\u00e4ftigt."},{"speaker":null,"startTime":1994.075000000000045474735088646411895751953125,"endTime":1996.4949999999998908606357872486114501953125,"body":"\u00dcberleg, warum gibt es die Regel? Was ist die Begr\u00fcndung daf\u00fcr?"},{"speaker":null,"startTime":1997.134999999999990905052982270717620849609375,"endTime":2001.43499999999994543031789362430572509765625,"body":"Einfach bewusst programmieren, ganz wichtig. Zu wissen, was man tut und diese"},{"speaker":null,"startTime":2001.43499999999994543031789362430572509765625,"endTime":2003.9949999999998908606357872486114501953125,"body":"Regel zu hinterfragen und dann drauf zu kommen, ja, ist eine gute Idee."},{"speaker":null,"startTime":2004.134999999999990905052982270717620849609375,"endTime":2005.154999999999972715158946812152862548828125,"body":"Das macht richtig viel Sinn."},{"speaker":null,"startTime":2005.43499999999994543031789362430572509765625,"endTime":2009.095000000000027284841053187847137451171875,"body":"Und ich bin im Nachhinein erschrocken, wieso bei mir fr\u00fcher die Programme funktioniert haben."},{"speaker":null,"startTime":2010.35500000000001818989403545856475830078125,"endTime":2015.515000000000100044417195022106170654296875,"body":"Ich glaube, mit der Erfahrung fragt sich das jeder, der irgendwann mal in die"},{"speaker":null,"startTime":2015.515000000000100044417195022106170654296875,"endTime":2016.97499999999990905052982270717620849609375,"body":"Softwareentwicklung eingestiegen ist."},{"speaker":null,"startTime":2017.27500000000009094947017729282379150390625,"endTime":2020.454999999999927240423858165740966796875,"body":"Du kennst mein Lieblingsbild f\u00fcr Programmieren. Der Programmierer ist ein Mensch"},{"speaker":null,"startTime":2020.454999999999927240423858165740966796875,"endTime":2023.31500000000005456968210637569427490234375,"body":"mit tausenden Leben, der l\u00e4uft im Sumpf und immer wenn er untergeht,"},{"speaker":null,"startTime":2023.375,"endTime":2026.93499999999994543031789362430572509765625,"body":"nimmt er beim n\u00e4chsten Mal einen anderen Weg und irgendwann kommt er \u00fcber den Sumpf dr\u00fcber."},{"speaker":null,"startTime":2028.39499999999998181010596454143524169921875,"endTime":2029.85500000000001818989403545856475830078125,"body":"So stellen wir Programmieren vor."},{"speaker":null,"startTime":2031.615000000000009094947017729282379150390625,"endTime":2034.634999999999990905052982270717620849609375,"body":"Genau. Man versteht es nicht, aber hat aus Erfahrung gelernt, da komme ich dann um."},{"speaker":null,"startTime":2035.375,"endTime":2038.89499999999998181010596454143524169921875,"body":"Ich habe da immer so ein bisschen anderes Bild im Kopf, aber das jetzt zu skizzieren,"},{"speaker":null,"startTime":2039.295000000000072759576141834259033203125,"endTime":2043.93499999999994543031789362430572509765625,"body":"das ist ein bisschen aufwendiger. Aber so ist es auch, ja. Ja, genau."},{"speaker":null,"startTime":2044.2550000000001091393642127513885498046875,"endTime":2046.27500000000009094947017729282379150390625,"body":"Ja, Rainer, du hast mir doch erz\u00e4hlt,"},{"speaker":null,"startTime":2046.47499999999990905052982270717620849609375,"endTime":2052.59499999999979991116560995578765869140625,"body":"du bist gerade dabei, an deinem Mentoring-Programm weiterzuarbeiten."},{"speaker":null,"startTime":2053.01499999999987267074175179004669189453125,"endTime":2054.71500000000014551915228366851806640625,"body":"Okay, da bin ich gerade voll ergesch\u00fcrt."},{"speaker":null,"startTime":2055.19500000000016370904631912708282470703125,"endTime":2057.9949999999998908606357872486114501953125,"body":"Ich will mal ein bisschen ausholen. Ich schule schon ewig lang."},{"speaker":null,"startTime":2058.3440000000000509317032992839813232421875,"endTime":2061.4239999999999781721271574497222900390625,"body":"Und ich halte drei Tagesklassen f\u00fcr gut, aber nicht das Optimum."},{"speaker":null,"startTime":2061.5839999999998326529748737812042236328125,"endTime":2064.3440000000000509317032992839813232421875,"body":"In eine Firma muss irgendwie eine Fortbildungskultur reinkommen,"},{"speaker":null,"startTime":2064.78400000000010550138540565967559814453125,"endTime":2066.0839999999998326529748737812042236328125,"body":"deren feste Ansicht bin ich."},{"speaker":null,"startTime":2066.12399999999979627318680286407470703125,"endTime":2070.5039999999999054125510156154632568359375,"body":"Das hei\u00dft, man braucht pro Woche ein paar Stunden, wo nur f\u00fcr Fortbildung da ist."},{"speaker":null,"startTime":2070.66400000000021464074961841106414794921875,"endTime":2073.64399999999977808329276740550994873046875,"body":"Weil in unserem Bereich, der ist einfach so wahnsinnig schnelllebig."},{"speaker":null,"startTime":2073.80400000000008731149137020111083984375,"endTime":2077.043999999999869032762944698333740234375,"body":"Wir kommen nicht drum herum und es dauert zu arbeiten."},{"speaker":null,"startTime":2077.28400000000010550138540565967559814453125,"endTime":2079.32400000000006912159733474254608154296875,"body":"Das ist eine Erfahrung gemacht. Wie gesagt, ich bin Krankenpfleger."},{"speaker":null,"startTime":2079.44399999999995998223312199115753173828125,"endTime":2080.56399999999985084286890923976898193359375,"body":"Da geht es viel gem\u00fctlicher zu."},{"speaker":null,"startTime":2080.8440000000000509317032992839813232421875,"endTime":2083.40399999999999636202119290828704833984375,"body":"Aus dem Grund oder aus dem anderen Grund, dass es in Deutschland,"},{"speaker":null,"startTime":2083.60399999999981446308083832263946533203125,"endTime":2086.98399999999992360244505107402801513671875,"body":"ich bin ja mal b\u00f6sartig, nur f\u00fcnf bis zehn gute Trainer gibt,"},{"speaker":null,"startTime":2087.14399999999977808329276740550994873046875,"endTime":2089.98399999999992360244505107402801513671875,"body":"aber viel mehr Leute, die es n\u00f6tig haben, haben wir ein Problem."},{"speaker":null,"startTime":2090.24400000000014188117347657680511474609375,"endTime":2092.884000000000014551915228366851806640625,"body":"Und aus dem Grund habe ich ein Mentoring-Programm mitgeworfen."},{"speaker":null,"startTime":2093.30400000000008731149137020111083984375,"endTime":2097.66400000000021464074961841106414794921875,"body":"Die Idee von Mentoring ist das folgende. Ich arbeite gewisse Themen auf in kleinen"},{"speaker":null,"startTime":2097.66400000000021464074961841106414794921875,"endTime":2104.543999999999869032762944698333740234375,"body":"Videoeinheiten, wo ich die Theorie erkl\u00e4re und erkl\u00e4re dann ein Thema in 16 bis 32 Wochen."},{"speaker":null,"startTime":2104.70400000000017826096154749393463134765625,"endTime":2108.5039999999999054125510156154632568359375,"body":"Dann setze ich voraus, dass man pro Woche mindestens drei Stunden investiert."},{"speaker":null,"startTime":2108.56399999999985084286890923976898193359375,"endTime":2111.2640000000001236912794411182403564453125,"body":"Man kann mehr, weil ich mehr Material habe. Und das ist mein Programm."},{"speaker":null,"startTime":2111.44399999999995998223312199115753173828125,"endTime":2115.0839999999998326529748737812042236328125,"body":"Das hei\u00dft, ich habe drei Komponenten. Der erste ist Theorie erkl\u00e4ren, der zweite ist Praxis."},{"speaker":null,"startTime":2115.32400000000006912159733474254608154296875,"endTime":2118.56399999999985084286890923976898193359375,"body":"Da erkl\u00e4re ich die Theorie noch mal ein Beispiel. Die Teilnehmer kriegen \u00dcbungsaufgaben"},{"speaker":null,"startTime":2118.56399999999985084286890923976898193359375,"endTime":2119.90399999999999636202119290828704833984375,"body":"und die L\u00f6sung als Video aufgenommen."},{"speaker":null,"startTime":2120.82400000000006912159733474254608154296875,"endTime":2124.40399999999999636202119290828704833984375,"body":"Und es gibt ein Forum, wo die Leute die \u00dcbungsaufgaben diskutieren k\u00f6nnen."},{"speaker":null,"startTime":2124.62399999999979627318680286407470703125,"endTime":2127.9639999999999417923390865325927734375,"body":"Und die dritte Komponente pro Woche ist noch die Q&A. Das ist typischerweise"},{"speaker":null,"startTime":2127.9639999999999417923390865325927734375,"endTime":2130.94399999999995998223312199115753173828125,"body":"am Freitag. Da werden wir Fragen zu den \u00dcbungsaufgaben zur Theorie gestellt."},{"speaker":null,"startTime":2131.1840000000001964508555829524993896484375,"endTime":2135.62399999999979627318680286407470703125,"body":"Und so arbeite ich die Thema auf in 16 bis 32 Wochen. Mittlerweile habe ich"},{"speaker":null,"startTime":2135.62399999999979627318680286407470703125,"endTime":2138.82400000000006912159733474254608154296875,"body":"f\u00fcnf Mentoring-Programme und einige Leute, die schon durchlaufen haben."},{"speaker":null,"startTime":2139.0039999999999054125510156154632568359375,"endTime":2141.0839999999998326529748737812042236328125,"body":"Ja, und was wollte ich noch sagen?"},{"speaker":null,"startTime":2141.3440000000000509317032992839813232421875,"endTime":2146.384000000000014551915228366851806640625,"body":"Die bauen, warte mal, du sagst f\u00fcnf Mentoring-Programme, die bauen Die bauen aufeinander auf."},{"speaker":null,"startTime":2146.56399999999985084286890923976898193359375,"endTime":2152.06399999999985084286890923976898193359375,"body":"Die bauen aufeinander auf, ja. W\u00fcrde ich theoretisch bei dem ersten Programm"},{"speaker":null,"startTime":2152.06399999999985084286890923976898193359375,"endTime":2156.32400000000006912159733474254608154296875,"body":"anfangen und dann k\u00f6nnte ich ins zweite, ins dritte, vierte, f\u00fcnfte."},{"speaker":null,"startTime":2156.5839999999998326529748737812042236328125,"endTime":2162.14399999999977808329276740550994873046875,"body":"Also das erste Mal, wenn ich es unschlecht erkl\u00e4rt habe, soll man Kontakt mit mir aufnehmen."},{"speaker":null,"startTime":2162.30400000000008731149137020111083984375,"endTime":2166.10399999999981446308083832263946533203125,"body":"Das zweite ist einzig f\u00fcr Beginner, das hei\u00dft Fundamentals."},{"speaker":null,"startTime":2166.384000000000014551915228366851806640625,"endTime":2170.12399999999979627318680286407470703125,"body":"Der Grundlage f\u00fcr mich war das, der zu sagen, was verlange ich von einem,"},{"speaker":null,"startTime":2170.16400000000021464074961841106414794921875,"endTime":2172.4239999999999781721271574497222900390625,"body":"der sagt, er kann C++ und ich soll den einstellen."},{"speaker":null,"startTime":2172.56399999999985084286890923976898193359375,"endTime":2174.20400000000017826096154749393463134765625,"body":"Das war die Messlatte f\u00fcr mich."},{"speaker":null,"startTime":2174.20400000000017826096154749393463134765625,"endTime":2178.36400000000003274180926382541656494140625,"body":"Und dann gibt es zwei Intermediate Design Patterns, Architektur Patterns."},{"speaker":null,"startTime":2178.920000000000072759576141834259033203125,"endTime":2182.420000000000072759576141834259033203125,"body":"10 plus plus und 10 plus plus 20."},{"speaker":null,"startTime":2182.94000000000005456968210637569427490234375,"endTime":2187.4600000000000363797880709171295166015625,"body":"Und dann gibt es zwei Advanced Concursi, das ist richtig anspruchsvoll."},{"speaker":null,"startTime":2187.579999999999927240423858165740966796875,"endTime":2190.59999999999990905052982270717620849609375,"body":"Und gerade eben entwickelst du und es sind ein paar Wochen fertig Templates."},{"speaker":null,"startTime":2190.8000000000001818989403545856475830078125,"endTime":2194.15999999999985448084771633148193359375,"body":"Ja, und das sind die f\u00fcnf und zwei wird es noch geben. Zwei wird es noch geben."},{"speaker":null,"startTime":2194.5,"endTime":2197.65999999999985448084771633148193359375,"body":"Eins zu Performance und eins zu Embedded-Programmierung."},{"speaker":null,"startTime":2198.01999999999998181010596454143524169921875,"endTime":2201.84000000000014551915228366851806640625,"body":"Und dann habe ich im Prinzip alles abgedeckt. Und das ist."},{"speaker":null,"startTime":2202.63999999999987267074175179004669189453125,"endTime":2205.55999999999994543031789362430572509765625,"body":"Wenn ich das jetzt richtig verstehe, bauen die ja nicht aufeinander auf,"},{"speaker":null,"startTime":2205.65999999999985448084771633148193359375,"endTime":2210.3800000000001091393642127513885498046875,"body":"sondern das ist ja wie so eine Plattform, wo man sich ausw\u00e4hlen kann,"},{"speaker":null,"startTime":2210.5,"endTime":2211.94000000000005456968210637569427490234375,"body":"okay, ich brauche jetzt was zum"},{"speaker":null,"startTime":2211.94000000000005456968210637569427490234375,"endTime":2215.94000000000005456968210637569427490234375,"body":"Concurrency, dann muss ich hier dieses Mentoring-Programm mir ausw\u00e4hlen."},{"speaker":null,"startTime":2216.13999999999987267074175179004669189453125,"endTime":2218.28000000000020008883439004421234130859375,"body":"Also sagen wir, das Erste ist ja Grundlage, die brauchst du einfach."},{"speaker":null,"startTime":2218.579999999999927240423858165740966796875,"endTime":2220.82000000000016370904631912708282470703125,"body":"Ja, klar. Sonst darfst du nicht programmieren."},{"speaker":null,"startTime":2221.6199999999998908606357872486114501953125,"endTime":2226.05999999999994543031789362430572509765625,"body":"Und das Zweite sind Spezialisierungen. Ja. Und die weitere, wobei Design und"},{"speaker":null,"startTime":2226.05999999999994543031789362430572509765625,"endTime":2228.739999999999781721271574497222900390625,"body":"Architektur ist so halb Grundlage, halb Spezialisierung."},{"speaker":null,"startTime":2229.44000000000005456968210637569427490234375,"endTime":2233.71999999999979991116560995578765869140625,"body":"Okay. Du wei\u00dft es ja selber. Ja, klar. Kann ich mir was darunter vorstellen."},{"speaker":null,"startTime":2234.8800000000001091393642127513885498046875,"endTime":2238.13999999999987267074175179004669189453125,"body":"Man k\u00f6nnte K\u00f6nnte schon in die Concurrency gehen, aber vielleicht ist es doch"},{"speaker":null,"startTime":2238.13999999999987267074175179004669189453125,"endTime":2243.1999999999998181010596454143524169921875,"body":"sinnvoll, mal noch die Architektur besucht zu haben vorher, damit man wei\u00df,"},{"speaker":null,"startTime":2243.32000000000016370904631912708282470703125,"endTime":2251.65999999999985448084771633148193359375,"body":"welche grundlegenden Aspekte aus der Architektur denn vielleicht noch da rangezogen werden."},{"speaker":null,"startTime":2251.94000000000005456968210637569427490234375,"endTime":2255.260000000000218278728425502777099609375,"body":"Und das Sch\u00f6ne an dem Mentoring-Programm ist, da wir ein Feature nicht nur aus"},{"speaker":null,"startTime":2255.260000000000218278728425502777099609375,"endTime":2258.40000000000009094947017729282379150390625,"body":"einem Aspekt, sondern aus f\u00fcnf Blickwinkeln anschauen und immer mal wieder,"},{"speaker":null,"startTime":2258.51999999999998181010596454143524169921875,"endTime":2260.1199999999998908606357872486114501953125,"body":"sitzt es viel tiefer im Hirten."},{"speaker":null,"startTime":2260.48000000000001818989403545856475830078125,"endTime":2265.5,"body":"Das ist also viel nachhaltiger, viel nachhaltiger. Aus f\u00fcnf Blickwinkeln, wie meinst du das?"},{"speaker":null,"startTime":2265.6199999999998908606357872486114501953125,"endTime":2269.15999999999985448084771633148193359375,"body":"Du hast in jedem Mentoring-Programm so f\u00fcnf Blickwinkel?"},{"speaker":null,"startTime":2269.4600000000000363797880709171295166015625,"endTime":2271.260000000000218278728425502777099609375,"body":"Du kannst Move-Symmetrie erkl\u00e4ren."},{"speaker":null,"startTime":2272.05999999999994543031789362430572509765625,"endTime":2273.40000000000009094947017729282379150390625,"body":"Ich habe vorher Move-Symmetrie erz\u00e4hlt."},{"speaker":null,"startTime":2274.1999999999998181010596454143524169921875,"endTime":2277.760000000000218278728425502777099609375,"body":"Da habe ich dir aus dem Aspekt von Performance ein bisschen erz\u00e4hlt."},{"speaker":null,"startTime":2278.36000000000012732925824820995330810546875,"endTime":2282.579999999999927240423858165740966796875,"body":"Ich k\u00f6nnte es aber jetzt auch aus dem Aspekt vom Design von der Klasse erz\u00e4hlen."},{"speaker":null,"startTime":2282.63999999999987267074175179004669189453125,"endTime":2286.32000000000016370904631912708282470703125,"body":"Wie man klar sieht, was man damit automatisch moven kann. Dann ist es eher Design."},{"speaker":null,"startTime":2286.51999999999998181010596454143524169921875,"endTime":2290.1199999999998908606357872486114501953125,"body":"Ich k\u00f6nnte es theoretisch erz\u00e4hlen mit R-Value und L-Value. Bei Referenzen-Zocken"},{"speaker":null,"startTime":2290.1199999999998908606357872486114501953125,"endTime":2291.1999999999998181010596454143524169921875,"body":"habe ich immer verschiedene Zug\u00e4nge."},{"speaker":null,"startTime":2291.71999999999979991116560995578765869140625,"endTime":2295.9600000000000363797880709171295166015625,"body":"Und durch das sitzt das viel, viel tiefer. Und die Idee von mir ist einfach"},{"speaker":null,"startTime":2295.9600000000000363797880709171295166015625,"endTime":2300.1199999999998908606357872486114501953125,"body":"die folgende, wenn jemand mitmachen will, da sitzt seine Firma f\u00fcr drei Stunden"},{"speaker":null,"startTime":2300.1199999999998908606357872486114501953125,"endTime":2302.3000000000001818989403545856475830078125,"body":"pro Woche und f\u00fcr den Kurs sponsert."},{"speaker":null,"startTime":2302.40000000000009094947017729282379150390625,"endTime":2305.6999999999998181010596454143524169921875,"body":"Der Kurs kostet genauso viel wie eine typische Dreitagesklasse,"},{"speaker":null,"startTime":2305.6999999999998181010596454143524169921875,"endTime":2307.01999999999998181010596454143524169921875,"body":"aber wesentlich wertvoller."},{"speaker":null,"startTime":2307.0399999999999636202119290828704833984375,"endTime":2312.82000000000016370904631912708282470703125,"body":"Wesentlich. Okay, und du kannst es dann quasi aus dem B\u00fcro oder von zu Hause"},{"speaker":null,"startTime":2312.82000000000016370904631912708282470703125,"endTime":2317.01999999999998181010596454143524169921875,"body":"bearbeiten, weil f\u00fcr diese drei Stunden, die du eben gesagt hast,"},{"speaker":null,"startTime":2317.1999999999998181010596454143524169921875,"endTime":2321.8000000000001818989403545856475830078125,"body":"w\u00fcrde ja keiner durch die Welt fahren und sich irgendwo in den Klassenraum setzen. Genau."},{"speaker":null,"startTime":2321.822000000000116415321826934814453125,"endTime":2324.6419999999998253770172595977783203125,"body":"Das ist eine kleine Herausforderung. Ich habe Teile von der ganzen Welt."},{"speaker":null,"startTime":2325.242000000000189174897968769073486328125,"endTime":2329.9420000000000072759576141834259033203125,"body":"Von S\u00fcdamerika bis nach Australien. Durch das biete ich zwei Q&As an, wenn ich die Zeit hole."},{"speaker":null,"startTime":2330.22200000000020736479200422763824462890625,"endTime":2332.16199999999980718712322413921356201171875,"body":"Okay, ja, das ist gut. Das ist nat\u00fcrlich eine Herausforderung."},{"speaker":null,"startTime":2332.16199999999980718712322413921356201171875,"endTime":2334.1819999999997889972291886806488037109375,"body":"Weil die sind ja 20 Stunden auseinander."},{"speaker":null,"startTime":2334.3620000000000800355337560176849365234375,"endTime":2337.9420000000000072759576141834259033203125,"body":"Ja, und die Mentoring-Programme sind prinzipiell dann auf Englisch,"},{"speaker":null,"startTime":2337.9420000000000072759576141834259033203125,"endTime":2340.46199999999998908606357872486114501953125,"body":"weil du die dann wahrscheinlich\u2026 Die sind auf Englisch und auch die Q&A,"},{"speaker":null,"startTime":2340.50199999999995270627550780773162841796875,"endTime":2342.9420000000000072759576141834259033203125,"body":"die zeichne ich auf, also selbst wenn man keine Zeit hat."},{"speaker":null,"startTime":2343.1019999999998617568053305149078369140625,"endTime":2346.84200000000009822542779147624969482421875,"body":"Ja, also da kann man dann nochmal reingucken. Ja, und ich wollte noch was sagen."},{"speaker":null,"startTime":2347.6819999999997889972291886806488037109375,"endTime":2352.322000000000116415321826934814453125,"body":"Danach kann man von der Mentimembership in die Community membership gehen und"},{"speaker":null,"startTime":2352.322000000000116415321826934814453125,"endTime":2356.6819999999997889972291886806488037109375,"body":"dann kann man alles konsumieren, was man mal gekauft hat f\u00fcr ewig, f\u00fcr unbestimmte Zeit."},{"speaker":null,"startTime":2357.0219999999999345163814723491668701171875,"endTime":2360.88200000000006184563972055912017822265625,"body":"Ach so, okay, verstehe. Ich hatte einige Teilnehmer gehabt, was passiert,"},{"speaker":null,"startTime":2360.98199999999997089616954326629638671875,"endTime":2362.4420000000000072759576141834259033203125,"body":"wenn man die Frage erst einmal ja einf\u00e4llt?"},{"speaker":null,"startTime":2362.822000000000116415321826934814453125,"endTime":2364.96199999999998908606357872486114501953125,"body":"Dann bin ich ja nicht mehr im Forum, da sage ich, ja, stimmt eigentlich."},{"speaker":null,"startTime":2365.50199999999995270627550780773162841796875,"endTime":2367.242000000000189174897968769073486328125,"body":"Und aus dem Grund habe ich die alten, die meisten noch drin."},{"speaker":null,"startTime":2367.46199999999998908606357872486114501953125,"endTime":2370.6819999999997889972291886806488037109375,"body":"Das ist eine relativ kleine Geb\u00fchr, 150 Euro und da ist Leben lang Zugriff."},{"speaker":null,"startTime":2371.1419999999998253770172595977783203125,"endTime":2376.62199999999984356691129505634307861328125,"body":"Weil ich will eine Community aufbauen, die miteinander diskutiert. Ja, sehr sch\u00f6n."},{"speaker":null,"startTime":2376.822000000000116415321826934814453125,"endTime":2382.84200000000009822542779147624969482421875,"body":"Was haben wir jetzt besprochen, Rainer? Ich komme ja eigentlich aus der Systementwicklung"},{"speaker":null,"startTime":2382.84200000000009822542779147624969482421875,"endTime":2387.1019999999998617568053305149078369140625,"body":"und aus dem Requirements Engineering und sorge daf\u00fcr,"},{"speaker":null,"startTime":2387.3620000000000800355337560176849365234375,"endTime":2392.7020000000002255546860396862030029296875,"body":"dass Anforderungen erhoben werden, dass bekannt ist oder dass herausgearbeitet"},{"speaker":null,"startTime":2392.7020000000002255546860396862030029296875,"endTime":2395.3620000000000800355337560176849365234375,"body":"wird, was das System leisten soll."},{"speaker":null,"startTime":2395.3620000000000800355337560176849365234375,"endTime":2401.061999999999898136593401432037353515625,"body":"Und ja, \u00fcber die Architektur wird dann aufgeplant oder \u00fcberlegt,"},{"speaker":null,"startTime":2401.1419999999998253770172595977783203125,"endTime":2408.00199999999995270627550780773162841796875,"body":"wie hast du es eben gesagt, Segregation, also die Aufteilung in entsprechende Teilsysteme."},{"speaker":null,"startTime":2408.00199999999995270627550780773162841796875,"endTime":2410.96199999999998908606357872486114501953125,"body":"Ein Teilsystem davon ist immer wieder die Software."},{"speaker":null,"startTime":2411.2820000000001527951098978519439697265625,"endTime":2414.58199999999987994669936597347259521484375,"body":"Manchmal hat man auch mehrere Softwareteile in so einem komplexen System."},{"speaker":null,"startTime":2414.58199999999987994669936597347259521484375,"endTime":2420.9420000000000072759576141834259033203125,"body":"Und genau das sorge ich quasi f\u00fcr mit den Lastenheften und Pflichtenheften und"},{"speaker":null,"startTime":2420.9420000000000072759576141834259033203125,"endTime":2426.38200000000006184563972055912017822265625,"body":"du hast jetzt quasi mit dem modernen C++ daf\u00fcr gesorgt, dass wir auch einen"},{"speaker":null,"startTime":2426.38200000000006184563972055912017822265625,"endTime":2429.0219999999999345163814723491668701171875,"body":"gescheiten Quellcode erstellen k\u00f6nnen."},{"speaker":null,"startTime":2429.54300000000012005330063402652740478515625,"endTime":2431.9830000000001746229827404022216796875,"body":"Genau, also ich fange bei der Architektur an, ganz grob gesagt,"},{"speaker":null,"startTime":2432.12300000000004729372449219226837158203125,"endTime":2435.64300000000002910383045673370361328125,"body":"auch wenn ich im letzten Beispiel, im letzten Job doch deutlich mehr gemacht"},{"speaker":null,"startTime":2435.64300000000002910383045673370361328125,"endTime":2438.9229999999997744453139603137969970703125,"body":"habe, aber im Prinzip fange ich bei der Architektur an und ich versuche die"},{"speaker":null,"startTime":2438.9229999999997744453139603137969970703125,"endTime":2443.08300000000008367351256310939788818359375,"body":"Architektur durch Design und gute Anwendung von C++ umzusetzen."},{"speaker":null,"startTime":2443.8429999999998472048901021480560302734375,"endTime":2446.32299999999986539478413760662078857421875,"body":"Genau. Das ist eigentlich meine Aufgabe, weil ich relativ gut wei\u00df,"},{"speaker":null,"startTime":2446.46300000000019281287677586078643798828125,"endTime":2449.9830000000001746229827404022216796875,"body":"was sind die Idealtechniken, weil manchmal mache ich auch f\u00fcr Firmen Code Reviews."},{"speaker":null,"startTime":2450.08300000000008367351256310939788818359375,"endTime":2454.063000000000101863406598567962646484375,"body":"Okay, genau. Das ist sozusagen meine Baustelle, wo ich relativ gut bin. Ja, genau."},{"speaker":null,"startTime":2454.2629999999999199644662439823150634765625,"endTime":2457.3429999999998472048901021480560302734375,"body":"Und deswegen erg\u00e4nze ich das auch immer ganz gut, finde ich,"},{"speaker":null,"startTime":2457.46300000000019281287677586078643798828125,"endTime":2459.70299999999997453414835035800933837890625,"body":"oder in diesem Fall unser Interview,"},{"speaker":null,"startTime":2459.90299999999979263520799577236175537109375,"endTime":2465.04300000000012005330063402652740478515625,"body":"weil auf der einen Seite haben wir halt die Feststellung, was sind die Anforderungen"},{"speaker":null,"startTime":2465.04300000000012005330063402652740478515625,"endTime":2470.04300000000012005330063402652740478515625,"body":"und auf der anderen Seite, da kommst du dann ins Spiel und kannst den Menschen"},{"speaker":null,"startTime":2470.04300000000012005330063402652740478515625,"endTime":2471.86299999999982901499606668949127197265625,"body":"aus dem Software-Bereich helfen,"},{"speaker":null,"startTime":2472.12300000000004729372449219226837158203125,"endTime":2478.50300000000015643308870494365692138671875,"body":"da sauberen Code, also clean Code zu schreiben, der sich kompilieren l\u00e4sst,"},{"speaker":null,"startTime":2478.82299999999986539478413760662078857421875,"endTime":2481.82299999999986539478413760662078857421875,"body":"der sauber auch in der Laufzeit funktioniert."},{"speaker":null,"startTime":2481.82299999999986539478413760662078857421875,"endTime":2488.1829999999999927240423858165740966796875,"body":"Also nochmal ganz andere Aspekte mit reinbringst, als das, was ich beschrieben"},{"speaker":null,"startTime":2488.1829999999999927240423858165740966796875,"endTime":2491.222999999999956344254314899444580078125,"body":"habe, was funktional quasi das System machen soll."},{"speaker":null,"startTime":2491.4830000000001746229827404022216796875,"endTime":2497.62300000000004729372449219226837158203125,"body":"Das hei\u00dft also, deine Mentoring-Programme k\u00f6nnen nicht nur von Menschen genutzt"},{"speaker":null,"startTime":2497.62300000000004729372449219226837158203125,"endTime":2501.1030000000000654836185276508331298828125,"body":"werden, die jetzt im Medizinbereich unterwegs sind, so wie du es zu Anfang mit"},{"speaker":null,"startTime":2501.1030000000000654836185276508331298828125,"endTime":2505.14300000000002910383045673370361328125,"body":"den Defibrillatoren genannt hast, sondern alle,"},{"speaker":null,"startTime":2505.2629999999999199644662439823150634765625,"endTime":2507.28299999999990177457220852375030517578125,"body":"die irgendwo Software schreiben,"},{"speaker":null,"startTime":2507.58300000000008367351256310939788818359375,"endTime":2510.6030000000000654836185276508331298828125,"body":"C++ schreiben, f\u00fcr die ist es ja auch geeignet."},{"speaker":null,"startTime":2510.6030000000000654836185276508331298828125,"endTime":2514.78299999999990177457220852375030517578125,"body":"Ja, stimmt, aber was das auf den Punkt bringt, meine Hauptkunde ist die Automobilindustrie."},{"speaker":null,"startTime":2515.5230000000001382431946694850921630859375,"endTime":2519.8429999999998472048901021480560302734375,"body":"Ohne Zulieferer, also das ist immer schon eine gewisse Tendenz zur Hardware. Okay."},{"speaker":null,"startTime":2520.063000000000101863406598567962646484375,"endTime":2523.50300000000015643308870494365692138671875,"body":"Weil das sind einfach die Herausforderungen, die wir haben. Sind meiner Ansicht"},{"speaker":null,"startTime":2523.50300000000015643308870494365692138671875,"endTime":2526.70299999999997453414835035800933837890625,"body":"nach, kriegen wir die Automobilindustrie ins n\u00e4chste Jahrtausend,"},{"speaker":null,"startTime":2526.7629999999999199644662439823150634765625,"endTime":2527.64300000000002910383045673370361328125,"body":"die dieser VMS jetzt ist."},{"speaker":null,"startTime":2528.1829999999999927240423858165740966796875,"endTime":2532.4830000000001746229827404022216796875,"body":"Und das Entscheidende ist Software, meiner Ansicht nach. Wir m\u00fcssen lernen,"},{"speaker":null,"startTime":2532.54300000000012005330063402652740478515625,"endTime":2534.20299999999997453414835035800933837890625,"body":"andere Kulturen aufzubauen in Firmen."},{"speaker":null,"startTime":2534.420000000000072759576141834259033203125,"endTime":2536.98000000000001818989403545856475830078125,"body":"Unsere Softwarefirma wird ganz anders betrieben als die Hardwarefirma."},{"speaker":null,"startTime":2537.13999999999987267074175179004669189453125,"endTime":2538.3000000000001818989403545856475830078125,"body":"Ja, das stimmt, das stimmt."},{"speaker":null,"startTime":2538.5399999999999636202119290828704833984375,"endTime":2543.6199999999998908606357872486114501953125,"body":"So, jetzt hatten wir so den Kreis hinbekommen, dass ja auch klar ist,"},{"speaker":null,"startTime":2543.760000000000218278728425502777099609375,"endTime":2546.8000000000001818989403545856475830078125,"body":"warum habe ich hier im Systems Engineering jetzt jemanden dabei,"},{"speaker":null,"startTime":2546.90000000000009094947017729282379150390625,"endTime":2551.34000000000014551915228366851806640625,"body":"der Softwareentwicklung betreibt und Mentoringprogramme f\u00fcr Softwareentwicklung betreibt."},{"speaker":null,"startTime":2551.48000000000001818989403545856475830078125,"endTime":2554.6199999999998908606357872486114501953125,"body":"Ich finde, das war eine ganz wunderbare Erweiterung. Freut mich."},{"speaker":null,"startTime":2554.86000000000012732925824820995330810546875,"endTime":2557.90000000000009094947017729282379150390625,"body":"Wir haben vorher ja aber auch noch \u00fcber was anderes gesprochen."},{"speaker":null,"startTime":2558.01999999999998181010596454143524169921875,"endTime":2562.28000000000020008883439004421234130859375,"body":"Und zwar, wer es vielleicht mitbekommen hat, Reiner hat jetzt hier im Interview"},{"speaker":null,"startTime":2562.28000000000020008883439004421234130859375,"endTime":2564.5,"body":"immer mal wieder ein bisschen abgehackt gesprochen."},{"speaker":null,"startTime":2565,"endTime":2569.13999999999987267074175179004669189453125,"body":"Reiner, du bist krank geworden im letzten Jahr. Ja klar, da gehe ich auch ganz,"},{"speaker":null,"startTime":2569.21999999999979991116560995578765869140625,"endTime":2571.6199999999998908606357872486114501953125,"body":"ganz \u00f6ffentlich damit um. Was eine sehr gute Entscheidung war."},{"speaker":null,"startTime":2571.6999999999998181010596454143524169921875,"endTime":2574.5,"body":"Ich habe alles und wer wei\u00df, was es ist."},{"speaker":null,"startTime":2574.59999999999990905052982270717620849609375,"endTime":2578.739999999999781721271574497222900390625,"body":"Das ist das, was das Team von Hawkins gehabt hat. Bei ihm ist es doch ganz untypisch verlaufen."},{"speaker":null,"startTime":2578.90000000000009094947017729282379150390625,"endTime":2582.8000000000001818989403545856475830078125,"body":"Weil normalerweise lebt man zwischen 2 und 5 Jahren und nicht 40 Jahre damit."},{"speaker":null,"startTime":2583.3800000000001091393642127513885498046875,"endTime":2586.9600000000000363797880709171295166015625,"body":"Und das Abgehackte kommt daher, damit ich sauber rede, kriege ich so,"},{"speaker":null,"startTime":2587,"endTime":2591.13999999999987267074175179004669189453125,"body":"habe ich in der Nase so eine kleine Luftunterst\u00fctzung und immer wenn die Luft"},{"speaker":null,"startTime":2591.13999999999987267074175179004669189453125,"endTime":2594.3000000000001818989403545856475830078125,"body":"reinbl\u00e4st und ich dann anfangen will zu reden, dann passt das nicht."},{"speaker":null,"startTime":2595.079999999999927240423858165740966796875,"endTime":2598.71999999999979991116560995578765869140625,"body":"Da muss ich kurz pausieren. Das ist ein Synchronisationsproblem."},{"speaker":null,"startTime":2598.90000000000009094947017729282379150390625,"endTime":2603.40000000000009094947017729282379150390625,"body":"Da kommt wieder der Techniker durch, genau."},{"speaker":null,"startTime":2603.6199999999998908606357872486114501953125,"endTime":2609.51999999999998181010596454143524169921875,"body":"Genau. Ja, dir ist es ganz besonders wichtig, dass wir nochmal das Thema ALS"},{"speaker":null,"startTime":2609.51999999999998181010596454143524169921875,"endTime":2611.86000000000012732925824820995330810546875,"body":"ansprechen, Weil es muss,"},{"speaker":null,"startTime":2612.09999999999990905052982270717620849609375,"endTime":2619.0399999999999636202119290828704833984375,"body":"oder es ist aktuell nicht so in den Medien, so bekannt in den K\u00f6pfen von den Menschen."},{"speaker":null,"startTime":2619.32000000000016370904631912708282470703125,"endTime":2622.4600000000000363797880709171295166015625,"body":"Also ich will jetzt nicht gro\u00df jammern, aber das Problem ist einfach,"},{"speaker":null,"startTime":2622.6999999999998181010596454143524169921875,"endTime":2626.5,"body":"ALS wurde lange Zeit sehr stark gegr\u00fcndet, bis zum Tod von Stephen Hawkins."},{"speaker":null,"startTime":2626.78000000000020008883439004421234130859375,"endTime":2629.01999999999998181010596454143524169921875,"body":"Dann gab es die Ice Bucket Challenge 2014."},{"speaker":null,"startTime":2629.65999999999985448084771633148193359375,"endTime":2633.1199999999998908606357872486114501953125,"body":"Ja, vielleicht kann ich da noch viel erinnern. Die gerade nach zehn Jahren wieder"},{"speaker":null,"startTime":2633.1199999999998908606357872486114501953125,"endTime":2636.36000000000012732925824820995330810546875,"body":"aufgewirbelt wird. Es ist gerade auch wieder eine Welle. Ja, genau."},{"speaker":null,"startTime":2636.5399999999999636202119290828704833984375,"endTime":2640.21999999999979991116560995578765869140625,"body":"Die Ice Bucket Challenge gibt es aus dem Grund, in der Endphase von ALS f\u00fchrt"},{"speaker":null,"startTime":2640.21999999999979991116560995578765869140625,"endTime":2642.420000000000072759576141834259033203125,"body":"man sich, wie wenn das Eis \u00fcber dich dr\u00fcber geschmissen wird."},{"speaker":null,"startTime":2642.55999999999994543031789362430572509765625,"endTime":2646,"body":"Der ganze K\u00f6rper zieht sich zusammen, du kannst dich nicht ber\u00fchren. Da kommt die Challenge."},{"speaker":null,"startTime":2646.239999999999781721271574497222900390625,"endTime":2650,"body":"Das ist das Gef\u00fchl von ALS nachzustellen. Das guckt, das wusste ich zum Beispiel"},{"speaker":null,"startTime":2650,"endTime":2651.84000000000014551915228366851806640625,"body":"auch nicht. Ich wei\u00df es auch nicht, der Gestern."},{"speaker":null,"startTime":2652.6999999999998181010596454143524169921875,"endTime":2655.51999999999998181010596454143524169921875,"body":"Also, sehr interessant, das mal zu erfahren, warum..."},{"speaker":null,"startTime":2655.8789999999999054125510156154632568359375,"endTime":2659.51899999999977808329276740550994873046875,"body":"Dieser Schluss getroffen worden ist damals, ja."},{"speaker":null,"startTime":2659.759000000000014551915228366851806640625,"endTime":2663.1390000000001236912794411182403564453125,"body":"Das Problem ist einfach, in den letzten Jahren hat sich viel erforscht,"},{"speaker":null,"startTime":2663.1390000000001236912794411182403564453125,"endTime":2667.15900000000010550138540565967559814453125,"body":"rund um Krebs und langsam kriegt man den Krebs ziemlich gut unter Kontrolle."},{"speaker":null,"startTime":2667.27899999999999636202119290828704833984375,"endTime":2670.15900000000010550138540565967559814453125,"body":"Sie vermuten schon, dass es jetzt bald schon Impfungen geben,"},{"speaker":null,"startTime":2670.2989999999999781721271574497222900390625,"endTime":2672.69900000000006912159733474254608154296875,"body":"Krebsart gibt. Das musst du dir mal vorstellen, das finde ich genial."},{"speaker":null,"startTime":2673.01899999999977808329276740550994873046875,"endTime":2676.93899999999985084286890923976898193359375,"body":"Und jetzt wird der Fokus mehr auf diese Nervenkrankheiten gelegt."},{"speaker":null,"startTime":2677.259000000000014551915228366851806640625,"endTime":2682.759000000000014551915228366851806640625,"body":"Wie zum Beispiel, meine Krankheit ist relativ verwandt, auch zum MS oder auch zu Parkinson."},{"speaker":null,"startTime":2683.07900000000017826096154749393463134765625,"endTime":2685.7190000000000509317032992839813232421875,"body":"Und jetzt versucht man halt immer mehr, und es gibt schon kleine Durchbr\u00fcche,"},{"speaker":null,"startTime":2685.8789999999999054125510156154632568359375,"endTime":2687.23900000000003274180926382541656494140625,"body":"bei meiner Krankheit was zu tun."},{"speaker":null,"startTime":2687.2989999999999781721271574497222900390625,"endTime":2691.49899999999979627318680286407470703125,"body":"Einerseits die symptomische Linder oder andererseits vielleicht sogar urspr\u00fcnglich anzugehen."},{"speaker":null,"startTime":2691.599000000000160071067512035369873046875,"endTime":2695.9589999999998326529748737812042236328125,"body":"Was bei ALS passiert, ist folgende. Die Motorneuronen, die meine bewusste Muskulatur"},{"speaker":null,"startTime":2695.9589999999998326529748737812042236328125,"endTime":2699.31899999999995998223312199115753173828125,"body":"ansteuern, gehen kaputt. Durch das bin ich praktisch, weil ich immer mitgelebt habe."},{"speaker":null,"startTime":2699.759000000000014551915228366851806640625,"endTime":2702.759000000000014551915228366851806640625,"body":"Und ich bin es bereits oben, selbst bin ich stark, oben ab und zu nicht."},{"speaker":null,"startTime":2703.01899999999977808329276740550994873046875,"endTime":2705.69900000000006912159733474254608154296875,"body":"Aber wie gesagt, es soll jetzt kein Jammern sein. Mir geht es total gut."},{"speaker":null,"startTime":2705.81899999999995998223312199115753173828125,"endTime":2707.65900000000010550138540565967559814453125,"body":"Ich bin voll von Energie und mir geht es gut."},{"speaker":null,"startTime":2707.99899999999979627318680286407470703125,"endTime":2712.27899999999999636202119290828704833984375,"body":"Also so wie ich dich hier erlebe, spr\u00fchst du quasi wirklich vor Energie,"},{"speaker":null,"startTime":2712.49899999999979627318680286407470703125,"endTime":2716.03900000000021464074961841106414794921875,"body":"dass du doch dieses Mentoring-Programm fertigstellst. Du hast die Pl\u00e4ne f\u00fcr"},{"speaker":null,"startTime":2716.03900000000021464074961841106414794921875,"endTime":2718.7989999999999781721271574497222900390625,"body":"weitere Mentoring-Programme. Das ist wunderbar."},{"speaker":null,"startTime":2719.2190000000000509317032992839813232421875,"endTime":2721.57900000000017826096154749393463134765625,"body":"Nee, das freut mich wahnsinnig, dass ich das so umsetzen kann."},{"speaker":null,"startTime":2721.85899999999992360244505107402801513671875,"endTime":2723.23900000000003274180926382541656494140625,"body":"Sorry, das habe ich unterbrochen."},{"speaker":null,"startTime":2723.418999999999869032762944698333740234375,"endTime":2727.4589999999998326529748737812042236328125,"body":"Ja, alles gut. Ich habe dadurch, dass ich auch mit meiner Frau dar\u00fcber gesprochen"},{"speaker":null,"startTime":2727.4589999999998326529748737812042236328125,"endTime":2733.259000000000014551915228366851806640625,"body":"habe, \u00fcber die Erkrankheit, die du hast, sagte sie, ja, und hier in der Nachbarschaft,"},{"speaker":null,"startTime":2733.259000000000014551915228366851806640625,"endTime":2738.07900000000017826096154749393463134765625,"body":"da war auch jemand, der ist vor mehreren Jahren daran gestorben."},{"speaker":null,"startTime":2738.19900000000006912159733474254608154296875,"endTime":2742.07900000000017826096154749393463134765625,"body":"Und dann kam noch mal irgendwo jemand, also ein Name ins Spiel,"},{"speaker":null,"startTime":2742.23900000000003274180926382541656494140625,"endTime":2746.259000000000014551915228366851806640625,"body":"da hie\u00df es auch, ja, der hat auch ALS. Und da ist mir erstmal bewusst geworden,"},{"speaker":null,"startTime":2746.43899999999985084286890923976898193359375,"endTime":2751.3789999999999054125510156154632568359375,"body":"okay, das ist gar nicht so eine seltene Krankheit, es gibt die wirklich h\u00e4ufiger."},{"speaker":null,"startTime":2751.53900000000021464074961841106414794921875,"endTime":2755.03900000000021464074961841106414794921875,"body":"Ja, die ist halt total unterfinanziert und wird nicht wahrgenommen."},{"speaker":null,"startTime":2755.15900000000010550138540565967559814453125,"endTime":2758.39899999999988722265698015689849853515625,"body":"In Amerika gibt es einen gr\u00f6\u00dferen Topf jetzt, wo sie Forschung vorantreiben,"},{"speaker":null,"startTime":2758.4589999999998326529748737812042236328125,"endTime":2759.9589999999998326529748737812042236328125,"body":"aber in Deutschland passiert noch nicht so viel."},{"speaker":null,"startTime":2760.599000000000160071067512035369873046875,"endTime":2763.0590000000001964508555829524993896484375,"body":"Und das ist das Traurige, das l\u00e4uft haupts\u00e4chlich \u00fcber Spenden."},{"speaker":null,"startTime":2763.400999999999839928932487964630126953125,"endTime":2766.88099999999985811882652342319488525390625,"body":"Das ist einfach ein bisschen traurig. Und gerade wird aber der Fokus weg von"},{"speaker":null,"startTime":2766.88099999999985811882652342319488525390625,"endTime":2769.1210000000000945874489843845367431640625,"body":"Krebs, Richtung die Richtung gehen. Ja, genau."},{"speaker":null,"startTime":2770.14100000000007639755494892597198486328125,"endTime":2774.6610000000000582076609134674072265625,"body":"Es hat einen lustigen Namen. Es gilt als die h\u00e4ufigste seltene Krankheit."},{"speaker":null,"startTime":2774.7809999999999490682967007160186767578125,"endTime":2778.26099999999996725819073617458343505859375,"body":"Ja, sie gilt als seltene Krankheit und die tritt aber wiederum am h\u00e4ufigsten"},{"speaker":null,"startTime":2778.26099999999996725819073617458343505859375,"endTime":2779.98100000000022191670723259449005126953125,"body":"auf. Die h\u00e4ufigste, ja. Ja, genau."},{"speaker":null,"startTime":2780.400999999999839928932487964630126953125,"endTime":2784.22100000000000363797880709171295166015625,"body":"Ja, und du hast es ja gerade gesagt, so tief stecke ich da nicht drin,"},{"speaker":null,"startTime":2784.26099999999996725819073617458343505859375,"endTime":2788.6610000000000582076609134674072265625,"body":"aber wenn es schon Impfungen f\u00fcr die ersten Krebsarten geben k\u00f6nnte,"},{"speaker":null,"startTime":2788.84099999999989449861459434032440185546875,"endTime":2791.48100000000022191670723259449005126953125,"body":"dann ist das ja ein wahnsinniger Schritt."},{"speaker":null,"startTime":2791.48100000000022191670723259449005126953125,"endTime":2797.740999999999985448084771633148193359375,"body":"Und die andere Krankheit, die ja immer wieder bekannt und durch die Medien gegangen ist, ist Aids."},{"speaker":null,"startTime":2797.84099999999989449861459434032440185546875,"endTime":2803.0410000000001673470251262187957763671875,"body":"Und da ist ja auch vor, wann haben wir das Vorgespr\u00e4ch gehabt?"},{"speaker":null,"startTime":2803.1610000000000582076609134674072265625,"endTime":2807.88099999999985811882652342319488525390625,"body":"Ich glaube vier Wochen ist es her oder so. Und kurz davor ist eine Meldung \u00fcber"},{"speaker":null,"startTime":2807.88099999999985811882652342319488525390625,"endTime":2814.52100000000018553691916167736053466796875,"body":"das Radio gekommen, dass in der Charit\u00e9 in Berlin der dritte Mensch in Deutschland"},{"speaker":null,"startTime":2814.52100000000018553691916167736053466796875,"endTime":2816.84099999999989449861459434032440185546875,"body":"quasi von Aids als geheilt gilt."},{"speaker":null,"startTime":2816.84099999999989449861459434032440185546875,"endTime":2819.7809999999999490682967007160186767578125,"body":"Das ist eine Geheilsumme, ja."},{"speaker":null,"startTime":2820.1610000000000582076609134674072265625,"endTime":2824.2809999999999490682967007160186767578125,"body":"Ja, weil wenn man f\u00fcnf Jahre lang den HIV-Virus nicht nachweist,"},{"speaker":null,"startTime":2824.30099999999993087840266525745391845703125,"endTime":2826.82099999999991268850862979888916015625,"body":"dann gilt man als geheilt. So ist die Definition."},{"speaker":null,"startTime":2826.96099999999978535925038158893585205078125,"endTime":2829.1610000000000582076609134674072265625,"body":"Und das ist bei dieser Person wohl passiert."},{"speaker":null,"startTime":2829.3609999999998763087205588817596435546875,"endTime":2832.0410000000001673470251262187957763671875,"body":"Das ist jetzt der dritte in Deutschland und der sechste weltweit."},{"speaker":null,"startTime":2832.26099999999996725819073617458343505859375,"endTime":2836.2809999999999490682967007160186767578125,"body":"Also da passiert auch einiges. Und da gebe ich dir durchaus recht."},{"speaker":null,"startTime":2836.4409999999998035491444170475006103515625,"endTime":2841.38099999999985811882652342319488525390625,"body":"Da wird die n\u00e4chste Krankheit dann nat\u00fcrlich auch jetzt finanziert werden m\u00fcssen."},{"speaker":null,"startTime":2842.6610000000000582076609134674072265625,"endTime":2847.1610000000000582076609134674072265625,"body":"Und gerade die Charit\u00e9 Berlin ist ganz wichtig bei alles. Die hat ein ALS-Zentrum"},{"speaker":null,"startTime":2847.1610000000000582076609134674072265625,"endTime":2851.48100000000022191670723259449005126953125,"body":"und ich arbeite mit denen ab und um zusammen bei dem Hawaii. Die haben auch eins."},{"speaker":null,"startTime":2852.32099999999991268850862979888916015625,"endTime":2856.92099999999982173903845250606536865234375,"body":"Weil ganz wichtig bei solchen Krankheiten allgemein, man muss zu dem gr\u00f6\u00dften"},{"speaker":null,"startTime":2856.92099999999982173903845250606536865234375,"endTime":2858.240999999999985448084771633148193359375,"body":"Spezialisten gehen, den man findet."},{"speaker":null,"startTime":2858.38099999999985811882652342319488525390625,"endTime":2861.6210000000000945874489843845367431640625,"body":"Weil die anderen wissen gar nicht damit umzugehen. Die machen das total falsch."},{"speaker":null,"startTime":2861.7809999999999490682967007160186767578125,"endTime":2866.2010000000000218278728425502777099609375,"body":"Und das ist eine ganz allgemeine Empfehlung, immer wenn man sowas hat."},{"speaker":null,"startTime":2867.06100000000014915713109076023101806640625,"endTime":2872.2010000000000218278728425502777099609375,"body":"Spezialisten aufsuchen. Ja, genau. Spezialisten aufsuchen. Das ist auch unser Stichwort."},{"speaker":null,"startTime":2872.32099999999991268850862979888916015625,"endTime":2876.46099999999978535925038158893585205078125,"body":"Wenn man Lastenhefte braucht, geht man zu mir. Hier, wenn man modernes C++ lernen"},{"speaker":null,"startTime":2876.46099999999978535925038158893585205078125,"endTime":2880.400999999999839928932487964630126953125,"body":"m\u00f6chte, geht man zu Rainer Grimm. So sollte es eigentlich auch sein."},{"speaker":null,"startTime":2880.60100000000011277734301984310150146484375,"endTime":2885.92099999999982173903845250606536865234375,"body":"Ja, Rainer, haben wir irgendwas vergessen in unserem Gespr\u00e4ch?"},{"speaker":null,"startTime":2886.081000000000130967237055301666259765625,"endTime":2889.06100000000014915713109076023101806640625,"body":"Das kann ich mir nicht vergleichen, auf jeden Fall. Aber es erinnert nichts dran."},{"speaker":null,"startTime":2890.6610000000000582076609134674072265625,"endTime":2895.38099999999985811882652342319488525390625,"body":"Okay. Wenn du 1300 Blog-Artikel geschrieben hast, hast du ein paar andere Sachen im Kopf."},{"speaker":null,"startTime":2896.427999999999883584678173065185546875,"endTime":2904.82799999999997453414835035800933837890625,"body":"Okay, gut. Ich werde auf jeden Fall deinen Blog oder deine Blogs verlinken in den Shownotes."},{"speaker":null,"startTime":2904.927999999999883584678173065185546875,"endTime":2912.007999999999810825102031230926513671875,"body":"Auch das Buch, die Mentorung-Programme, alles das finden die Zuh\u00f6rer dann in"},{"speaker":null,"startTime":2912.007999999999810825102031230926513671875,"endTime":2917.4679999999998472048901021480560302734375,"body":"den Shownotes und k\u00f6nnen sich da eher umtun oder anmelden, um mehr zu lernen"},{"speaker":null,"startTime":2917.4679999999998472048901021480560302734375,"endTime":2919.02799999999979263520799577236175537109375,"body":"\u00fcber modernes C++. Plus."},{"speaker":null,"startTime":2919.347999999999956344254314899444580078125,"endTime":2923.427999999999883584678173065185546875,"body":"Und bei mir, durchaus, Sie k\u00f6nnen sich auch bei mir r\u00fchren, ich dr\u00fccke es auf"},{"speaker":null,"startTime":2923.427999999999883584678173065185546875,"endTime":2925.2280000000000654836185276508331298828125,"body":"beides zu, sowohl auf die Krankheit wie auch auf C++."},{"speaker":null,"startTime":2925.76800000000002910383045673370361328125,"endTime":2928.32799999999997453414835035800933837890625,"body":"Okay. Ich will einfach nur helfen, egal in welche Richtung. Alles klar."},{"speaker":null,"startTime":2928.58800000000019281287677586078643798828125,"endTime":2931.507999999999810825102031230926513671875,"body":"Werde ich dann auch nochmal so reinschreiben."},{"speaker":null,"startTime":2931.688000000000101863406598567962646484375,"endTime":2934.40799999999990177457220852375030517578125,"body":"Ja. In diesem Sinne, vielen Dank, dass du dabei warst."},{"speaker":null,"startTime":2934.66800000000012005330063402652740478515625,"endTime":2937.86799999999993815436027944087982177734375,"body":"Rainer, tiefen Einblick in Softwareentwicklung bekommen."},{"speaker":null,"startTime":2938.36799999999993815436027944087982177734375,"endTime":2943.0680000000002110027708113193511962890625,"body":"Wir wissen jetzt, was die wichtigsten Meilensteine in den Standards waren und"},{"speaker":null,"startTime":2943.0680000000002110027708113193511962890625,"endTime":2945.44799999999986539478413760662078857421875,"body":"wie man sich da weiterbilden kann."},{"speaker":null,"startTime":2945.7280000000000654836185276508331298828125,"endTime":2950.08800000000019281287677586078643798828125,"body":"Vielen Dank, hat mich gefreut. Ja, danke auch. Tsch\u00fcss, Rainer. Hat Spa\u00df gemacht. Ade."},{"speaker":null,"startTime":2950.86799999999993815436027944087982177734375,"endTime":2952.927999999999883584678173065185546875,"body":"Das war mein Gespr\u00e4ch mit Rainer Grimm."},{"speaker":null,"startTime":2953.847999999999956344254314899444580078125,"endTime":2961.507999999999810825102031230926513671875,"body":"Zusammenfassend zur heutigen Episode seine drei Tipps. Verwende moderne Techniken f\u00fcr deine Software."},{"speaker":null,"startTime":2961.78800000000001091393642127513885498046875,"endTime":2963.90799999999990177457220852375030517578125,"body":"Die Anwender werden es dir danken."},{"speaker":null,"startTime":2964.90799999999990177457220852375030517578125,"endTime":2968.427999999999883584678173065185546875,"body":"Tipp Nummer zwei. Programmiere anhand der Core Guidelines f\u00fcr C++,"},{"speaker":null,"startTime":2968.78800000000001091393642127513885498046875,"endTime":2971.86799999999993815436027944087982177734375,"body":"denn es sind Best Practices aus der Community."},{"speaker":null,"startTime":2972.78800000000001091393642127513885498046875,"endTime":2976.927999999999883584678173065185546875,"body":"Und nutze mindestens drei Stunden pro Woche f\u00fcr Weiterbildung,"},{"speaker":null,"startTime":2977.08800000000019281287677586078643798828125,"endTime":2979.86799999999993815436027944087982177734375,"body":"um so an den neuesten Technologien dran zu bleiben."},{"speaker":null,"startTime":2981.32799999999997453414835035800933837890625,"endTime":2985.36799999999993815436027944087982177734375,"body":"Brauchst du Unterst\u00fctzung bei der Erstellung eines Lastenheftes oder hast eine"},{"speaker":null,"startTime":2985.36799999999993815436027944087982177734375,"endTime":2988.3879999999999199644662439823150634765625,"body":"Frage dazu, dann findest du meine E-Mail in den Shownotes."},{"speaker":null,"startTime":2988.5479999999997744453139603137969970703125,"endTime":2992.5479999999997744453139603137969970703125,"body":"Klicke da drauf oder kopiere sie in dein E-Mail-Programm und schicke mir eine Mail."},{"speaker":null,"startTime":2992.6480000000001382431946694850921630859375,"endTime":2998.02799999999979263520799577236175537109375,"body":"Wir vereinbaren einen kostenfreien Termin und sprechen \u00fcber deine Herausforderungen."},{"speaker":null,"startTime":2998.688000000000101863406598567962646484375,"endTime":3002.6080000000001746229827404022216796875,"body":"Das war die heutige Episode des Zukunftsarchitekten, der Systems Engineering"},{"speaker":null,"startTime":3002.6080000000001746229827404022216796875,"endTime":3004.847999999999956344254314899444580078125,"body":"Podcast f\u00fcr Machende und Entscheidende."},{"speaker":null,"startTime":3004.98799999999982901499606668949127197265625,"endTime":3007.8079999999999927240423858165740966796875,"body":"Mein Mein Name ist Bj\u00f6rn Schorre und ich danke dir f\u00fcrs Zuh\u00f6ren."},{"speaker":null,"startTime":3007.90799999999990177457220852375030517578125,"endTime":3012.3879999999999199644662439823150634765625,"body":"Hab Spa\u00df an dem, was du machst und vor allem w\u00fcnsche ich dir einen hohen Wirkungsgrad."},{"speaker":null,"startTime":3012.70800000000008367351256310939788818359375,"endTime":3014.74800000000004729372449219226837158203125,"body":"Tsch\u00fcss und bis zum n\u00e4chsten Mal."},{"speaker":null,"startTime":3017.67999999999983629095368087291717529296875,"endTime":3034.8180000000002110027708113193511962890625,"body":"Music."}]}