programmier.bar icon
News 19/23 –

Mojo // Qwik // Angular 16 // Bing Chat Open Preview // Open Source AI

10.05.2023

Shownotes

Dennis und Fabi sind heute abwesend, aber dafür habe wir Unterstützung von Garrelt! Wir sprechen über folgende Themen:

  • Mojo ist eine neue Programmiersprache, die volle Syntax-Kompatibilität mit Python und gleichzeitig eine 2500% bessere Performance bieten soll.
  • Qwik ist ein Full Stack Web-Framework, das durch den neuen Ansatz der Resumability und JavaScript-Streaming schnellere Ladezeiten bei gleichem Komfort für Entwickler:innen bieten soll.
  • Angular 16 verwendet nun auch Signals als Reaktivitätsmodell und führt partielle Hydration sein.
  • Die Chat-KI von Bing ist jetzt für alle als Open Preview nutzbar und kann nun auch mit Bildern und Videos antworten.
  • Ein geleaktes und kontrovers diskutiertes Dokument eines Google Mitarbeiters zeigt auf, wie schnell sich KI durch Open Source in den letzten Monaten weiterentwickelt hat und dass die großen Player gut daran tun, diese Entwicklungen zu verfolgen und zu adaptieren. 

 

/transkript/programmierbar/news-19-23-mojo-qwik-angular-16-bing-chat-open-preview-open-source-ai
Hallo und herzlich willkommen zu einer neuen Folge der programmier.bar News 19 23. Wir sind heute in einer neuen Zusammensetzung am Start, da Dennis am Montag zum zweite Mal Papa geworden ist und das habe ich gerade im Urlaub ist ja. Von unserer Seite natürlich. Herzlichen Glückwunsch! Alles Gute. Dennis. Und schön, dass du dir jetzt die Zeit jetzt natürlich dich um den Kleinen zu kümmern. Und neben den altbekannten Stimmen mit mir, dem Jojo und dem. Sebi. Ist heute auch wieder mal der Gag dabei. Du warst ja schon mal in einer Newsfolge dabei. Es ist ein Kollege, nicht ganz neuer Kollege, aber auf jeden Fall ein Kollege. Auf jeden Fall der auch großen Bock auf den Podcast und wir freuen uns sehr, dass du heute dabei bist und hoffen, dass du vielleicht auch in Zukunft öfters dabei sein wirst. Wir müssen auch sehen, dass genau. Wir haben heute eine ganze Reihe von spannenden Themen für euch dabei. Wir reden heute erst mal über Motiv und Motiv ist eine neue Programmiersprache, die von der Syntax her komplett zu Python kompatibel sein soll, aber eine deutlich bessere Performance bieten soll. Also mal gespannt, was da kommen wird. Was so alles erzählt? Ich hoffe nicht. Dann kaufen wir uns auch noch das Web Framework Quick an, das wurde jetzt in der Version 1:00 0 Redis und wir gucken uns an, was es in der Version 16 an neuen Features gibt. Und dann werden wir am Ende ein bisschen über die Neuerungen im Bereich reden. Vor allem was gibt es da bei Neuigkeiten? Und auch über ein geschicktes Dokument von Google sprechen, wo erst mal ein Mitarbeiter so ein bisschen die Position dargestellt hat von Google. Und dass sie vielleicht gegen Open Source in Zukunft eher schlechte Karten haben werden. Aber lasst uns mal starten und wir gucken uns erst mal Motor an. Das klingt auf jeden Fall sehr, sehr spannend. Okay. Dann lass mich erst mal wiederholen, was du gesagt hast. Also neue Programmiersprache, entwickelt von einer Firma, von der ich vorher noch nicht gehört, nichts gehört hatte. Die heißt Modular und die Programmiersprache ist vom Syntax her genauso wie Python, nur dass das Compil kompiliert wird und dadurch viel schneller bessere Performance hat als Person selbst. Dann überlegt man sich, wie haben die das irgendwie schaffen oder geschafft? Und zwar mit Namen. Also weiß nicht. Chris Latmann hat damit rumgerührt. Nach deren Namen. Ich habe dann irgendwo her. Ich hatte mal genau der Erfinder von Swift. Ist, habe ich noch Swift auch in ganz viele andere Programmiersprachen oder zwei Hände. Mit drin gehabt. Genau, die hatte sehr sehr viele Hände. Er hatte also hat viel an VM mitgearbeitet, was das Backend für viele Compiler ist, zum Beispiel für SWIFT Compiler für Rust Compiler. Julia Oje, okay, also für für einige. Die hatten einen ähnlichen Ansatz zu Mojo, deswegen kam es in dem Artikel vor. Aber ich weiß nicht, ob das irgendwie gut. Also wie auch immer, der hat da mitgewirkt und daraus sind eben dann auch weitere Programmiersprachen entstanden, wie zum Beispiel Swift. Und an Mojo hat er jetzt mitgearbeitet mit einer Verbesserung von LLVM und dieses Akronym fängt mit M an, habe ich aber vergessen. Aber ich glaube da mal eher Multi Level intermediale Representation ist der Unterbau jetzt von Mojo an, was so viel bedeutet wie, dass die unterschiedlichen Kompilierungsstufen unter oder in also diese Layer die rausfallen. Wenn ich etwas kompilieren können, dann noch mal separat für die jeweilige Hardware und etc. optimiert werden. So der ganze Claim von Mojo ist also wir haben die Usability von Python mit der Performance von C und das ist sehr vielversprechend. Also wenn wir so reden über wie schnell es wird und wie schnell es irgendwann andere hatten schon Spieler und dann reden wir manchmal so davon, dass jetzt 30 % schneller geworden ist, jetzt 40 % schneller ist, jetzt doppelt so schnell ist vielleicht zehnmal so schnell. Und jetzt haltet euch fest Modul soll 35.000 mal schneller sein als Python, schreiben Sie auf der Webseite. Okay, das ist natürlich wahnsinnig schnell. Ich glaube, das ist immer so der Nachteil, wenn man irgendwie an Python denkt, dass man denkt okay, das ist einfach unglaublich langsam. Und es wird natürlich gerade im Bereich eigentlich für alle großen Entwicklung. Sehr viele der Tools basieren eigentlich auf Python. Das war immer so der große Nachteil, das letztendlich da für die Operation einfach so viel Performance gebraucht wurde. Und gerade für den Bereich ist natürlich besonders interessant, dass man dort eine deutlich bessere Performance hat. Genau die Sache. Also wie kriegt man 35.000 fache Performance Optimierung hin? Das funktioniert natürlich nicht einfach nur. Würde man nur sagen Ich finde das wahnsinnig dumm. Wieso haben wir das nicht vorher gemacht? Der Trick an der Sache ist eher das Motiv als Sprache. Es ist also ein super Set von Python, Das heißt, ich habe noch ein bisschen was, was on top kommt und das on top ist eigentlich so diese Magic, die Mojo möglich macht. Und zwar lassen sich dadurch alle Prozessoren ausnutzen, die ich in meinem Computer zur Verfügung habe und außerdem auch die Grafikkarten Hardware. Und da ist das große Stichwort eben Parallelisierung. Und wenn ich halt, wenn ich irgendwie Sachen sehr smart parallelisiere, auf verschiedene CPUs, GPU und gegebenenfalls auch mit dem Befehlssatz für Parallelisierung, die die modernen Prozessoren mitbringen, sind, dann ist irgendwie alles super fix und superschnell und ist super vielversprechend. Eine andere Sache, die Mojto möglich macht, die mit Python nicht so einfach ist, als wenn man beim Deployment und entwickeln kann man aus einem Python Script eine Executive machen und dann auf meiner Architektur, für die ich es kompiliert habe, ausführbar ist. Was diesen ganzen Haskell mit Ich muss Python mit ausliefern in das System, wo ich sind Deployment und mein Script laufen lassen möchte wegnimmt. Ja, also ich habe leider die KI noch nicht geguckt. Hab heute Morgen erst gesehen, dass auf der Modular Punkt kommen Seite sie eine Keynote haben 45 Minuten sondern ich bin fast äh Artikel über Mojo eingestiegen. Dort hat jemand Real World Algorithmen in dem Playground den sie zur Verfügung stellen, schon mal getestet? Und da ist jemand von 2500 x, also 2500 mal schneller. Das war auch die Zahl, die ich da gelesen hatte. Das ungefähr diesen Faktoren für diesen. Ganzen Kram und der war ja schon mega beeindruckend. Und dann habe ich eben auf der Modular Seite geguckt und ich schreibe mal 35.000. Ach ist das heißt, ja. Ich finde es voll cool, dass so was von von Python ist, weil du nimmst dir einen Code, den du schon hast, nutzt Mojo um einen solchen schnell zu machen und kannst dann an den Stellen, wo es möglich ist, Mojo benutzen um diese Performance zu bekommen, ohne dass du den ganzen Code umschreiben muss, sondern auch in dieser, in dieser Präsentation dir vorgeführt hatte, dass so schrittweise einfach immer ein paar Sachen hinzugefügt, die man jetzt mitbringt. Das fand ich total cool. Das heißt, du hast schon sozusagen so ein Gewissen, zum Teil sogar den oder mitbringen, glaube ich dir. Es gibt da so bestimmte Funktionsdefinitionen und alles, was dann nicht mehr mit dev irgendwie definiert wird. Das ist dann letztendlich eine magische Funktion, wo halt dann diese Optimierung stattfinden kann, aber bestimmte Restriktionen dadurch auch irgendwie dann auferlegt werden, so dass zum Beispiel Typisierung dann notwendig oder möglich ist an der Stelle. Und das ist aber jetzt noch nicht final, das ist jetzt sozusagen ein erster Stand der Sprache, die jetzt irgendwie weiterentwickelt wird. Und ich glaube, das ist sozusagen die Verbindung von Julia, weil man jetzt sozusagen auch Modro als Konstrukt nutzen kann, um auch auf bestimmte Funktionen vom Mojo zu implementieren. Also ja, man nutzt letztendlich schon einen Teil der Sprache, um andere Bestandteile der Sprache, die weiterzuentwickeln. Aber das wird jetzt erst noch. Genau das machen Sie, machen sie gerade so sicher Entwicklung, das ist noch nicht veröffentlicht und kann, soweit ich weiß nur auf der Seite im Play Ground irgendwie testen. Okay, also es ist noch nicht noch nicht fertig oder noch nicht Release fähig. Sie sagen aber, es wäre wohl in den nächsten Wochen so weit. Okay, spannend. Was wohl sehr ambitioniert ist. Aber wenn Sie das sagen, ja. Ihr Geheimnis ist, dass Sie auf einer sehr, sehr starken Foundation aufbauen. Eben dieser. Dieser Compiler Compiler, der unter allem liegt und das der Syntax der Sprache Python eben schon fertig ist. Das müssen Sie sich nicht erst ausdenken. Ich bin mega gespannt, was das mit der Welt macht, was das für Implikationen hat. Allein schon für ich möchte Training, Phasen oder so, die mehrere Tage dauern ist dann nicht mehr. Das mit cool ist auf jeden Fall auch ja eher eigener Claim, dass sie sagen es ist The biggest Programming Language Awareness in the cat. Das ist natürlich ein starker Claim und hoffen wir mal, dass sich das so bewahrheitet und wir dadurch wirklich ein neues, neue coole Sprache gerade für diesen Bereich zu Verfügung haben. Okay, dann zum nächsten Thema. Nämlich da geht es jetzt um das WP Framework Quick und war jetzt mein erster Kontakt mit Quick jetzt über diesen Release neunte gekommen ist. Ich glaube Gare, du hast auch schon mal damit ein bisschen herumexperimentiert, da kann man ein bisschen später drauf eingehen. Erst mal so ein bisschen zu Grundlagen. Also es hat jetzt die eins released und wird von Bildern so wie das gesamte System eigentlich entwickelt. Ich glaube, es gibt sehr viele Contributions, auch aus der Community. Bill Der ist ja letztendlich so ein Headless CMS, die dann sagen Hey, ihr könnt letztendlich jetzt unser Framework, also Quick nutzen mit Quick City, Quick City, darunter ist eigentlich noch mal so eine Art Meta Framework. Also Quick ist letztendlich ein neuer Ansatz, wie Komponenten gestaltet werden, wie man Reaktivität aufbaut und ist sehr sehr ähnlich zu dem oder hat der bedient sich auch so Ansätzen die wir schon in anderen programmieren also bei Frameworks wie jetzt World und View oder Reactio kennen. Ich habe jetzt noch nicht was ist Quick? So was wie eine Axt nicht so genau was. Es ist natürlich eher erst mal so was wie Beef oder Relax, dann mal auf der obersten Ebene. Aber es verbindet eigentlich diese beiden Welten, also das, was sozusagen bei Reakt oder if mit next oder Next zuerst sozusagen in einem separaten Block irgendwie gehalten wird. Ist eigentlich bei Quick integriert. Also es ist ein Full Stack Framework, was einem erlaubt, sozusagen komplett Puls Stack oder man muss sich da keine Gedanken oder schreibe ich jetzt den Code für den Server oder schreibe ich irgendwie Code für den Client und es hat sehr ähnlichen Ansatz, dass man sagen kann, man kann seine Seite auch komplett als Generation kompilieren oder auch es ist eher auf dem Server ändern lassen. Brauche aber nicht diesen Unterbau, den jetzt irgendwie IF mit max hat, dass man dort letztendlich noch mal so einen Meta Framework außenrum hat, der bestimmte Funktionen dann bereitstellt, sondern das ist eigentlich ein Quick, eigentlich so ein integrierter Ansatz, den Sie dort verfolgen. Und genau was der große Unterschied ist zwischen jetzt, Quick und Jetzt. IF oder mit Next ist, dass Sie sagen, sie nutzen keine Information. Das ist ja bei den anderen Systemen eigentlich so dieser Mechanismus. Wenn man sagt, man liefert erst mal den statischen HTML Body aus, dann wird halt das JavaScript nachgeladen. Also man möchte natürlich da wirklich die First Time to Interaktivität oder interaktiv irgendwie reduzieren. Die Seite soll möglichst schnell geladen sein, um einfach dann die Lage zu verbessern. Deswegen sind ja sehr viele dieser Spr Framework dazu übergegangen, solche Sachen wie nachts anzubinden, um einfach da. The first time first time to impression zu reduzieren. Und das wollen sie eben kombinieren, haben aber da ein anderer Ansatz und nutzen nicht die Situation, sondern haben etwas gebaut, was sich Mobility nennt. Und der große Nachteil dran ist eben, dass ich erst mal mein HTML ausliefert, dann eigentlich mein komplettes JavaScript laden muss und der gesamte die gesamten Komponenten, die aufgebaut werden, auf der Seite irgendwie angezeigt werden muss, man irgendwie über die bestehen hat drüber legen und da war es teilweise so die ersten Ansätze haben immer den kompletten Baum eigentlich ausgetauscht, da kam es zum leichten Flutter ing und inzwischen sind die Ansätze natürlich bei den Travel Frameworks intelligenter, dass sie sich wirklich an die bestehenden HTML, die HTML Struktur interpretieren können Nur die notwendigen Teile mit Interaktivität versetzen, die entsprechenden Event Listener binden. Aber trotzdem müssen sie eigentlich alle Komponenten, die auf der Seite benötigt werden, eben zur Verfügung haben und deswegen natürlich auch das gesamte JavaScript für die Komponenten, die auf der Seite sichtbar sind, eben laden und ausführen. Und bei der Mobility ist das eben so ein bisschen anders, dass sie sagen, der Server bereitet die Seite eines gewissen Zustand vor und schickt letztendlich das an den Client. Es gibt aber auch noch viel mehr State Information, die an der Stelle mit ausgeliefert werden, sodass der Client sozusagen einfach das weitere Rendering oder auch die Bereitstellung der Interaktivität eigentlich übernehmen kann, aber nicht Teile, die vom Server gemacht wurden, noch mal doppelt machen muss, sondern eigentlich nur die fehlenden Interaktivität Verknüpfungen, wie die Listener zum Beispiel hinzufügt. Und deswegen sagen wir, dass JavaScript, was notwendig ist, deutlich kleiner ist. Und da geht es immer auch darum, dass man sagt, wir haben eine sehr modulare Arbeitsweise und sie nutzen etwas, was sich spekulative Code Phazer ing nennt, also dass sie einfach sagen, was am wahrscheinlichsten ist, was der Benutzer jetzt auf der Seite jetzt machen kann. Das ist auch die JavaScript Funktionalität, die wir benötigen. Also Sie haben dann Optimizer, der im Backend genau diese Information versucht aufzuschlüsseln und nutzen natürlich auch moderne JavaScriptfunktionalität, um das zu identifizieren, so dass Sie dann sagen können Hey, ich lade erst mal sozusagen gewissen State und JavaScript funktioniert, um die initiale Interaktivität bereitzustellen. Das ist meistens dann nur so zwei Kilobyte JavaScript im Nachhinein, was zu der initialen HTML Seite und alles andere wird dann nach und nach nachgeladen. Also das haben sie auch so gebaut, dass das nicht aktiv passiert, sondern dass sie dafür Service Worker nutzen, die unter der Haube letztendlich kleine Module nachladen. Und da ist es auch so, dass jede Seite sozusagen von unterschiedlichen Bereichen in und Funktionalitäten in unterschiedliche Module unterteilt wird. Also anders dies vielleicht andere Frameworks machen, dass man eine Menge ist oder einen Einstiegspunkt hat, der dann geladen wird. Es ist eben so, dass diese Optimizer von Quick eben die gesamte Funktionalität der Seite in sehr viele kleine Module aufsplittet und dann diese Module je nach Wahrscheinlichkeit, wie wahrscheinlich diese Funktionalität gebraucht wird, eben dann vorgeladen wird. Aber natürlich auch wenn eine Interaktion notwendig ist, dann auch direkt dann bereitstellt. Also da, das nennen Sie dann als Ihren Ansatz im JavaScript Streaming also dass man versucht, das JavaScript so klein wie möglich aufzuteilen und diese Module dann auch eben permanent oder dann direkt im nachzuladen, sodass das alles am Ende vorhanden ist, aber für die initiale Funktionalität das alles nicht benötigt wird. Und das ist natürlich ganz spannend. Ich weiß nicht, wie weit du letztendlich bei deiner Recherche vorgedrungen ist, um das wirklich mal zu evaluieren, wie gut das funktioniert. Aber dazu dann Kontakt mit Quick einstellen. Also der Kontakt war erst mal gar nicht so ungewohnt. Ich glaube, das ist auch das, was sie bewusst versucht haben, mit diesem Framework umzusetzen, dass die Developer Experience so bleibt, wie man sie schon kennt. Also es wirkt sehr ähnlich wie wirkt. Und beim Entwickeln spürst du davon gar nicht so viel, was sie im Hintergrund eigentlich machen. Und ich würde sagen, diese Performance Bugs habe ich jetzt bei dem, was wir entwickelt haben, noch nicht so richtig gemerkt. Klar merkt man an ein paar Stellen, dass es eben anders geladen wird. Wenn man erst mal eine Treppe oder so kommt, dann sieht man eben ein anderes Verhalten als jetzt. Bei keiner IFAB oder so, aber im Umgang an sich habe ich die Performance so nicht gespürt. Okay, passiert wahrscheinlich erst, wenn man es groß skaliert. Das ist so ein bisschen die Aussage, dass bei kleinen Applikationen natürlich auch der Overhead von AB jetzt nicht so groß, aber je größer die App wird, braucht man natürlich immer das gesamte Bündel, was zur Verfügung steht, wenn man keine dynamischen Einstiegspunkte hat und das halt eben durch dieses JavaScript Streaming, dass dann deutlich reduziert wird. Also am Anfang hat man vielleicht vergleichbare Zeiten. Ich glaube, Fugu hat in der kleinsten Band 17 Kilobyte. Darum, das ist ein bisschen kleiner, aber ich glaube, das ist natürlich immer noch unwesentlich, wenn man sich wirklich in einer normalen Netzwerkumgebung befindet. Also das spielt natürlich vor allem die Vorteile aus, Wenn man dann wirklich irgendwo unterwegs ist, mit seinem mobilen Gerät eine schlechte Internetverbindung hat und einfach da die Bandbreite einfach deutlich reduziert ist. Was du eben angesprochen hast, ist natürlich eine der Ansätze, also diese, diese diesen einfachen Einstieg. Sie nutzen einfach alles, was man aus Real kennt, um seine Komponenten zu strukturieren. Der sehr, sehr viele ähnliche Strukturen, die man vielleicht auf you can, seitdem wir eben damit direkt wuchs mit drei adaptiert haben. Wie man letztendlich seine Komponenten definiert, was ja auch ein bisschen anders machen ist, dass sie eben einfach eine feine Grand Activity anbieten. Also das ist ein Konzept, was sie sich eher dann von Solid Jazz abgeguckt haben, wo es ja auch so ist. Wenn ich jetzt zum Beispiel eine Zustandsänderung von einem Textbereich mache, dass man nicht dann die gesamte Komponente, den gesamten Dom dann von dieser Komponente neu bauen muss, sondern einfach sagt, okay, in dem Fall wird einfach eine DOM Manipulation ausgeführt und das ist etwas, was sozusagen vorher interpretiert wird und dann eben durch den Compiler eben schon umgesetzt wird. Und das ist auch ein Konzept, was bei Quickgenauso zu tragen kommt. Also bestimmte kleinere Operationen können halt direkt auf dem Dom ausgeführt werden und haben keine keinen Neubau. Dass Virtual Dom dann eine zu Folge, wozu dann eine Operation? Natürlich, da auch eine deutlich bessere Performance erfolgen können. Also heißt das, da gibt es. Also ich muss sagen, ich wir haben kein Preact, wir haben keine View, sondern wir haben ein Quick Framework, was dann läuft. Das ist aber kompiliert. Das heißt, eigentlich habe ich keine Runtime mehr im Browser. Ja. Okay, also wird dieses Virtual Dom, den gibt es gar nicht. Vermutlich ist es so, dass sie ist nicht so in der Form nutzen in der. Vielleicht schon um, weil es sind bestimmte Basisoperationen, die man damit machen kann. Aber ich glaube, es gibt natürlich schon bestimmte komplexere Update Zyklen Update Zustände, die dann vielleicht nicht nur auf dieser Manipulation passieren können, sondern wo dann doch vielleicht auch mein gesamter Domknoten zeigen. Aber da habe ich jetzt nicht drüber gelesen, ob sie in irgendeiner Form so eine Repräsentation im Hintergrund haben. Ich könnte mir vorstellen, das ist nicht haben, aber sicher bin ich mir da nicht. Die Frage kann ich da nicht so vollständig beantworten. Und ja, was sie halt noch darüber hinaus bieten, ist halt einmal eben diese clientseitige Komponente. Aber dass Sie auch sagen, Sie haben hier ähnliche Ansätze wie zunächst im Hintergrund, dass Sie auch mit QuickCity so eine Art Meta Framework haben, wo man einfach so eine root based oder pfadbasierte Navigation Routing bauen kann, dass man einfach sagt okay, ich lege einfach in der Verzeichnisstruktur einfach an, wie bestimmte Informationen in meiner Webseite abgebildet und aufgerufen werden können. Sie haben dort auch eine Integration für alle großen Cloudprovider. Also da gibt es für Cloud Raniverse, für AWS, für Your hat die entsprechende mittlere, die einfach sicherstellt, dass das Projekt einfach direkt auf diesem Dienst ausgeführt werden kann. Sie haben auch schon eine Bibliothek GUI oder Papa Papa Nase Ui, was eine UI Komponenten Bibliothek ist. Sie haben aber auch die Möglichkeit über Quick Preact. Das ist einfach noch mal so eine Bridge und Wrapper, womit man dann jegliche Komponenten dann eigentlich in seinem Projekt verwenden kann. Und da kann man auch schon mal den Vorteil von Quick vielleicht nutzen sagen. Es gibt dann noch mal so eine einfache Methode, die heißt glaube ich, Quickify oder jede Komponente reinstecken kannst. Und da wird sozusagen noch ein gewisser Optimierungsschritt ausgeführt, sodass ich vielleicht nicht die Tradition von Next dann nutzen muss, sondern ich habe eben diesen Mobility Ansatz von Quick, kann aber sozusagen in bestehende Anwendungen dann entweder langsam importieren oder einfach mal auf die Situation Aspekte verzichten und eben dann diese Strategie nutzen. Und sie haben natürlich auch eine komplette Integration in dieses Framework. Dafür ist es ja eigentlich gebaut. Dass man da einfach eine einfache Anbindung hat, ist auf jeden Fall spannend, das zu beobachten, weil es natürlich noch mal so einen separaten Ansatz gibt. Und gerade wenn man diese Tradition spart, ist etwas, was natürlich da besonders gelöst ist. Ich will auf jeden Fall auch gerne damit mal rumspielen, um mal zu gucken. Und ich glaube, natürlich ist vielleicht für unsere Anwendungsfälle so Spiele vielleicht nicht das richtige Framework, aber für alles andere, wo man eher sagt, man hat. Eine Seite, die man irgendwie optimieren möchte, die momentan jetzt schon Next oder Next oder irgendsoein CRSC Framework nutzt, kann es natürlich ein interessanter Anwendungsfall sein. Und was in Zukunft auch noch kommen soll, dass es halt entsprechende Rapper wie sie momentan für Reaction bestehen, eben auch für Svelte Fugu. Für die beiden weiß es auf jeden Fall. Und Angela dann auch kommen soll. Also ich meine, wir reden ja auch öfter über Ladezeiten in unseren Apps und ich denke, dass Quick das verbessern würde. Und ich meine vielleicht zum Beispiel nicht so viel aus, weil die User mehr gewillt sind, noch zu warten als jetzt bei einer Website. Aber ich denke, dass es in vielen Bereichen Anwendung finden kann, solang das Projekt groß genug ist, dass Ladezeiten relevant sind. Ja. Also dann ist das vielleicht wirklich von Spielern einfach mehr gewohnt. Man hat Spinner, da wird auch eine Plattform so bereitgestellt. Man möchte alles irgendwie an Code auch irgendwie schon auf dem Kleinen haben, dann einfach ausführen. Hast du ein Beispiel für eine Webseite, die mit Quickgebaut ist. Die Quicksseite. Aber so. Berühmt ist, dass es schon jetzt zwei interessiert? Also gerade was der Performance Unterschied ist zwischen einer Seite, die nach C gebaut ist und gebaut ist. Ob das signifikant ist? Ja, definitiv. Dass man das vergleicht, da habe ich keine Zahlen gefunden. Also die Adaption der Community ist natürlich relativ groß, also gerade im Oktober noch mal massiv angestiegen. Also hat auf jeden Fall da einen gewissen Impact. Aber gerade so diese Fragestellung, wie groß ist wirklich der Gain und ist es so, dass vielleicht auch gewisse einschränken? Sie sprechen davon, dass es sehr wenig Einschränkung gibt im Verhältnis zu anderen Sprachen. Das dann rechtfertigen, dass man trotzdem das nutzt. Ja, verlinken wir auf jeden Fall in den Shownotes, guckt es euch an, wenn es euch interessiert und ich glaube, es wäre auch spannend, darüber mal der Folge zu machen. Aber jetzt gehen wir erst mal zu einem anderen großen Fehler, was ich eben schon erwähnt habe, wo es auch eine neue Version gibt. Was gibt es denn bei Angela an Neuigkeiten zu verkünden? Was gibt es bei Engel? Genau 16 ist herausgekommen und Heise nennt es den größten Release seit dem initialen Rollout. Womit sie aber zwei meinen, weil es ja noch mal ein ganz anderes Thema war und ich bin gespannt, ob das stimmt. Also die Änderungen, die Sie mitbringen, sind vielfältig, würde ich sagen. Eine der größten Änderungen ist, dass es eine Developer Video von einer neuen Funktionalität für die Activity gibt, und zwar, dass sie jetzt nutzen und anstatt son Jazz, was sie vorher genutzt haben, um so diese Activity Magic an Stellen auch zu machen, weil man hatte nicht so richtig Einblick. Also es hat funktioniert und man hatte so ein paar Möglichkeiten die Reaktivität zu beeinflussen, indem man die Strategie einstellen konnte. Aber das galt immer nur für die gesamte Komponente und das soll das verbessern, dass man das ein bisschen Granularer machen kann. Und wir haben zwar nicht über sie geredet, aber es ist prinzipiell das gleiche Konzept, also man. Würde auch sagen das gleiche Konzept wie in allen anderen Medien. Genau, du machst das auch mittlerweile und die Hooks bei beiden sind genau das gleiche. Ist auch kein Wunder, weil soweit ich weiß, ist der Entwickler von Quick auch der Erfinder von Angela. Also vielleicht hatte da auch so ein Parcours References. Also wenn man sich das anguckt und das benutzen möchte, ist erst mal nichts neues, aber auf jeden Fall cool, dass sie es machen. Also ich glaube, das ist ein richtiger Schritt auch für das Framework, da in diese Richtung zu gehen. Genau. Das heißt also, solange es es jetzt keine keine feste Abhängigkeit mehr, sondern man kann das optional einzubinden und man hat jetzt momentan die Möglichkeit, eben schon auf dieses Signals zu gehen. Das ist aber noch ein Developer-Life, also noch nicht komplett. Und ist aber. Stabil. Und genau das kann sich noch ändern. Aber Sie sagen schon, dass es sehr wahrscheinlich bleiben wird. Also genau. Und was ja so bei England mal ein bisschen anders war zu anderen Frameworks war dass es so es gab also so ein bisschen auch dieses Konzept mit so bestimmten Werten dargestellt hat und ich hab das auch mal gern benutzt. Ich fand das sehr gut. Ich schätze das als eines, der zuerst ein paar Stellen ablösen wird, aber sie sind auch gut miteinander vereinbar. Man kann, dass ich sie umwandeln in Streams und Signal und anders sehen. Das funktioniert sehr. Gut. Da gibt es entsprechende Konverter, Methoden, die einfach dann erweitert wurden. Ja, cool und cool. Auch zu eins der erste, der das benutzen kann, dass man die Streams dann subscribe muss. Da gibt es jetzt eine schöne Utility Funktion. Take enthält Astrid, die das für einen macht. Das war immer Panne, das selbst zu machen. Da habe ich mich auch gefreut, dass sie das endlich eingeführt haben. Als. Jetzt. Ansonsten haben sie aber auch noch mehr mitgebracht, und zwar auch ins Thema Migration. Haben Sie auch Verbesserungen gebracht, worüber wir eben schon geredet haben. Sie versuchen jetzt eben nicht mehr, alles neu zu bauen, sondern eben die Domelemente, die schon da sind, zu finden und dann zu verknüpfen. Vorher war das anders. Geht in die Richtung der Verbesserung natürlich nicht so krass wie weg, aber es soll auf jeden Fall. Wie das Flackern verhindern, was man manchmal hatte und auch einfach bessere Performance bei den Web Koa els. Und Daytrading ist etwas, was bei Angular gefühlt so ein bisschen aufgepfropft wird. Oder weil alle anderen Frameworks so in die Richtung gehen anbieten. Versuchen sie auch, diesen Support dort einzubringen. Ja, habe ich auch das Gefühl. Es wird ja auch viel genutzt, also immer schon, dass sie da in die richtige Richtung gehen. Ja, ich würde sagen, das sind so die zwei größten Events, die sie gemacht haben. Aber es kamen auch viele kleinere Sachen hinzu, und zwar als ich denke, da musste man ja immer noch diese Matthäus benutzen für alles. Das gibt es, glaube ich, seit Version 14. Das ist der. Komponist oder Komponist. Da haben sie ein paar APIs verbessert, dass man da konvertieren kann. Und ansonsten, was ich auch sehr gut finde ist, dass sie mit Vid und ihr Bild ausprobieren. Also es ist auch schon nutzbar als als Test sozusagen. Aber Sie sagen, dass sie noch nicht wissen, ob sie das irgendwie einbauen wollen. Aber ich gehe stark davon aus, dass Sie das testen, um dahin zu gehen. Warum nicht? Ja ansonsten was sonst so beim Release kommt verbesserte Developer Experience ein paar Stellen also zum Beispiel haben sie endlich required Inputs. Was mich auch gewundert hat, weil ich dachte, das haben sie schon länger. Aber das kann jetzt erst so schön, dass auch wirklich gemeckert wird, wenn du einen Input als Wegweiser setzt und den aber nicht mit gibst. Wenn der Komponente Input. So was wie eine Property Komponente. Ja, genau das ist ein Problem. Ach so, das hat er einfach geschluckt. Das hat einfach gestört, hat ihn gestört. Das finde ich sehr cool. Dann es gibt so Resolve beim Router, dass du eben, wenn du auf einen Road gibst, ihm sagst okay, hat mal die Daten und gibt die dann an diese Road weiter. Da haben wir zumindest geschrieben, dass es jetzt möglich ist, da direkt auf diese Inputs, also auf die Props, zuzugreifen. Vorher musste man immer in der Komponente über den Router auf diese Resolver und auf die Daten davon über so ein Subscribe drauf gehen. Dann waren die nicht beim Mount in der Komponente direkt da, sondern sind ein bisschen asynchron gekommen. Und so wie ich es verstehe, kannst du die jetzt irgendwie über diese Inputs reingeben und dann sind sie direkt da, sozusagen. Ist bestimmt sehr angenehm, das so zu nutzen. Ja, und dann so Sachen, so Safe close Text, das gab es vorher nicht. Man muss die Texte immer noch mal mit einem extra Text schließen. Haben sie aufgeführt, ist es auf jeden Fall sehr cool. Aber jetzt auch keine riesen Änderung. Okay, also ein paar kleinere Neuigkeit, die auch noch bei mir mitgekommen sind. Ja, so kann man sagen, Angular ist jetzt 2020 angekommen. So ungefähr, ja. Ich habe irgendwie beim Lesen der Doku auch so ein bisschen Momente von so iOS momente gehabt. Also so ein paar Momente, wo irgendwie neue Features angekündigt wurden, die andere Frameworks schon lange haben. Ich sehe wie böse anders Apple Fan. Jetzt ja, ich habe. Ja, ich war böse. Das ist nur fair, das zu. Erfahren, was es ist. Aber es fühlt sich wie die richtige Richtung. Ich bin gespannt, was es mit England macht, weil ich finde schon, dass es cool ist für manche Use Cases. Ja, welche denn? Da stehen ja Enterprise Apps. Genutzt haben die einfach zu modernisieren. Die Programmiersprache Cobalt? Ja, cool. Ich glaube, es ist auch sehr strikt so wie in den Formalismen. Wie die Apps geschrieben werden, dass ist zumindest eine Aussage von anderen. Deswegen ja vielleicht auch irgendwie geschätzt, dass man da einfach sehr strikte Strukturen auch dann einfordert, einhalten muss und das manchmal zu der Übersichtlichkeit in der App beiträgt. Und gerade für große Applikationen ist dann hilfreich, dass man dort eben eine klare Architektur definiert. Also viele Konventionen haben. Ja so gibt. Es keinen. Grund, Ein großes Team, große App, dann. Vielleicht. Genau. Ja, vielen Dank für diese Information aus dem Bereich. Ähm, dann lass uns noch mal anschauen, was vielleicht im Bereich Chemie dieses Woche Neues gab. Gab es eine Ankündigung von Microsoft, dass jetzt. Ja, genau der die. Ich weiß gar nicht. Wie heißt dieser Bing Chat? Hat ist es glaube ich. Heißt es so? Keine Ahnung also Bing. Also auf der Bing Suche kann man ja die Möglichkeit haben sich auch Fragen beantworten zu lassen mit Zeit mithilfe von Google vor, weil Bing und so verheiratet worden sind von Microsoft und das was darüber in der Suche funktioniert. Und bisher musste man sich da auf die Warteliste setzen. Und so wie ich das verstanden habe, gibt es die jetzt nicht mehr, sondern das kann jetzt jeder. Für sich selber suchen. Es war ein Preview, aber jetzt auf jeden Fall für alle zugänglich, was sie auch glaube ich, geändert haben. Dass du jetzt also nicht nur Text Antworten bekommen, sondern teilweise auch mit Bildern und Videos wie reagiert wird auf deine Anfragen dann zum Beispiel Beispiel Bilder oder auch kurze Videos die sie glaube ich nicht generieren, sondern suchen und nur darstellen. Okay, ja, genau das irgendwie, dass das Ergebnis auch Bilder sein können. Aber ich wusste nicht, dass sie nicht generiert sind. So kann es sein, dass das auch generiert ist. Es soll auf jeden Fall diese multimodale Support natürlich wie mehr kommen. Das ist glaube ich auch mehr Sachen reingehen kann. Es ist glaube ich noch nicht komplett, aber zumindest können sie auch mit Bildern und Videos reagieren und wahrscheinlich auch generiert werden. Erst recht. Das ist. Wahrscheinlich. Kann also kann ja jeder jetzt mal ausprobieren. Ist bestimmt eine spannende Sache. Zu der Bilder Generierung von Bing. Ich weiß nicht, ob wir darüber mal was gesagt haben. Bin Punkt kommst der Stimme zu. Create ist so was wie mit Journey oder Dali oder sowas und da kann man sich kostenfrei Bilder generieren lassen. Also und prompt tut also wie klassische Bildergenerierung funktioniert und schreibst irgendwas, denn was du sehen möchtest und er generiert das. Und da ist die Neuerung im Vergleich zum mit Journey, dass die Ding Image Kreation alle möglichen Sprachen unterstützt. Das heißt, da kann man jetzt auch auf Deutsch sein Bild beschreiben und es wird erzeugt. Ich glaube, das haben die anderen noch nicht. Ich weiß. Cool. Ja, dann guck mal, was da Bing zu bieten hat und ob das eure Neue favorisiert. Sich ändern wird dadurch. Was natürlich die Hoffnung von Microsoft ist. Genau ein anderes Thema. Was aus dem Bereich kommt ist ein Paper, was wie von einem Google Mitarbeiter wohl erfasst wurde und dann wurde auf einem Discord Channel Discord Server und da ist es so, dass natürlich diese Meinung nur seine eigene Meinung darstellt. Es gibt wohl auch Befragung von allen möglichen Forschern, die sagen nein, sie entsprechen nicht seiner Sicht, was aber so ein bisschen darstellt, dass er eben glaubt, dass die großen Player im Business OpenAI oder auch Google in Zukunft einfach Hintertreffen geraten werden und vor allem gegenüber den Open Source Bereich einfach da nicht mithalten können, weil alles nicht mit dem Release von diesem Modell von Facebook halt sehr viel Adaption in der Community passiert ist und sich einfach viele einzelne Individuen, Individuen oder Organisationen gedacht habe. Okay, was kann ich jetzt mit so einem großen Modell machen? Wie kann ich das adaptieren und etwas, was sonst halt eben vielleicht auch Monate Entwicklung braucht, durch ein Forschungsteam von einem großen Unternehmen durchzuführen, jetzt natürlich exemplarisch durch viele einzelne Individuen dann durchgeführt werden und deswegen halt oftmals, da die Innovation deutlich schneller ist. Also er hat so ein paar Beispiele angeführt, einfach dass man zum Beispiel schnell genug Models auf einem mobilen Gerät nutzen kann. Das ist eben dort bereits möglich, dass man auch solche persönliche Eyes hat, also irgendwelche Modelle für seinen persönlichen Nutzen einfach trainiert hat, weiter definiert hat, dass es auch so ist, dass es halt etliche Plattformen gibt, die halt dann vordefinierte Modelle dann wie klassifizieren aufführen und dass so einfach da der Zugang für die breite Bevölkerung, für die breite Masse einfach deutlich vereinfacht wird. Und er geht einfach dazu an zu sagen, man sollte sich als Großunternehmen mehr letztendlich an diesen Entwicklungen der Open Source Community irgendwie beteiligen oder auch davon lernen. Vielleicht, dass sie sich auch mehr öffnen. Wir hatten ja schon ein bisschen darüber auch mit dem Philipp gesprochen, dass diese Demokratisierung eigentlich eine gute Sache ist, dass eigentlich mehr Parteien letztendlich an dieser Entwicklung sich beteiligen und dadurch auch vielleicht die Transparenz der Modelle irgendwie besser wird, es wirklich fraglich. Ich fand es einfach ganz interessant, das zu lesen. Auch, dass natürlich momentan solche Ansätze wie Low Key Adaptation sehr, sehr gefragt sind. Das heißt, man muss eigentlich nicht das gesamte große Sprachmodell eigentlich verändern, sondern man legt dann einfach noch näher drüber, wo halt bestimmte Veränderungen der Ausgangsdaten über entsprechende Matrizen erfolgen und dadurch letztendlich ein großes Sprachmodell, wie es natürlich auch exekutiv erfolgt, dass für einen bestimmten Use Case sehr stark verbessert werden kann und dass das natürlich mit diesem Ansatz eben dazu führt, dass es sehr viel kleinere Modelle gibt, die einfach nicht mehr diese Millionen von Parametern Verknüpfung brauchen, sondern einfach für bestimmte Use Cases einfach deutlich kleinere Modelle, spezifische spezifische Modelle, oftmals einen deutlich besseren Job machen. Also ja, grundsätzlich so den Open Source Gedanken so ein bisschen stärken. Vielleicht schaffen es ja wirklich, dass der gesamte Bereich diese gesamte Entwicklung so ein bisschen mehr so in die öffentliche Hand gerät und man einfach gemeinsam es dann schafft, dort was Gutes draus zu machen und das vielleicht auch ein bisschen mehr so im Auge zu behalten, was vielleicht an negativen Entwicklungen im ein oder anderen Bereich läuft. Ich finde es auch sehr spannend, weil dieser Artikel so ein bisschen dargestellt hat, was so die Einstellung und Meinung bei Google ist, was die Entwicklung davon angeht. Also erst mal, dass sie alles irgendwie geheim halten wollen und auch, dass sie so Dinge, die von Open Source entwickelt werden oder auch herausgefunden werden, dass sie eben zum Beispiel kleinere Modelle funktionieren, aber dann auch die, die Daten dann. Das jetzt größer sein müssen, dass sie das gar nicht nutzen, dass sie keine Ahnung davon wissen, aber irgendwie aktiv es nicht verwenden in ihre, in ihrer Produktion oder in der Forschung. Und das finde ich sehr spannend, weil es ist ja dieser Typ, der das schreibt. Es ist ja wie ein Proposal, das mehr zu nutzen oder damit Open Source mehr zusammenzuarbeiten und da geht es ja auch teilweise auf Kosten und so Sachen. Ich finde es. Sehr spannend zu sehen, dass Google da so ein geschlossenes Mindset hat, dass sie das nur so für sich machen wollen. Interessant. Ich finde auch den Vergleich ganz cool. Ob wir in einer Sonnen Linux momentan leben? Ich glaube, ich hatte was her, dass ich das gelesen habe. Aber das ist ja gemeint. Hat damals mit Linux. War ja auch so, dass viele. Also ich meine, Linux ist heute eben die das Betriebssystem, das auf dem Server verwendet wird. Und fast sonst nichts anderes, glaube ich. Mein Gott. Eigentlich kenne ich mich ja gar nicht so gut aus. Git-Flow Microsoft Ich weiß nicht, ob Microsoft Azure. Ich wüsste jetzt aus dem Kopf gar nicht, wie der Marktanteil von Microsoft Server ist. Aber andererseits habe ich jetzt einen Artikel gelesen, dass als Pixar sechs wie er ist, dass diese ja von P. Eigentlich nett, aber jetzt heißt es glaube ich. Das glaube ich dann auch so eine Formalität, wie man auch Aspseiten schreiben kann. Ich glaube, dass relativ viele Internetseiten tatsächlich von diesem Dot .NET Framework unter der Haube gebaut sind. Also ich glaube. Gerade im Enterprise Umfeld ist es natürlich so, dass dort auch sehr viel Microsoft verwendet. Wird. Und ich fand es auf jeden Fall spannend, dass sie gesagt haben so, ja, vielleicht. Vielleicht sind wir ja an so einer Stelle, wo an dieser Entwicklung Open Source Entwicklung nicht unterschätzen darf und da mehr Chancen drin stecken als Gefahren. Definitiv. Und ich persönlich finde es auch sehr gut, weil so dieser Gedanke, dass OpenAI oder Google als Riesenkonzerne dann die Macht wieder über solche Netze hätten, ist so ein Tower Gedanke. Und es gibt so ein bisschen Hoffnung, dass sie eben nicht so ein Monopol bekommen, sondern dass man auch mit Communityprojekten da ein bisschen gegensteuern kann und ein bisschen mitreden darf. In den letzten News von Google natürlich beschrieben haben. Also es braucht natürlich diese großen Foundation Models, die bestehen und das kostet natürlich enorm viel Kapazitäten, enorm viel Rechenpower, auch natürlich dadurch Geld, um das überhaupt erst mal zu erstellen. Und so was ist natürlich etwas, was irgendeiner Form getragen werden muss und deswegen ja auch so die auffordern, die finanziell unterstützt besser letztendlich diese Forschung. In dem Bereich baut man große Supercomputer, damit halt solche Sachen entstehen können. Aber alles obendrauf kann dann eben sehr viel kleiner werden und dann diese speziellen Anwendungsfälle dann eben abdecken zu können. Cool. Ja, auf jeden Fall spannende News auch in dem Bereich. Dann noch mal so einen Hinweis in eigener Sache. Morgen ist wieder 12:00 bei uns vor Ort, wieder mit Adam. Bin ein sehr, sehr guter Gast und sehr guter Redner. Und diesmal ist das Thema Produktivität mit Webcam Phones ohne Frameworks. Also wir haben heute sehr viel über Frames gesprochen und er wird uns letztendlich einen Gegenentwurf vorstellen, wie man auch selber mit den grundlegenden JavaScript Funktionalitäten und Web Komponenten eben eine ähnliche Produktiv oder sogar besser Produktivität erreichen kann. Also auf jeden Fall ein sehr spannendes, vielleicht auch kontroverses Thema. Also wenn ihr im Rhein Main Gebiet wohnt und oder auch ein bisschen weiter weg wohnt und gerne mal als Speaker bei verleben wollt, dann kommt gerne vorbei. Morgen ab 18:00. Am. 18:00 Einlass. Ja. Genau dann in der Sache. Vielen Dank für Zuhören und wir hören uns wieder nächste Woche. Bis dann. Tschüss. Du?

