OOP der Zukunft: Baruch Sadogursky und Yegor Bugaenko darüber, wie wir in 20 Jahren programmieren werden

    Das Konzept der objektorientierten Programmierung wird von den Entwicklern unterschiedlich wahrgenommen: Jemand sagt, es sei Zeit für sie, die Geschichte zu sichern. jemand codiert und denkt nicht darüber nach, was, wie und warum er tut; und jemand versucht, im "pure OOP" -Paradigma zu arbeiten, indem er die klassischen Muster auf den Kopf stellt.

    Im Vorgriff auf Joker 2016 haben wir Baruch Sadogursky gebeten, das Schicksal von Java und OOP mit Jegor Bugaenko zu besprechen. Was dabei herauskam, im Audioformat anhören oder im Video anschauen:



    Und unter dem Schnitt liegt das vollständige Protokoll des Interviews mit allen Links.

    Baruch jbaruch Sadogursky: Hallo allerseits. Mein Name ist Baruch, ich bin ein Entwickleranwalt bei JFrog , Moderator des Debriefing-Podcasts , Redner bei Konferenzen wie Joker , JPoint und jedem Mist wie JavaOne , Devoxx und anderen. Und heute im sonnigen Mountain View sitzen wir mit dem in bestimmten Kreisen berühmten Jegor Bugaenko zusammen, um fürs Leben zu reden.

    Egor yegor256 Bugaenko: Für das Leben? Und ich dachte an OOP, Java ...

    Baruch: Unser Leben ist OOP, Java. Erzählen Sie zunächst von sich selbst für diejenigen, die noch nichts gehört haben.


    Egor: Java-Programmierer, Architekt. Ich habe vor ungefähr 20 Jahren angefangen zu programmieren, als ich noch in der Schule war - zuerst war es PASCAL, dann Assembler, dann C, dann C ++, dann Java. In den letzten zweieinhalb Jahren habe ich gebloggt , wodurch eine Art Ruhm entstanden ist. Ich schreibe Bücher, jetzt schreibe ich den zweiten Band. Ich versuche, ein paar objektorientierte Ansätze zu korrigieren, die in Java verwendet werden. Stellt sich heraus, irgendwo weniger, aber ich versuche , diese Idee zu den Massen zu vermitteln, so dass die Massen ...

    Baruch: wütet!

    Egor:Brodelnd und anders reagierend, ja. Jemand mag es, jemand tut es nicht, aber es erzeugt einen Effekt, jemand bekommt ein paar Gedanken. Jemand ist dagegen und ich kann nicht behaupten, dass ich im Moment selbst zuversichtlich in all meine Gedanken bin, aber der Prozess ist noch nicht abgeschlossen. Ja, was ich beruflich mache: Ich habe ein kleines, verteiltes Team in Palo Alto, ungefähr 50 Leute, die sozusagen arbeiten, und insgesamt 100 Leute. Wir schreiben Software für die Bestellung in Java. Bei unseren Kunden hier im Silicon Valley steuere ich diese Prozesse mit mehreren Projektmanagern. Programmierer in verschiedenen Ländern, von überall her. Hier verdiene ich es gut, das Buch gibt ein wenig Geld. Baruch:

    Ich habe viele Fragen an Sie. Zunächst stelle ich eine scharfe Frage: Woher kommst du? Sie sind vor einem Jahr auf der Oberfläche der russischsprachigen Java-Community aufgetaucht, haben die Konferenzen im postsowjetischen Raum im Strudel umrundet und, wie ich es verstehe, damit begonnen. Was war das, Barrymore?



    Egor: Ich habe nicht begonnen, ich habe noch 7 Konferenzen vor mir - sie laden mich ein, ich lehne nicht ab. Aber jetzt ist es nicht so aktiv. In den letzten sechs Monaten habe ich auf 25 Konferenzen etwas zu viel gesprochen.

    Baruch: Also, wie ist es passiert, warum brauchst du es? Das ist ziemlich harte Arbeit, ich weiß aus Erfahrung. Ein Programmierer, ein Architekt, CTO entscheidet plötzlich: "Aber ich sollte sechs Monate lang durch Konferenzen reisen."

    Egor:Gute Frage, ich habe keine Antwort darauf. Aber irgendwann wurde mir klar, dass ich das Publikum erweitern wollte. Der Blog hat mich getroffen.

    Baruch: Warum brauchst du dieses Publikum? Sie werden nicht viel auf dem Blog verdienen, Sie werden nicht viel auf dem Buch verdienen, ich sehe kein kommerzielles Interesse daran. Vielleicht stellen Sie solche Leute ein?

    Egor: Verstehen Sie, ich kontrolliere diesen Prozess nicht mehr, ich bin eine Geisel des Prozesses geworden, den ich selbst geschaffen habe. Ich habe einen Blog gestartet, eine Community ist erschienen, die Leute geben ihr Feedback und ziehen mich raus, damit ich mit ihnen sprechen kann. Dies ist ein bidirektionaler Prozess. Einerseits wollte ich auf mehreren wichtigen Konferenzen sprechen: JPoint in Moskau, JEEConf in Kiew , JET in Weißrussland. Und andere Orte erschienen selbst, weil die Leute mich sahen und sagten: "Komm auch her."

    Baruch: Ich habe eine interessante Allegorie, es ist sehr schwierig, aber ich werde es versuchen. Was du tust, bringt mir religiöse Konnotationen. Sie haben eine „Prophezeiung“ als Prozess: Sie bereisen die Welt, erzählen einige völlig „ketzerische“ Dinge, die Menschen lieben Sie, hassen Sie, Sie kontrollieren sie nicht mehr. Dies ist eine völlig biblische Geschichte. Und gewöhnlich enden sie schlecht, diese Propheten!

    Aber ich habe viele Fragen zu Ihrem Konzept der objektorientierten Programmierung. Jetzt werden wir versuchen, sie auf eine einheitliche Art und Weise aufzubauen. Die Hauptfrage lautet: Versuchen Sie, dem Begriff „objektorientierte Programmierung“ eine Bedeutung zu geben, die, wie Sie sagen, nicht nur jetzt noch fehlt, sondern meiner Meinung nach noch nie existiert hat.

    Es gibt das, was wir objektorientierte Programmierung nennen. Dies scheint mir etwas anderes zu sein als das, was Sie objektorientierte Programmierung nennen. Und die Frage lautet: „Warum?“ Es gibt einen Weg, den Sie für richtig halten und der Vor- und Nachteile haben kann, wie jedes andere Paradigma - funktional, objektorientiert und so weiter. Warum versuchen Sie, sich in unserer vertrauten, komfortablen, festen Nische der objektorientierten Programmierung durchzusetzen?

    Egor: Warum nicht ein neues Paradigma schaffen, fragen Sie?

    Baruch:Nun, sie ist das neue Paradigma. Worte haben ihre Bedeutung. OOP - Dies sind Klassen, Objekte, die Nachrichten an Objekte mit bestimmten Parametern senden, um einen bestimmten Wert zurückzugewinnen. Dies ist Polymorphismus, Vererbung, einige Dinge, die wir kennen, lieben und so weiter. Nun kommen Sie und sagen: "Nein, objektorientierte Programmierung ist das nicht." Warum?

    Egor:Nun, anstatt "warum", sondern "warum". Ich habe keine Antwort auf die Frage „Warum?“. Weil es einen Zweck dafür geben muss, habe ich kein so klares Ziel. Weder monetär noch sonst. Dies ist eher eine Frage: "Warum?" Warum mache ich das? Ich mag den Code, den ich geschrieben habe, das Java, das ich gesehen habe, oder die Bibliotheken, auf die ich gestoßen bin, nicht wirklich. Ich fühle mich nicht wohl, wenn ich mit ihnen arbeite. Nicht nur ich, sondern die Leute um mich herum, die Programmierer. Ich sehe, welchen Code sie schreiben, wie schwer es ist, diesen Code später zu verstehen, zu pflegen, wie allgemein unangenehm zu programmieren.


    Ich mag weder den Code, den ich geschrieben habe, noch das Java, das ich gesehen habe, noch die Bibliotheken, die mir begegnet sind. Es ist für mich nicht angenehm, mit ihnen zu arbeiten.



    Я на конференциях задавал вопрос аудитории: «Вам нравится то, что вы делаете? Вы любите этот код, вы с утра просыпаетесь, смотрите на этот код и хотите его писать, или вы пишете потому, что вам нужно это делать?» Кто-то говорит «Да, нам нравится», но я думаю, многие лукавят. Я помню себя, когда первые три дня или три недели пишешь программу с нуля, и она тебе нравится, а последующие три года ты пишешь её потому, что должен.

    Барух: Ну это всё понятно, но это нормальное явление…

    Егор: Я думаю, что ненормальное.

    Барух:Nun, um die Tatsache, dass dies ein bekanntes Phänomen ist und die Lösung auch unbekannt ist, nehmen Sie zum Beispiel alle, die heute funktionale Programmierung verwenden, sie sagen: „Wir mögen keine objektorientierte Programmierung, und wir sind zu einem anderen Paradigma gegangen, weil wir angewidert waren das von deinem Java. " Und sie nahmen und gingen zu einem anderen Paradigma.

    Egor: Aber sie scheißen da. Wenn sie OOP nicht verstanden und sich einfach abwandten, sagten sie, dass es im Allgemeinen schlecht sei, alles OOP ... Kürzlich habe ich als Blog Zitate von berühmten Leuten über objektorientierte Programmierung gesammelt. Sie alle sagen böse Dinge. Ab Dijkstra bis heute. Die Leute sagen, dass dies im Prinzip ein böses Konzept ist. Lassen Sie uns es nicht verwenden, weil es hilft, einen „Spaghetti-Code“ zu erstellen.

    Baruch:Nun ja, sie behaupten, die Industrie sei der objektorientierten Programmierung entwachsen - genau wie der prozeduralen Programmierung. Und hier komme ich wieder auf die gleiche Frage zurück. Die natürliche Antwort wäre: "OK, hier ist ein neues Paradigma, hier ist" OOP 2.0 ". Und du sagst: "Nein, was du nicht magst, heißt eigentlich anders." Und anstatt Ihr neues Paradigma einzuführen (was an sich kein einfacher Weg ist), fügen Sie dem den Widerstand hinzu, den die Leute nicht verstehen, warum Sie versuchen, es etwas anderes zu nennen.


    Der ganze Mainstream ist falsch, 95% machen Sie falsch



    Egor:Nun, um ihre Nase zu stecken. Dies ist ein solches Element der Provokation, das zum Nachdenken notwendig ist. Wenn ich ihnen "OOP 2.0" anbiete, wie Sie sagen, sagen einige Leute, die es lesen: "Nun, noch eine Idee, legen Sie es beiseite, denken Sie darüber nach. Wir haben Java, es ist wunderschön, es schreitet voran, es ist der Mainstream, jeder schreibt darüber, es finden große Konferenzen statt, es hat große Rahmenbedingungen, alles ist in Ordnung. “ Gibt es noch ein neues Paradies? Nun, er hat ein halbes Framework, acht Programmierer. Nun, lassen Sie sie da sitzen und herumgraben. Wenn ich zu diesem zentralen Mainstream komme und sage "Jungs, Ihr gesamter Mainstream ist falsch, Sie machen 95% falsch", beginnen sich die Leute zu bewegen, zappeln auf dem Stuhl herum und stellen fest, dass ihnen nicht etwas Drittes angeboten wird (wo sie hingehen können, aber kann ignorieren), aber sie erklären, dass man heute nur noch jedem schadet. Natürlich verursacht es große Emotionen. Ich habe viele E-Mails, die Leute schreiben mir: "Ich habe festgestellt, dass ich zehn Jahre hintereinander etwas falsch gemacht habe, Ihr Artikel hat mir die Augen geöffnet, jetzt verstehe ich alles, ich mache es so", und der andere schreibt: "Halt die Klappe hör auf es zu erzählen, wir wissen was zu tun ist. " Eine solche multipolare Reaktion deutet darauf hin, dass sie Menschen betrifft, sie interessiert und das ist gut so. Und wenn man etwas tut, das abseits steht, scheint es für wenige Leute interessant. das ist gut Und wenn man etwas tut, das abseits steht, scheint es für wenige Leute interessant. das ist gut Und wenn man etwas tut, das abseits steht, scheint es für wenige Leute interessant.

    Baruch: Das heißt, Sie treten gezielt in die Schusslinie ein, um die Menschen zum Nachdenken zu bewegen.

    Egor: Es geschah. Als ich anfing, Artikel zu schreiben, hatte ich den ersten Artikel, bei dem eine Nullreferenz schlecht ist . Sie ist nicht sehr provokativ, weil viele Leute es wissen und darüber reden. Ich habe in einem etwas schärferen Ton geschrieben: Die meisten Artikel sagen, dass sie versuchen, dies zu vermeiden, und ich habe geschrieben, dass es im Grunde schlecht ist, es ist böse, fass es nicht an. Dann ging er noch ein Stück weiter und schrieb über Getter und Setter. Das heißt, ich wollte niemanden provozieren, ich habe nur aufgrund meiner Erfahrung geschrieben. Dann verfolgte er die Reaktion und stellte fest, dass es viele Menschen zum Leben erweckt, und sie waren damit einverstanden. Er sah viele Anhänger, keine Hasser. Und dann haben sich die Hasser verbunden. Aber ich habe sie ignoriert, weil ich gesehen habe, dass es für jemanden zur Hand ist, der damit einverstanden ist. Ich bin ein bisschen weiter gegangen. Aber ich bin nicht absichtlich, es gab keine solche Aufgabe: Lasst uns jetzt eine Menge provozieren, sehen, wie sie darauf reagieren, und anfangen, Verkehr zu sammeln. Es gab keinen solchen Zweck. Ich habe gerade erst ein paar Artikel aus meiner mehrjährigen Erfahrung geschrieben.



    Baruch:Das heißt, Sie kehren wieder zu dem religiösen Thema zurück, das mich nicht loslässt, das ist eine Art Reformismus. Das heißt, Sie lesen gerade etwas Neues. Und wie in jedem Reformismus gibt es Menschen, die Sie als Ketzer bezeichnen und Sie auf dem Scheiterhaufen verbrennen wollen ... Es gibt im Gegenteil Anhänger. Und im Allgemeinen haben Sie dieses Hornissennest mit einem Stock umgerührt.

    Egor: Außerdem sind Hasser vor allem Leute, die ein wenig lesen, ein wenig hören, ein Klingeln hören - na ja, Sie haben es selbst beim Debriefing in der 109. Ausgabe gesehen, als Zhenya EvgenyBorisovBorisov kam und hat mich gebrandmarkt, ohne etwas besonders zu lesen. Ich möchte ihm immer noch ein Buch schicken. Ich möchte wirklich, dass er das Ganze liest und alles auf einen Haufen legt, du liest das Buch, du verstehst das. Und er las etwas und hörte: "Ah, er sagt, das ist schlecht und das ist schlecht, aber er ist ein Dummkopf."

    Und die meisten negativen Reaktionen sind genau das. Die Leute lernten ein halbes Wort und bildeten sich eine Meinung. Das verwirrt mich nicht, denn es gibt Leute, die zustimmen. Wenn es alle Meinungsverschiedenheiten gäbe, würde ich überlegen, ob ich die Menge vergeblich provozieren würde. Und so kürzlich auf Gitter-ChatIn anderthalb Monaten versammelten sich dort 120 Menschen, und die Leute diskutieren, oft schon weit weg von mir. Oft gibt es eine Idee, man fragt: "Wie würdest du das machen?", Während andere ihm antworten: "Wir würden es so machen" und Links zu meinem Blog geben. Es macht sehr viel Spaß zu beobachten, wenn Gedanken nicht mehr von mir sind, sie bereits dort leben, die Leute sie benutzen. Es ist schön. Obwohl es im selben Chatroom Hasser gibt, versuchen wir systematisch, sie zu löschen, und sie entzünden die Flamme. Und sie stellen dir oft die Frage: "Warum änderst du OOP, uns geht es gut, wir haben Java ... Naja, nenn es so wie du willst und lass mich in Ruhe."

    Baruch : Meiner Meinung nach ist dies das Problem: Ein Reformist und ein Prophet zu sein ist normalerweise schlecht für das Geschäft. Weil Geld die Stille liebt. Und meine Frage ist: Wie wirkt sich das zum Beispiel auf Ihren Einstellungsprozess aus?


    Wenn ein Kunde kommt und hört, dass wir etwas ganz anderes machen, stellt sich die Frage: Machen sie keine Fehler?



    Egor : Ja, Sie haben absolut Recht, es wirkt sich schlecht auf das Geschäft aus. Erstens gibt es ein Problem bei der Einstellung und zweitens bei der Suche nach Kunden. Wenn ein Kunde kommt und hört, dass wir etwas ganz anderes tun als die anderen, stellt sich die Frage, ob er sich nicht irrt. Wir werden alles für Sie bestellen, und in sechs Monaten werden wir ein neues Team suchen, das alles wegwirft, weil nur dieses versteht. Das ist. Es gibt auch ein Problem bei der Rekrutierung - obwohl es Leute gibt, die wirklich zu uns kommen wollen, gibt es bislang nur wenige. Aber es ist interessanter für mich, nicht ein anderes Unternehmen in einer großen Anzahl von anderen zu sein, sondern ein Unternehmen, das etwas anderes und besseres tut. Vielleicht irre ich mich.

    Baruch: Eugene Borisov hat mich gebeten herauszufinden, wie oft es vorkommt, dass Sie dem Bewerber in einem Interview eine Testaufgabe geben, einen Code zeigen, den Tisch umdrehen und sagen: "Was zum Teufel ist das, ich schreibe es nicht."

    Egor: Ich hörte auch, wie Zhenya Borisov in einer Art „Nachbesprechung“ sagte, dass er ein bekanntes Team in Israel habe, in dem die Leute etwas auf ihre eigene Art taten, und alle anderen Unternehmen Leute aus diesem Team verbannten. Das heißt, wenn Sie aus dieser Firma kommen, dann ist es das, keine Interviews, weil Ihr Gehirn kaputt ist und Sie anders schreiben. Ich verstehe, dass wir auch so etwas haben. Wenn wir Java-Programmierer für die Arbeit einstellen, geben wir oft einen Java-Code an, der meiner Meinung nach mit vielen Fehlern geschrieben wurde. Und bitte zeigen Sie die Fehler. Was würdest du reparieren? Vielen scheint dieser Code richtig zu sein, und es gibt Setter, Getter, Null ... Alles, worüber ich spreche, wird dort präsentiert. Und diejenigen, die nicht darauf achten, überarbeiten einfach und glauben, dass alles in Ordnung ist. Wir lehnen solche Leute ab. Aber es gibt Menschen, es gibt nicht so viele, aber nicht wenige, die finden und sagen: "Ja, hier haben Sie diese Setter, Getters - welche Art von Müll, das ist Unsinn ... Sie müssen es anders schreiben." Hier sind solche Leute auf einmal: op, komm rein. Und in einem Monat haben wir ein oder zwei gute Jungs.

    Baruch : Das ist ein gutes Tempo.

    Egor : Wir haben es nicht eilig, wir bauen jetzt kein Team von Tausenden von Menschen auf. Wir haben derzeit keine solche Aufgabe. Aber die Situation, so scheint es mir, ändert sich auf dem Markt. Nicht viele Leute hören mich, aber jemand hört mich. Ich denke, dass die Änderungen nicht durch meine Firma gehen, nicht durch kommerzielle. Und die Menschen vor Ort werden sich langsam verändern. Ein Mann hat mir vor ein paar Wochen geschrieben, dass er mein Buch gelesen hat, es hat ihm sehr gut gefallen, dann hat er es seinen Kollegen gezeigt, und jetzt sind sie nicht mehr mit ihm befreundet. Aber er ging und zeigte, so ging ein gewisser Effekt, nicht ich sagte es, aber er ging. Das macht Spaß.

    Baruch: Ich verstehe das anthropologische Interesse an all dem. Lassen Sie uns ein wenig über das Buch sprechen, da das Buch auftaucht. Es begann als ein Blog, dass Sie beschlossen, in einer Art Sammlung zusammenzuschlagen ...

    Egor: Nein, zuerst schrieb ich etwas mehr als ein Jahr an den Blog und dann kontaktierte mich Manning Publisher. Und sie schlugen vor, ein Buch zu schreiben: Sie schreiben, wir werden veröffentlichen. Zuerst sagte ich nein, weil ich beschäftigt war, und dann, ein halbes Jahr später, beschloss ich zu schreiben. Er hat sich letzten Sommer hingesetzt und es in zwei Monaten geschrieben. Es war nicht schwer, denn das Material aus dem Blog. Jetzt schreibe ich den zweiten Band, und es ist schwieriger: Ich habe noch nie über bestimmte Themen geschrieben, und die Leute reagieren nicht. Als ich den ersten Band schrieb, wusste ich die Reaktion der Leser, ich hatte viele Kommentare. Bei Manning hat es dann nicht geklappt, und ich habe das Buch selbst veröffentlicht. Ich hatte anfangs keine Lust, ein Buch zu schreiben, aber als der Verlag es vorschlug, dachte ich darüber nach.

    Baruch: Ihr Konzept entwickelt sich, es hat widersprüchliche Punkte, es ist eine Art mentale Arbeit, wenn sich das Bild noch nicht vollständig entwickelt hat. Was ein Umdenken erfordert. Ist dieser zweite Band eine Neuinterpretation des ersten oder verschiebst du den ersten und sagst „was war, was war“?

    Egor : Nein, ich rühre den ersten nicht an, ich beziehe mich auf ihn im zweiten: "Also habe ich es gesagt, und jetzt sage ich etwas anderes ..."

    Baruch : Jetzt suche ich das: Wo steht geschrieben, dass du falsch gelegen hast?


    Unveränderlichkeit wird jetzt sehr aktiv in unserem Chat diskutiert und wir können nicht vollständig verstehen, was ein unveränderliches Objekt ist ...



    Egor : Nun, es passiert mir. Ich schreibe, ich habe mich geirrt und etwas klargestellt. Angenommen, die Unveränderlichkeit wird jetzt in unserem Chat sehr aktiv diskutiert und wir können nicht vollständig verstehen, was ein unveränderliches Objekt ist ... Und diese Diskussion ist sehr lebhaft. Ich habe vier Dinge im Blog und das Buch enthält ein ganzes Kapitel über ... Wenn all das zusammengesetzt ist, dann ist es da Es gibt Dinge, die sich widersprechen. Aber ich bin offen dafür, es ist kein Problem zu sagen, dass ich mich geirrt habe.

    Baruch : In theoretischen Gedanken „Ich habe mich geirrt“ zu sagen, ist ehrenwert, cool, aber einfach. Zurück zum Geschäft: Was tun mit dem Code, der in die Produktion ging, und jetzt verstehen Sie das, oh ...

    Egor: Die Frage ist gut. Aber selbst wenn es Fehler gab, sind sie nicht so ernst. Es gibt keine solchen grundlegenden Fehler, die als Ganzes umgeschrieben werden müssten. Es gibt einige Punkte, die ein bisschen links, ein bisschen rechts liegen, aber im Allgemeinen nicht. Und das Konzept - ich würde nicht "schlank" sagen, sondern es entwickelt sich untereinander. Ich schreibe nicht nur über Ideen, ich schreibe auch Code. Und es gibt einige Produkte, die drei Jahre, zwei Jahre und ein Jahr alt sind. Sie können sie sehen und sehen, dass es in Produkten, die drei oder zwei Jahre alt sind, nicht viele Dinge gibt, zu denen ich in letzter Zeit gekommen bin. Es gab keine Setter, aber an einigen Stellen gibt es einen Nullzeiger, und ORM wird irgendwo verwendet. Das heißt, einige Dinge können in der Open Source entdeckt werden und sehen, dass das theoretische Denken noch in den Kinderschuhen steckte. Und frischere Produkte sind interessanter, sie nutzen bereits die ganze Schönheit von OOP.

    Baruch: Nun, dies ist eine interessante Enthüllung der Tatsache, dass das Konzept von OOP von Jegor tatsächlich ist - es ist in Arbeit. Ich bin mir nicht sicher, ob viele, die Ihr Konzept kennengelernt haben, dies verstehen. Hauptsächlich wegen des Buches. Denn normalerweise, wenn eine Person ein Buch schreibt, weil es auf Papier ist und der Autor kein Update hinzufügen kann, "hier haben sie mir in den Kommentaren geschrieben, dass ich falsch lag", wird es irgendwie als fertig wahrgenommen. Sozusagen unveränderlich. Es scheint mir, dass viele Menschen nicht wissen, dass alles lebt, sich entwickelt, fließt. Tatsächlich sind Sie nicht nur bereit, zuzuhören, sondern auch Kritik anzunehmen, und das kann das Konzept wirklich irgendwie ändern.


    Eine Klasse ist im Allgemeinen ein Fehler. Es sollte keine Klassen geben.



    Egor: Ich werde ein Beispiel geben. In meinem Buch heißt es zum Beispiel, dass eine Klasse ein bestimmtes Konzept ist, das benötigt und wichtig ist. Ich habe mit David West gesprochen . Und er sagte mir, dass eine Klasse im Allgemeinen ein Fehler ist. Es sollte keine Klassen geben. Ich glaube, ich bin mir noch nicht sicher, ob er Recht hat oder was er meint.

    Baruch:Das Konzept, dass eine Klasse ein Fehler ist, stammt von JavaScript. Objektorientierte Programmierung durch Prototyp. Und es gibt eine sehr ernsthafte Debatte auf sehr hohem Niveau, die seit zwanzig Jahren darüber geführt wird, ob eine Klasse gebraucht wird oder nicht. Und es gibt Vor- und Nachteile. Vorteile: In der objektorientierten Programmierung ist eine Klasse eine völlig überflüssige Einheit. Sie fügt nichts hinzu. Sie erstellen ein Objekt, da Sie denken, dass es erstellt werden muss, und erstellen dann einige weitere derselben Objekte. Auf der anderen Seite gibt es hier viele Probleme wie die Unveränderlichkeit: Ein Objekt kann sich ändern. Was passiert mit denen, die zuvor erstellt wurden? Sollten sie sich ändern, sollten sie neu oder alt sein? Und warum verhalten sich ähnliche Objekte, die mit einem Unterschied von mehreren Codezeilen erstellt wurden, unterschiedlich? Denn an anderer Stelle hat sich der Prototyp geändert. Na ja angekommen, cool jetzt. Dieses Konzept der Blaupause als eine Klasse, von der aus man Objekte nagt, dieses Problem ist gelöst, weil die Klasse etwas Unveränderliches ist, und dann rühren sich die Objekte davon und leben ihr eigenes Leben. Und bei Prototypen ist das nicht so klar. Daher gibt es sicherlich etwas zu überlegen.

    Egor: Ja, ja. Und wenn ich es mir anders überlege?

    Baruch: Nun, wenn Sie auch den Unterricht ablehnen, dann wird es in der Regel Harmagedon sein.

    Egor: Ich lehne sie noch nicht ab, aber David sagte zu mir: "Wer hat das erfunden, warum werden sie gebraucht?"

    Baruch: Sagen Sie mir jetzt, nehmen wir eine solche hypothetische Situation, dass Sie wirklich beschlossen haben, den Unterricht und das Erbe aufzugeben. Sie sind eine Person, die Java in den Griff bekommen hat (Sie müssen verstehen, warum, jetzt werden wir auch darüber sprechen), aber Sie können Java unter Ihrem OOP nur bis zu einem gewissen Grad verbiegen.

    Egor: Ja.

    Baruch: Was werden Sie tun, wenn Sie feststellen, dass die Klasse eine feindliche OOP-Struktur ist?

    Egor:Ich hoffe, dass ich es nicht lösen kann ... Sie sehen, ich habe einige Artikel, die sagen, "wie schlimm es ist, dies zu tun", aber es gibt keine Alternative zu Java. Ich beende sie so: Wenn sich Java verbessert, und es wird was eine neue Sprache, dann können wir dies und das tun.


    Ich schlage Speicherverwaltung vor: Ich sage, dass Festplatten und Speicher eine Sache sein sollten. Wir geben dem Java-Programmierer die Möglichkeit, die Datei auf der Festplatte zu verwalten - geöffnet, geschlossen. Warum kannst du nicht dasselbe mit dem Gedächtnis machen?



    Zum Beispiel schlage ich Speicherverwaltung vor: Ich sage, dass Festplatten und Speicher eine Sache sein sollten. Wir geben dem Java-Programmierer die Möglichkeit, die Datei auf der Festplatte zu verwalten - geöffnet, geschlossen. Warum kannst du nicht dasselbe mit dem Gedächtnis machen? Dies ist eine solche konzeptionelle Frage. Java gibt dies nicht vor, aber es scheint mir, dass die richtige Sprache es ermöglichen sollte, den Speicher zu verwalten. Wie in C / C ++, aber auf eine bequeme Art und Weise. Aber Java werde ich nicht ändern.

    Baruch: Das bringt mich zur nächsten Frage: Warum haben Sie Java in den Griff bekommen? Sie sind bereits zu dem Schluss gekommen, dass es keine echte OOP-Sprache gibt. Wir haben eine JVM-Plattform, die es Ihnen ermöglicht, jede Sprachsyntax mit relativ wenig Blut zu schreiben, in der es alle Kartenspiele und alle Mädchen mit lockerem Verhalten des wahren OOP geben wird, die Sie nur wollen. Ist Ihnen das noch nie in den Sinn gekommen?

    Egor: Das ist eine Menge Arbeit, und obwohl ich keine große Anzahl von Anhängern habe, wird die Community nicht zu irgendetwas führen. Es muss eine große Gruppe von Menschen geben, sonst wird es eine tote Sprache sein. Es gibt einige Leute, denen es nichts ausmacht zu helfen, aber das ist eine Menge Arbeit, ich bin noch nicht bereit dafür. Ich habe einen sehr alten Artikel, sie ist vier Jahre alt, in dem ich alle Funktionen, die ich haben möchte, in der richtigen Sprache zusammengefasst habe. Es scheint mir also, dass es eine Sprache und eine Entwicklungsplattform kombinieren sollte. Ich werde ein Beispiel geben. Warum können wir nicht über den Code auf den Git-Verlauf zugreifen? Ich kann in den Kommentaren sehen, welches Hashtag in dieser Datei ist, das ist alles.

    Baruch:Ich werde Ihnen wahrscheinlich antworten, dass dies eine großartige Bibliothek ist, aber nicht unbedingt eine Funktion der Sprache. Es gibt einen Ansatz, bei dem Sprachen im Prinzip minimiert werden sollten und alles andere unter Verwendung der erforderlichen Bibliotheken verbunden wird. Und Sie interessieren sich für den Verlauf Ihrer Commits in Git, aber das tue ich zum Beispiel nicht. Sie benötigen diese Funktion - Sie verbinden die Bibliothek und haben sie.

    Egor: Und es ist unmöglich, es als Bibliothek zu machen, es muss in der Sprache sein.

    Baruch: Das ist eine interessante Frage. Warum?


    Da diese Bibliothek in Java schief wie AOP aussieht, wird sie wie AspectJ an die Seite geklebt



    Egor: Weil diese Bibliothek schief aussieht, wie AOP in Java, und wie AspectJ zur Seite geklebt ist. Coole Idee, cool, aber es gibt keine Unterstützung für die Sprache. Es gibt Anmerkungen, die später erschienen sind. Im vierten Java gab es überhaupt keine Unterstützung für AOP, und all dies steckte durch nicht native Technologien fest. Da sie nicht einheimisch sind, ist alles unangenehm, hässlich. Java oder eine andere Sprache sollte AOP per Definition bereitstellen, es sollte standardmäßig in die Sprache integriert sein. Und auch Zugriff auf Git. Dies ist unsere Geschichte - wer begeht, wie viel begeht - dies ist bereits ein Teil der Sprache.

    Baruch: Aber heute ist es Git und morgen - Mercurial.

    Egor: Das ist ein Problem, ja.

    Baruch: Und dieses Problem löst die Bibliothek. Heute habe ich die Bibliothek für morgen für eine andere verbunden.

    Egor:Ich stimme zu, vielleicht wird eine Kombination aus "Sprache + Bibliothek" benötigt. Es wird eine Möglichkeit benötigt, mithilfe der Sprache Zugriff zu erhalten.

    Baruch: Mit der Tatsache, dass mehr SPI für die Sprache nützlich sein kann, kann ich zustimmen.

    Egor:Hier sind ungefähr 40 dieser Funktionen, die angezeigt werden sollten. Sagen wir kontinuierliche Integration. Sie ist absolut nicht auf die Zunge geklebt. Oder bauen Sie Automatisierung. Wir haben all diese Mavens und Grade, die von Haus aus nichts mit Java zu tun haben. Der Java-Code selbst weiß nicht, dass er erstellt wird. Ich kann im Code nicht auf diese Informationen zugreifen. Oder sagen wir, Unit-Tests. Sie existieren in Java nur als Klasse, aber welche Klassen sind sie? Was sind diese Objekte? Ich habe ein Buchobjekt. Was ist ein bookTest-Objekt? Es ist seltsam. Und diese Methoden sind keine Methoden, sie sind reine Prozeduren, Mikroskripte. Es muss irgendwie anders gemacht werden. Dies liegt daran, dass die Tests nach Java durchgeführt wurden. Unit-Tests sind für Sie notwendig - also formen Sie. Es ist nicht heimisch, haftet nicht aneinander. Dies wird verwendet, aber es sollte bequemere Mittel in der Sprache geben. Ich denke, dass wir dazu gehen. Solche einfachen Sprachen wie C, in denen Sie einfach die Binärdatei kompilieren können, sind zwanzig Jahre alt und jetzt brauchen Sie etwas Neues.

    Baruch: Das ist Java vor zwanzig Jahren, und C ist bereits fünfundvierzig Jahre alt.

    Egor: Außerdem muss es etwas Neues geben. Ich denke, wird erscheinen. Vielleicht erstelle ich etwas, ich weiß es nicht. Es braucht Zeit und vor allem muss es eine Gemeinschaft geben. Indem ich für mich selbst erschaffe, komme ich zu einer reinen Entscheidung. Du sagst also "nicht Git, sondern etwas anderes", aber es wird mir nie einfallen, für mich ist Git der Maßstab der Tatsachen. Sie werden sagen, "wir haben ein ganzes Team für Mercurial oder Subversion", aber ich stecke noch nicht fest, ein ganzer Teil des Marktes wird meine Lösung nicht unterstützen. Es sollte eine heterogene Gemeinschaft geben, in der verschiedene Menschen leben.

    Baruch: Sag mir, was denken Sie über neue Sprachen? Zwei Beispiele sind Kotlin und vielleicht Ceylon, wenn Sie ihn ansehen.

    Egor:Ceylon sah ein wenig aus, Kotlin - war bei Präsentationen auf Konferenzen. Ich kann hier kein Experte sein, aber leider scheint es mir, dass die allgemeine Richtung in der Branche nicht in Richtung reines OOP geht, sondern im Gegenteil in Richtung seiner Vermarktung. Sie brauchen Getter und Setter - hier sind sie also per Definition. In Kotlin braucht man sie nicht zu schreiben, sie sind da! Die Sprache wurde als Designmuster erfunden und entwickelt - die Leute haben es aufgetaucht, und dann kamen andere und sagten: "Das ist ein Singleton, und das ist es." Und es sollte umgekehrt sein, die Leute sollten kommen und sagen: „Verwenden wir ein solches Entwurfsmuster, eine solche Lösung.“ Und dann sollten alle Übungen ihnen folgen. Und wir gehen von der Praxis zur Theorie.


    Java EE ist im Vergleich zu Spring fast tot.



    Baruch: Sie bieten einen Elfenbeinturm an. Wir haben eine solche Community in Java. Und es bröckelt vor unseren Augen. Ich spreche von Java EE, das im Vergleich zu Spring fast tot ist, verglichen mit der Technologie, die aus Best Practices stammt. Schauen Sie: Java EE hat sich genau so entwickelt, wie Sie es für richtig halten. Es gab kluge Köpfe, die sich überlegten, was Best Practices sein sollten, und sie als offiziellen Standard bezeichneten. Darüber hinaus wurde dieser Standard vom stärksten Java-Player auf dem Markt unterstützt - Sun selbst und dann Oracle, Sie haben einen Standard aus der Quelle, der besser sein könnte. Und so.

    Egor:Ich bin einverstanden. Also schlechte Theoretiker, Ingenieure. Und sie müssen zusammenarbeiten, Theoretiker müssen die Praktizierenden anschauen. Aber dann beschreibe nicht, was er als Kotlin sah. Ich möchte nicht speziell auf Kotlin eingehen, aber es sieht so aus: Schauen Sie sich an, was die Leute tun und sehen Sie, dass jeder etwas tut, und lassen Sie die Leute ihr Leben vereinfachen. Ich schlage das Gegenteil vor: Lassen Sie die Menschen das Leben dort schwerer machen, wo sie etwas falsch machen, damit sie aufhören, Getter und Setter zu tun. Und die meisten Programmiersprachen entstehen im Kampf um Popularität. Sie verstehen, dass, wenn Sie den Leuten nicht 4, sondern 14 Werkzeuge geben, die ihre Arbeit vereinfachen, sie mit großem Interesse eingesetzt werden.


    In Kotlin und ihrer Umgebung ist die Richtung meiner Meinung nach falsch. Die Praxis muss mit der Theorie einhergehen, und die Theorie muss die Praxis anpassen.



    Wie Ruby. Die Sprache schien korrekt erstellt zu sein, aber es gibt so viele statische Vorgänge, dass die ganze Sprache ... Die Sprache ist gut, aber mit Bibliotheken sieht es wie ein Durcheinander aus. Es ist sehr schwer zu benutzen, zumindest für mich. Ich schreibe in Ruby, aber es ist eine Art Albtraum, Java ist besser. In Kotlin und ihrer Umgebung ist die Richtung meiner Meinung nach falsch. Die Praxis muss mit der Theorie einhergehen, und die Theorie muss die Praxis anpassen.

    Baruch: Sie denken also, dass einige Visionäre hinter der Sprache stehen sollten.

    Egor: Natürlich. Sie sollten sagen: "Leute, ihr geht ein bisschen falsch, jetzt lasst uns dorthin gehen." Und nicht "Jeder geht dorthin, lasst uns vorwärts rennen und mit der Flagge stehen." Wohin wird das führen? Dies sind temporäre Sprachen, sie werden in ein paar Jahren sterben.

    Baruch:Lassen Sie mich versuchen, ein Anwalt des Teufels zu sein und zu sagen, dass das Ziel der Programmierbranche, in der Sie und ich uns befinden, nicht darin besteht, perfekten Code zu schreiben. Ziel ist es, Geld zu verdienen, indem Produkte früher auf den Markt gebracht und effizienter unterstützt werden. Wenn Sie mich also fragen, was besser ist, nehmen Sie hundert meiner Programmierer und schulen Sie sie mit vollkommen klaren Gedanken in eine Art visionäres neues Muster, oder nehmen Sie eine Lösung, die sich bereits auf dem Markt etabliert hat, mit einer bekannten Entwicklungsgeschwindigkeit, mit bekannten Schwächen und verstärke sie, dann wird die zweite effektiver sein, als nach einem neuen Weg zu suchen und am Ende vielleicht an der Wand zu ruhen.

    Egor: Они не пойдут по новой дорожке, даже если ты им предложишь. Безусловно, то, что ты говоришь, имеет смысл. Никто не пойдёт по новой, потому что никто платить за это не будет.



    Барух: Почему Java унаследовала столько болезней C? Потому что должно было быть похоже, чтобы программисты могли это взять и начать фигачить код.

    Егор: Именно. Но я не пытаюсь изменить ситуацию с сегодняшнего дня, чтобы мы с завтра стали писать иначе. Я пытаюсь менять на шаг вперёд, через год, два. Если сейчас мы начнём в головы программистам вставлять идею о том, что геттеры и сеттеры — плохая идея, то через три-четыре года, когда эти люди, которые сейчас учатся, начнут создавать свои фреймворки и улучшать что-то, учтут эти мысли.


    Wenn ich Ihr Buch lese, ist dies Lobachevskys Geometrie. Parallele Linien beginnen sich bei mir zu kreuzen.



    Baruch:Hier habe ich ein interessantes Spiegelbild für Sie. Hier ist, was Sie versuchen zu tun, und diese Blog-Beiträge von Ihnen, eins nach dem anderen, verfolgen dieses Ziel. Sie haben erklärt, warum null schlecht ist, dass die Methode N Parameter enthalten muss und warum Sie im Konstruktor keine Geschäftslogik schreiben können. Jede dieser Bewegungen verbessert wahrscheinlich den aktuellen Java-Programmierer ein wenig. Und dann nehme ich Ihr Buch und sehe, wie ich in der Rezension schrieb, ein völlig anderes, neues Konzept als das heutige Java. In der Summe aller zusammen genommen. Wenn ich einen Beitrag lese, kann ich meinen Code ein wenig verbessern und alles andere gleich lassen. Wenn ich Ihr Buch lese, ist dies Lobachevskys Geometrie. Parallele Linien beginnen sich bei mir zu kreuzen. Dies kann nicht mit dem kombiniert werden, was ich gerade mache. Oder mach es auf diese oder eine andere Weise. Und Ihr Code ist auch ganz anders. Es ist keine allmähliche Veränderung des Bestehenden. Wenn ich mir Ihren Code ansehe und ihn mit meinem vergleiche, der die gleichen Probleme löst, heißt das nicht nur, dass Sie keine Null haben, sondern dass ich sie habe. Ihr Code ist mit Ausnahme der Klammern und Semikolons überhaupt nicht mit meinem identisch. Und hier bekomme ich eine gewisse Zwietracht mit Ihrer Vorstellung von inkrementellen Änderungen.

    Egor: Ich verstehe, wovon Sie sprechen. Aber ich werde das Ergebnis von sanften Handlungen nicht erreichen. In einem Blog werfe ich einen einzelnen Artikel ein, eine Person liest, ändert sich ein wenig. Das Buch wirft weit voraus. Sie sagt: „Sie sind hier, aber genau dort, nach 20 Kilometern. Wie Sie dorthin gelangen, weiß ich nicht. " Wie im Scherz: "Mein Geschäft ist Strategie, aber Sie entscheiden mit Taktik." Und der Blog macht einige Schritte - hier ist es ein bisschen so, hier ist es. Das Buch geht weit voran und wurde mit einer solchen Aufgabe geschrieben, nicht für ein Jahr - wie ein Wurf in die Zukunft. Nun, es sollte scharf sein. Es ist schwer, eine Person zu bewegen. Es gab viele Artikel über Null und Getter-Setter. Sie können googeln, ich bin nicht der einzige, der dies schreibt. Warum meine so eine Flamme auslösen, habe ich in sechs Monaten ungefähr dreihundert Kommentare über Getters-Setter, und der angesehene Allen Holub hat seit zehn Jahren ein paar Kommentare? Weil er leiser spricht. Er sagt: "Versuche, dich von ihnen fernzuhalten, und benutze sie nicht." Und ich sage: "Wenn du sie benutzt, dann bist du ein Idiot." Dies löst natürlich eine Reaktion aus und führt zu Veränderungen.

    Baruch:Sie haben sich jetzt zwei widersprüchliche Ziele gesetzt. Einerseits geht es um inkrementelle Veränderungen bei Menschen und andererseits um einen 20-Kilometer-Wurf ... Schauen Sie, mein persönliches Feedback, ich habe gelesen, das Gedankenexperiment genossen und vergessen, weil ich jetzt definitiv nicht so schreiben werde. Es hat mir sehr gut gefallen, es war sehr interessant, ich habe mein Gehirn gestreckt, aber dass ich zur Arbeit kommen und anfangen würde, so zu schreiben, hätte ich nie gedacht - anders als ich deinen Beitrag über Nullen gelesen habe und dachte: „Ich brauche das versuche jetzt weniger zu tun. " Da ich in einem Team arbeite, sollten sie meinen Code lesen und wenn ich jetzt "Yegor Style" in Git codiere, habe ich nach der Codeüberprüfung nichts mehr, um meine Familie zu ernähren. Und wenn ich die Nullen entferne, werden sie mich nur loben. Und hier haben Sie, soweit ich sehe, einen Konflikt zwischen diesen beiden Zielen - etwas Reales, das morgen getan werden kann,

    Egor: Dies ist Ihre Position, aber zum Beispiel schrieb Anton Antonarhipov Arkhipov in einer Rezension, dass er darüber nachdachte, wie er seinen eigenen Code reparieren könne.

    Baruch: Ha, na ja, Sie gaben ein Beispiel, "den Code von Anton Arkhipov"! Anton ist derzeit der Hauptproduktmanager bei ZeroTurnaround und schreibt keinen Code in das Produkt. Er ist kein Vollzeitprogrammierer. Er schrieb eine Menge Code in Open Source, es macht kodrevyu, aber es ist nicht der gleiche Mann, der kam, setzte Kopfhörer, hryapnul Kaffee, und der Abend hatte 08 Uhr Fußlappen - Code ausgegeben, die dann getestet werden müssen, integreytit, Bewertungen, Unterstützung ...

    Egor: Du bist auch nicht so.

    Baruch:Ich bin auch nicht so, aber ich habe mich an die Stelle von Programmierern im Team gesetzt, und ich verstehe, dass ich das niemals tun werde. Was ich in dem Buch lese, ist nicht nur cool, es ist super cool, und für mich ist das Coolste, dass es so anders ist als alles, was wir tun, und trotzdem macht es Sinn. Aber ich habe gelesen, ich habe es geschlossen und es hat mich natürlich bereichert, aber es gibt nichts, was ich morgen schreiben kann, da das Buch andeutet, dass dies ein Konzept ist, dass alles zusammenarbeiten sollte, im Gegensatz zu verstreuten Blog-Posts . Es hat einen Reiz, weil Sie ein allgemeines Konzept erstellt haben, und es hat einen Nachteil, weil ich mich nicht berechtigt fühle, ein Stück zu nehmen und den Rest zu ignorieren. Auf diese Weise breche ich das Konzept, das ist falsch! Auf dem Blog hast du alles getrennt, ich wollte - mit den Nullen einverstanden sein, wollte - stimmte dem Setter nicht zu. Ein Buch ist ein Konzept. Ich stimme dem Konzept entweder vollständig zu oder nicht.



    Egor: Ich stimme zu, es gibt so ein Problem. Aber der Blog ist fragmentiert, und es gab Leute, die genau das Gegenteil sagten: Erzählst du uns von einem Stück hier, einem hier, aber kommt alles irgendwo zusammen? Was denkst du über OOP, wie sollte ein Objekt aussehen, kannst du mindestens einmal den gesamten Code schreiben? Das heißt, die Leute suchten nach einer Art Integrität. Deshalb fasst das Buch zusammen.

    Baruch: In der Integrität gibt es ein unbedingtes Plus - aus dem Buch verstehen wir, was „OOP from Yegor“ ist. Aber zurück zu Ihrem Ziel, Entwickler Schritt für Schritt zu wechseln - es ist nicht da. Und es kann notwendig sein, und beides. Und es scheint, dass ich während dieses Gesprächs Verständnis dafür hatte, dass die Menschen, um Ihre Glaubwürdigkeit zu belegen, einerseits lernen müssen, dass eine Person ein Konzept hat, ein Buch, das sie am Ende schrieb, nicht ein Gauner, sondern hier Praktische Schritte, die Sie jetzt ausführen können, wenn diese Schritte genau zu Ihnen und Ihren Wünschen passen ... Hier ein Tipp für Sie: Nehmen Sie dieses Buch, das ein Konzept ist, und am Ende jedes Abschnitts finden Sie Folgendes: „Leute, ich verstehe, dass Sie eines haben Das Gehirn wird jetzt explodieren, und ich verstehe, dass Sie es nicht verwenden können acce morgen, und das ist jetzt, Was noch geschrieben wird - Sie können es im Code verwenden, ohne dass die Gefahr besteht, von einem Stuhl für einen Überprüfungscode getötet zu werden. “ Nicht nur ein Link zu einem Blog, sondern ein formulierter praktischer Rat basierend auf einem gelesenen Kapitel. Und dann erhalten wir eine Kombination aus einem ganzheitlichen Bild und einigen kleinen Schritten, die heute unternommen werden können.

    Egor: Das ist eine gute Idee, vielleicht werde ich es wirklich tun.

    Baruch: Und dann bringt es wahrscheinlich zwei gegensätzliche Konzepte zusammen.

    Egor: Ich stimme zu, ich werde versuchen, es zu tun. Vielleicht nicht richtig im Buch, aber ein guter Gedanke. Ich hatte viele Kommentare für das Buch, die Leute sagen "wenige praktische Beispiele, wie wir leben." Sie haben zwei Klassen genommen und uns gezeigt, das ist interessant, aber wir haben eine Klasse von zweitausend Zeilen, um sechzehn Zeilen Ihrer Klasse auf unsere riesigen Code-Fußtücher zu übertragen. Es gibt so ein Anliegen.

    Baruch:Es würde mich interessieren, nicht nur den zweiten Band, sondern auch die zweite Revision des ersten zu sehen. Welche Schlussfolgerungen werden aus dem ersten Band gezogen, wie wird er präsentiert? Diese praktischen Tipps habe ich im Buch wirklich vermisst: Für mich war es ein abstraktes Pferd im luftleeren Raum und ein absolut mentales Experiment. Und um zu sehen, wie die Überarbeitung dieses Buches genau das ändern wird, wäre es interessant.

    Egor: Ich werde arbeiten.

    Baruch: Worüber haben wir noch nicht gesprochen? Was sind deine Pläne für die Zukunft?

    Egor: Ich werde am Java-Tag seinIn Kiew wird es zwei meiner Berichte geben, die nichts mit meinem Buch zu tun haben und nichts mit der PLO zu tun haben, und im Diskussionsforum geht es nur um die PLO mit der oben erwähnten Zhenya Borisov. Ich denke, viele warten auf diese Diskussion. Bei JPoint passierte etwas Spontanes, aber es kam zu einer ziemlich aggressiven Reaktion, und ich war nicht genug vorbereitet.

    Baruch: Das ja, das ist richtig, Berichte über „Ihre OOP“ und das Buch sollte fraglich, runde Tische sein. Ich bin sehr froh, dass gerade ein solches Format in Kiew gewählt wurde.

    Egor: Also in jedem Bericht fangen sie an, in der vierten Minute des Berichts mit mir zu diskutieren!

    Baruch: Voot. Und dann haben Sie nur "fünf Folien, und jetzt lasst es uns schneiden." Und alles wird kulturell sein, Moderatoren tragen Mikrofone, keinen Zoo.


    Die Menschen verstehen die grundlegenden Dinge nicht, und ohne sie ist es schwierig, etwas zu bauen.



    Egor: Es fällt mir immer noch schwer, auf Konferenzen zu präsentieren, denn wenn Sie das ganze Buch lesen, klappt alles und wenn Sie anfangen, ein Stück herauszugeben, ist es nicht immer gut für mich. Bevor Sie etwas unterrichten, müssen Sie etwas anderes unterrichten. Ich versuche über ORM zu sprechen, aber dafür musst du dies und das erzählen, aber dies ist keine Zeit. Die Menschen verstehen die grundlegenden Dinge nicht, und ohne sie ist es schwierig, etwas zu bauen. Daher kenne ich das Publikum nicht genau, wie gut es darauf vorbereitet ist. Ich hatte einen guten Bericht, der einzige, mit dem ich zufrieden war, war der Java Day in Minsk, bei dem ich über OOP als Ganzes sprach und Beispiele gab. Es war alles glatt und die Fragen waren im Thema, aber dies war mein letzter Bericht von dieser Tour. Wenn ich über praktische Dinge spreche, über ORM, ist dies bereits eine Katastrophe.

    Baruch:Das ist ja so, weil Sie keine Zeit haben, die theoretische Basis darunter zu setzen, und die theoretische Basis in Ihrem Fall ist viel interessanter als Ihre Meinung über dieses oder jenes Framework. Sie müssen theoretische Präsentationen mit Beispielen geben. Was hast du jetzt noch?

    Egor: Ich werde auch eine Rede auf der Oredev- Konferenz in Schweden halten . Mal sehen, was Europa sagt, ich habe noch keine solche Erfahrung gemacht. Ich werde versuchen, mich vorzubereiten, es wird das gleiche Thema sein wie bei JPoint, aber ich werde versuchen, es in einem Diskussionsformat oder kürzer zu machen. Aber Sie wissen, die europäische Öffentlichkeit ist passiver als unsere.

    Baruch: Nordeuropa - umso mehr. In Schweden werden Sie sehr ruhig sein.

    Egor: Wir haben eine Menge Fragen, das sollte so sein, oder?

    Baruch:Natürlich.

    Egor : Für mich war es eine Entdeckung. Nun, ich schreibe den zweiten Band, ich weiß nicht, wann ich ihn fertig stellen werde, aber vor dem neuen Jahr wird er definitiv veröffentlicht. Es wird viel über ORM geben, es wird über MVC - genauer gesagt, gegen sie. Es geht um Anmerkungen, um Monaden, um die Benennung von Variablen und um etwas anderes. Ich schreibe in Kapiteln, jetzt beende ich ORM.

    Baruch: Vielen Dank, wir sehen uns.

    Jetzt auch beliebt: