crazy how all of this doesn't even come close to how better concurrency is in Go.
@75hilmarАй бұрын
Dankeschön!
@JavaCodeShorts2 ай бұрын
Great Talk!
@hansschenker2 ай бұрын
Ich mache auch jeden Tag eine Monade, bei mir ist es die Li-monade!
@davidg15132 ай бұрын
great as always
@paullitzbarski26322 ай бұрын
"...designed the NatTable to have a look at the stockings..."
@FlaviusAspra2 ай бұрын
16:50
@prdoyle3 ай бұрын
With respect... it is risky to give yourself the luxury of sweeping everything under the "change is scary" rug. Yes, some portion of people's resistance to change is irrational, but if you let yourself label it all as irrational, you miss a lot of legitimate concerns. I'm not saying this is what happened in the case of Java, which was a roaring success. It's just that it's unwise to paint all objections with a simplistic "change is scary" brush.
@Mig4402 ай бұрын
And you dont think that they listen is that your message? Of course a talk is never going to go over every minute detail and discussions that are ongoing in the community or inside oracle and amongst the openjdk developers. If you have some particular objections just state it without this well-actualism talk here, then it can be properly discussed if needed.
@prdoyle11 күн бұрын
@@Mig440 I meant what I said. It is risky to give yourself the luxury of sweeping everything under the "change is scary" rug.
@Mig44011 күн бұрын
@@prdoyle you say it is risky in general but you havent proposed any reasons or real examples of concerns for why that is the case here. It is perfectly legitimate for Brian not to go through and debunk every concern that was raised when all of these changes were implemented since this is a summary style of talk, not an academic article.
@KangoV3 ай бұрын
Thanks Brian! I just used Virtual threads with Structured Concurrency along with Semaphores for rate limiting. Wow, was it ever easy with so little code.
@sabinejax78646 ай бұрын
Great! My name is Sabine JAX…
@57skies8 ай бұрын
the fact that you are comparing "main memory access" to a "volatile" speaks a lot about the fact that you do not understand how volatile work, in general.
@Taijj8 ай бұрын
Eine sehr sympathische Lehrerin und ein schöner Überblick über das Thema.
@Himmelskratzerin10 ай бұрын
Ist das der Bruder von Kaya Yanar?
@SALTY3559 ай бұрын
Anscheinend
@akanahketo5823 Жыл бұрын
Ich habe noch reines html, css, java-script und sogar php gelernt. Ich komme mit den modernen Frameworks wie Angular, React ect. überhaupt nicht klar, weil mir die Installation und Einrichtung der Frameworks schon zu lange dauert. Außerdem halte ich es für schlecht ein 300 m großes Framework zu installierne um nur einen kleinen Button irgendwo zu erstellen.
@equicomplex Жыл бұрын
"Das COBOL muss weg." 15:46
@leonardputtmann8404 Жыл бұрын
Tolles Interview!
@luggiiiluggiii7179 Жыл бұрын
Buh
@hans-joergzeller6286 Жыл бұрын
Ganz grosses Lob… Der Vortag ist super.
@1968konrad Жыл бұрын
Er erklärt ganz viel wie toll und einfach er erklären will, fummelt dann am Bildschirm rum, macht ein bisschen liniar undceine Prise anders, Kästchen irgendwie, fragt nach Informatikern, hält for ond while Sprachen für wichtig wegen Touring, da feuern due Neuronen, ohne Aspirin unerträglich.
@AlfredLotsu Жыл бұрын
Nick Jackson is so great
@lars4953 Жыл бұрын
Also bis auf Produktwerbung konnte ich nichts mitnehmen. Letztendlich ist die Geschwindigkeit des Builds doch auch nur entscheidend wenn man nicht im Enterprise Container testet. Im Container dauert es so oder so ewig. Schade das keine Messungen gezeigt wurden.
@urimtefiki226 Жыл бұрын
multipliciert
@donovan543 Жыл бұрын
🙃 "promo sm"
@WCiossek Жыл бұрын
Zur besseren Verständlichkeit des Videos sollten die englischen Begriffe im Vortrag durch lateinische oder chinesische Begriffe ersetzt werden!
10 ай бұрын
Wir sind hier im Kontext Softwareentwicklung unterwegs, oder?
@WCiossek Жыл бұрын
Funktionale Programmierung hat zum Teil erhebliche Nachteile. Zum Beispiel ist ein künstlich neuronales Netz funktional. Werden beispielsweise für Bilderkennung viele umfangreiche Tensoren verwendet, dann würden beim Training eines Netzes für jeden Durchgang ein neues Netz generiert. Es existiert bei einem Durchgang das alte Netz und als Ergebnis ein neues Netz. Dieses führt zu einem extremen Speicherverbrauch, sofern beim Training einige Millionen Durchgänge erforderlich sind. Dann würden einige Millionen Netze vorhanden sein, wobei nur das Letzte, das optimierte Netz von Interesse ist. Da ist es zweckmäßiger, daß alte Netze gelöscht werden können, bzw. für Tensoren die Skalare für jeden Durchgang überschrieben werden können. Ein gewöhnlicher Texteditor erlaubt das Schreiben in Listen in entsprechende Speicherzellen. Funktional würde bedeuten, daß jede Textänderung aus der alten Liste eine neue Liste entsteht. Werden 100 Veränderungen vorgenommen, dann entstehen 100 Listen, die jede Veränderung dokumentieren. Die Historie ist jedoch uninteressant weil nur die hunderste Liste vom Interesse ist. 99 historische Listen verbraten jede Menge Speicherplatz. Für eine Betriebssystementwicklung ist sie auch unhandlich, wenn eine Speicher- bzw. Prozeßverwaltung implementiert werden soll.
@NeverCodeAlone Жыл бұрын
Hallo Freunde, das ist sehr theoretisch. Könnt ihr hier einmal etwas mehr Beispiele zu zeigen?
@marcm3623 Жыл бұрын
30:20 bis 35:20 information hiding durchbrechen (geschützte Daten werden exponiert) wenn Ereignisse Daten mit schicken? (Jedes Modul ein eigenes Datenmodell?)
@marcm3623 Жыл бұрын
11:00 dependency cycles. Hallo Eberhard kannst du mir sagen ob soziale Systeme (komplexe Systeme) eher dependency cycles sind als gerichtete Beziehungen. Viel Erfolg bei deiner Folge heute.
@gerhardat7244 Жыл бұрын
Unglaublich gut. Ich habe mir jetzt schon mehr von Marco Behler angeschaut und bin richtig begeistert wie fundiert hier Javawissen vermittelt wird. 🙏
@NeverCodeAlone Жыл бұрын
Ein toller Speaker und Thema. Danke
@obsession252 Жыл бұрын
Quarkus startet im JVM mode auch im Durchschnitt deshalb viel schneller als ein klassischer Applicationserver, weil es keinen JakartaEE Monolithen mehr gibt, bei dem sämtliche Dienste aus dem JakartaEE Standard beim Start zu intitialisieren sind, obwohl man nur einen kleinen Teil dessen benötigt.In dem Fat JAR stecken am Ende also nur die Teile, des JakartaEE Ökosystems, die man auch wirklich benötigt. Es gibt zum Beispiel eine eigene Maven Dependency für JPA . Hat man keine entsprechende Maven Dependency in seinem Projekt, wird auch nicht das jeweilige klassische JakartaEE Subsystem beim Start geladen.
@obsession252 Жыл бұрын
Bei der GraalVM stecken im Kompilat am Ende auch nur die Teile der Standardbibliothek, die von der App auch tatsächlich gebraucht werden. Das macht auch den geringen Speicherverbrauch und die geringe Dateigröße des Kompilats aus. Und reactive ist bei Quarkus bei Bedarf mittlerweile so ziemlich alles und nicht nur Vert.x und Netty, die den darunter liegenden Webserver bereitstellen. Beispielsweise steht mit Hibernate reactive auch ein non-blocking Datenbanktreiber zur Verfügung. Und um einen Webservices reactive zu gestalten, greift man dann auch eher nicht auf das darunter liegende Vert.x zu, sondern verwendet Mutiny, was gerade für diesen Zweck entwickelt wurde.
@DinHamburg Жыл бұрын
34::00 (impossible to be precise) statische analyse kann sehen, dass es hier ein Problem gibt. Dynamische Tests können da auch nicht helfen
@DinHamburg Жыл бұрын
Das Beispiel bei 32:00 (Loops) geht so nicht: a und b sind nicht initialisiert und der Compiler meckert.
@DinHamburg Жыл бұрын
56min 'tricky stuff' - Zeugs, das erst zur Initialisierung/Laufzeit erzeugt wird - Lombok o.ä.
@bunpasi Жыл бұрын
Love at first sight 🤩. Whether it's going to end up in a painful divorce remains to be seen.
@DK1PL Жыл бұрын
Ziemlich Äpfel mit Birnen verglichen. 👎. Ich kann inzwischen auf umfangreiche Erfahrung zurückblicken und ich habe mir die beide Sprache so angeordnet: 08/15 typisches kommerzielles „copy hier copy da“ Software, dann Java. Falls kleine Hilfsskripte benötigt werden, dann Python. Geld lässt sich mit den beiden Sprachen echt leicht verdienen aber beide sind langweilig und wenig optimierbar. Wie gesagt, kommerzielle „langweilige“ Sprachen. Möchte man Kunstwerke erschaffen, dann C (keine C++ mehr). Will man Spaß mit neue Sprachen haben, dann empfehle ich Julia. Damit könnte ich bis jetzt kein Geld verdienen aber inzwischen schreibe ich sehr viele Skripts in Julia.
@uranblut Жыл бұрын
Hallo André, was für ein Durcheinander :). Und gefühlt 80% des Vortrages gehören nicht zu der formulierten Überschrift. Mal vom eigenwilligen Mix von Deutsch und Englisch abgesehen, wird das eigentliche Problem ja kaum thematisiert. Der erste Vorschlag ist: die Software soll so einfach wie möglich sein Die vermutete Idee dahinter: jeder Idiot kann den Quellcode verstehen, und es ist egal, wenn jemand die Firma verlässt Ja, das ist ja auch super realistisch :). Motivierte Softwareentwickler nutzen alles, was ihnen die Sprache zur Verfügung stellt. Und viele Dinge sind ja auch einfach komplex. Und alles, was "simpel" ist, ist an irgendeiner Stelle erneut komplex. Mal davon abgesehen, dass reale Applikationen niemals simpel sind. Alles, was als Applikation simpel sein kann, kann auch ein Excelll-Sheet sein :P. Und wer etwas "simple" entwickelt, hat als Ziel etwas Komplexes damit abzubilden. Und am Ende kann der Anspruch ja nicht sein, sich Entwickler ranzuzüchten, die immer "dümmer" werden. Manche Dinge sind einfach komplex. Lambdas, Microservices usw...sind auch kein Beispiel dafür etwas zu vereinfachen. Die Erfahrung zeigt, dass soetwas die Komplexität am Ende erhöht. Die nächste Idee ist: der Code soll onboarding-freundlicher sein Das kommt vermutlich aus der gleichen Ecke wie der "simple" Code. Du erwähnst auch, dass es dir bei komplexem Onboarding schnell "boring" wird. Aber die Lösung kann doch nicht sein den bestehenden Code so dumm wie möglich zu machen, nur damit das Onboarding für den Entwickler angenehmer wird!? :) Vielleicht sollte das Onboarding an sich Kleinschrittiger durchgeführt werden. Nur so eine ganz spontante Idee. Der Ansatz aber, beim Onboarding etwas zu verbessern, gefällt mir. Das ist in vielen Firmen wirklich schlecht. Dann soll man neue Technologie vorsichtig einführen, was natürlich ein Rat ist, dem nur wenige Menschen widersprechen werden, aber wie löst das denn das Problem, dass Personal mit Inselwissen die Firma verlässt? Dokumentation! Man soll mehr dokumentieren! Dann kann man das nämlich alles nachlesen, so die Behauptung. Aber Dokumentation lesen ist doch "boring" :D. Und sie zu schreiben noch mehr. Wie passt das zu dem einfachen Onboarding? Ein Zuhörer bringt arc42 in die Diskussion, aber du meinst, dass das zu verbos sei, ganz im Gegenteil zu verbosem Code, der deiner Meinung nach gut ist (ok, unfairer Vergleich :)). Etwas zu dokumentieren ist aber vermutlich wirklich etwas, was zur Überschrift des Videos passt. Dass darauf so wenig eingegangen wurde empfand ich als sehr skurril. In der Ausbildung eines Softwareentwicklers spielt das Dokumentieren seines Projektes eine zentrale Rolle. Zumindest zu meiner Zeit war das so. Und so langsam wie die Uhren in Deutschland ticken, wird das immer noch so sein. Auch habe ich das Gefühl, dass dieser Themenbereich einige Probleme lösen könnte. Ich weiß es aber nicht, weil ich mich damit ja nicht auseinandergesetzt habe. Das war ja die Aufgabe dieses Vortrags :). Dann wird der Busfaktor ins Spiel gebracht. Der darf nie fehlen. Und die Lösung ist so genial! Dass ich darauf nicht gekommen bin! :) Die Lösung ist: den Busfaktor erhöhen. Heißt: wenn ein Lead-Entwickler mit Inselwissen vom Bus überfahren wird, muss man einfach _vorher_ dafür sorgen, dass man 2 Lead-Entwickler mit Inselwissen hat. Ha! :) Soll der eine Lead-Entwickler doch mit ANC-Kopfhörern auf sein Smartphone glotzend bei rot über die Straße gehen, egal! :P Wenn man die gleiche Logik auf die Überschrift anwendet: man verhindert das Verlassen von Wissen, indem man das Verlassen von Wissen verhindert...oder so ;). Kein Wort von Teamgeist, Zusammenhalt, Pairprogramming, Coding-Dojos und was es da so alles gibt. Schulungen! Mir fallen immer mehr Dinge ein, je länger ich darüber nachdenke :). Mir ging der Beitrag völlig am Thema vorbei. Einige lustige Schreibfehler ("Asses" :P) haben mir ein Schmunzeln ins Gesicht gezaubert. Und ich habe durch diesen Beitrag darüber nachgedacht, wie man das Problem wirklich lösen könnte. Ah und der Hinweis auf boringtechnology.club war gut. Mittlerweile hat die Seite auch https :P. Dieses Thema hat extrem viel Potential, aber man muss sich schon auf eine oder wenige Lösungsideen konzentrieren. 1 Stunde ist ja nicht viel Zeit, um etwas zu vermitteln, vor allem, wenn man dann noch Zwischenrufe zulässt. Dieses Sammelsurium an Themen ist auf jeden Fall nicht hilfreich. An einer Stelle des Vortrags hätte ich erwartet, dass jemand "Bingo!" ruft :). Aber trotzdem danke für die Zeit und Mühe, die notwendig war, um diesen Beitrag zu erstellen. Bei mir hat es einen Denkanstoß ausgelöst. Gruß, Andreas
@Premkumar-eq1zv Жыл бұрын
Thanks
@kaffeetasse2461 Жыл бұрын
wjax jax jax=java apache xml w=winter web webservices laut wikipedia ->wjax jax is was fuer haengengebliebene. enterprise java=aufgeblasenes historisch gewachsenes gewurschtel.
@yangthomas5064 Жыл бұрын
this is one of the best speech I have heard thanks.
@p.seiderer8616 Жыл бұрын
Viel zu wenig commies. Toller Vortrag, endlich vernünftige Leute
@norberthohmann1437 Жыл бұрын
Großartige Zusammenfassung, vielen Dank!
@dialecticalmonist3405 Жыл бұрын
I find it ironic that he is castigating the phone as he is happily explaining generics.
@marcm3623 Жыл бұрын
2:21 zum Begriff Modell. Kannst du diesen Begriff nochmal konkretisieren? Was unterscheidet ein Modell von einer Software architektur ?
@NeverCodeAlone2 жыл бұрын
Sehr tolles Thema und toller Talk. Danke das ihr das aufgenommen hat. Top Sound und Bild. Weiter so!!
@tobyzieglerrr2 жыл бұрын
Super Vortrag, mit vielen guten Anregungen für die Praxis. Danke!
@TheLavaBlock2 жыл бұрын
nice green screen. thanks for the talk. very interesting and well presented