Verwandte Podcasts

  • News Asset 14

    News 14/24: Angular & Wiz // Bun 1.1 // xz Utils // Redis Lizenzänderung

  • 18 Ai News

    News AI #18: Apple MM1 // Mistral // Grok // Inflection & Microsoft // Open Interpreter

  • News Asset46

    News 46/23: Play Store Updates // TypeScript 5.3 // Angular 17 // Ruby on Rails: The Documentary

  • 134 Ig Fb Alexander Lichter

    Deep Dive 134 – The State of Nuxt

  • 08 Ai News

    News AI #8: OpenAI DevDays // State of AI // DallE3 // Zephyr // Fuyu 8B

  • 07 Ai News

    News AI #7: Cloudflare AI - Serverless Workers, AI Gateway, Vector DB // Meta AI // LeoLM // Mistral AI 7B // LocalPilo

  • News 38 23

    News 38/23: Bun 1.0 // Flutter 3.13 // PowerSync // Jetpack Compose Multiplatform // Astro 3.0 // Unity Fee // Node 20.6

  • 05 Ai News

    News AI #5: Falcon 180 B // SD XL 1.0 // IDEFICS // GPT Finetuning // CodeLlama // Coreweave 2.3B$ AI Kredit

  • 129 Ig Fb Fabian Hiller

    Deep Dive 129 – Qwik mit Fabian Hiller

  • News 26 23

    News 26/23: Svelte 4 // Langchain & Colab // Google I/O Connect Amsterdam

Feedback
[object Object]