Michael Kennedy vom Podcast Talk Python To Me im Interview

Michael Kennedy: „Mit dem Podcast möchte ich etwas schaffen, das der Welt kosten

Vorwort

Michael Kennedy ist ein erfolgreicher Unternehmer und Experte für Softwareentwicklung. Er gründete und moderiert den wöchentlichen Podcast „Talk Python To Me“, in dem sich alles um Python und verwandte Themen der Softwareentwicklung dreht. Er ist weiterhin Gründer und Hauptautor von „Talk Python Training“, einem Online-Kurs für Python. Wir hatten die Gelegenheit, Michael zu seinen Programmiererfahrungen zu befragen. Das Interview ist in seiner ganzen Länge weiter unten zu finden. Wir wünschen viel Spaß damit!

Das Interview

Evrone: Wir bei Evrone entwickeln seit vielen Jahren kundenspezifische Lösungen und versuchen, Experten-Communitys in Russland ins Leben zu rufen, wie beispielsweise eine Community für Ruby- oder Python-Entwickler. Ihre Podcasts sind in Russland richtig berühmt. Zunächst einmal möchte die russische Python-Community Ihnen für Ihre harte Arbeit danken.

Unsere erste Frage an Sie lautet: Wenn es Python nicht gäbe, mit welcher Sprache würden Sie stattdessen arbeiten?

Michael: Das ist eine gute Frage. Python gibt es schon sehr lange, seit über 30 Jahren, was an sich schon überraschend ist. Meine ersten Programmierversuche habe ich damals mit C++ unternommen. Ich liebe C-ähnlichen Sprachen nach wie vor, und ich habe mir bereits Gedanken darüber gemacht, welche Sprache ich wählen würde, wenn es Python nicht gäbe. Ich denke, es würde wahrscheinlich eine der C-Sprachen sein. Wahrscheinlich C#. Ich mag C# sogar sehr. Ich finde, es ist eine wirklich schöne Sprache. Ich mag Swift als Sprache, aber ich finde das Ökosystem weniger schön. Meiner Meinung nach sind beispielsweise die Basisklassenbibliotheken nicht annähernd so hilfreich und sauber. Ich habe auch viel mit JavaScript gearbeitet. JavaScript ist allerdings nichts, was mich begeistert. Ich hasse JavaScript nicht, aber damit zu arbeiten gehört nicht zu meinen Lieblingsbeschäftigungen. Ich wähle also C# als Antwort. Vor allem jetzt, wo es plattformübergreifend ist. Ich werde allerdings bei Python bleiben, solange ich kann. Ich glaube nicht, dass Python von der Bildfläche verschwinden wird.

 

Evrone: Ja, Python dominiert die Softwarewelt momentan regelrecht.

Michael:Richtig. Vor allem den Bereich Data Science.

 

Evrone: Wenn Sie einen Blick in die mögliche Zukunft werfen, wird es dann Programmieransätze geben, die es nicht erfordern, dass ein Programmierer eine bestimmte Sprachsyntax kennt und Text in dieser Syntax schreibt? Was denken Sie?

Michael: Alle 10 Jahre oder so sagen die Leute: „Oh, wir werden keine Programmierer mehr haben. Wir werden keine Texteditoren mehr brauchen.“ Das liegt mitunter an den „Drag & Drop“-Workflow-Lösungen, die ohne Programmcode auskommen. Manchmal liegt es auch am Outsourcing. In den USA war man sehr besorgt, dass viele Arbeitsplätze nach Indien verlagert werden könnten. Ich glaube nicht, dass das auch nur annähernd ein Problem war. Weltweit gibt es mehr Arbeitsplätze für Programmierer als je zuvor. Ich glaube nicht, dass es zu einer großen Revolution in diesem Bereich kommen wird. Es gibt viel bessere Tools, mit denen sich Low-Code/No-Code-Lösungen erstellen lassen. Aber was meiner Meinung nach heutzutage weitaus interessanter ist, ist das Thema künstliche Intelligenz.

Ich bin sicher, Sie kennen GitHub Copilot, mit dem man ein wenig Dokumentation schreiben und dann sagen kann: „Baue mir ein Programm daraus“. Codex verwendet man dann als zugrunde liegende ML-Engine. Dies betrifft den gesamten GitHub-Quellcode, und anschließend wird Ihr Code programmiert. Ich glaube nicht, dass das eine aktuelle Lösung für diese Probleme ist, aber wir haben gesehen, wie schnell das maschinelle Lernen geht. In 10 oder 20 Jahren könnte man einen Editor mit künstlicher Intelligenz bitten, ein Programm zu schreiben, und er könnte es dann tatsächlich umsetzen. Ich denke allerdings nicht, dass das bedeutet, dass es keine Programmierer mehr geben wird. Es wird jemanden geben, der zumindest das Programm überprüfen muss. Außerdem wird es jemand pflegen und weiterentwickeln müssen. Und ich weiß nicht, ob künstliche Intelligenz so gut sein wird, dass man sagen kann: „Ich möchte jetzt diese Funktion hinzufügen. Bitte schreibe mein Programm um.“ Vielleicht, aber vermutlich nicht. Ich glaube, dass diese auf GPT-3 basierenden künstlichen Intelligenzen einen viel interessanteren Einfluss auf die Zukunft haben als ein „Drag & Drop“-Workflow, der keinen Code enthält.

 

Evrone: Ja, wir als Menschen kommunizieren gerne und haben uns in der Hinsicht gut entwickelt. Sie haben Ihr eigenes Python-Skript zum Scrapen von Podcasts in Ihrem Repository, das es jedem ermöglicht, alle Audioaufnahmen des Podcasts zu kopieren. Was halten Sie davon, wenn jemand Ihre Arbeit kopiert?

Michael: Genau. Jeder kann sich alles herunterladen. Es sind etwa fünf Gigabyte. Das sollte eine Weile dauern, allerdings auch nicht zu lange. Ich habe wirklich viel darüber nachgedacht. Man muss darüber in Bezug auf den Quellcode und das Projekt nachdenken, das man auf GitHub stellt, sowie in Bezug auf die Inhalte, die man erstellt, und die vielleicht in einem Podcast oder auf YouTube veröffentlicht werden. Und für mich geht es darum, darüber nachzudenken, was meine eigentliche Aufgabe ist. Was versuche ich eigentlich zu erreichen? Mit dem Podcast versuche ich, so viele Menschen wie möglich zu erreichen. Ich möchte Einzelheiten teilen über Flask 2.0, wie Python in der Astronomie eingesetzt wird sowie über andere Themen. Ich möchte mein Wissen an so viele Orte und Menschen wie möglich tragen. Und dafür stelle ich den Podcast kostenlos zur Verfügung. Er ist zwar teilweise werbefinanziert, aber dafür ist er kostenlos und für jeden verfügbar. Es stecken für den Hörer keine Kosten dahinter. Und ich ermutige jeden, den Podcast herunterzuladen und zu teilen. Und das ist für mich alles völlig in Ordnung, da ich auch Python-Kurse anbiete. Einige sind kostenlos, aber die meisten kosten Geld. Und das ist doch fair, nicht wahr? Ich möchte etwas schaffen, das der Welt kostenlos zur Verfügung steht, und wirklich versuchen, die Community zu unterstützen und zu fördern. Ich möchte allerdings auch etwas schaffen, das man gerne unterstützt, und wovon man als Konsument profitiert bzw. wodurch man viel lernt. Und auch das ist alles möglich.

 

Evrone: Danke. Es ist wirklich schön, dass Sie versuchen, Entwicklern zu helfen. Apple ist eines der Unternehmen, die versuchen, Entwicklern zu helfen, und sie haben die Welt mit ihrem neuen M1-Chip revolutioniert. Sie platzieren die Apple Neural Engine im Inneren des Chips und bieten sie Entwicklern zur Nutzung an. Hatten Sie schon Gelegenheit, es auszuprobieren? Was halten Sie davon?

Michael: Ich bin fasziniert von Apple-Silizium und M1. Und die Tatsache, dass der Chip mit der Neural Engine ausgestattet ist, wird meiner Meinung nach eine Menge interessanter Möglichkeiten eröffnen. Wir denken beim Einsatz von GPUs und maschinellem Lernen an sehr große, teure Hardware, an diese riesigen Maschinen, die viel Lärm machen.

Wenn wir das Ganze auf dem M1 oder auf unseren Telefonen haben können, wird das interessante Dinge ermöglichen, insbesondere Edge Computing. Künstliche Intelligenz, Sprachassistenten und viele andere Dinge werden an einem Ort zusammenkommen. Ich halte das für einen sehr tollen Schritt nach vorne. Es ist großartig, dass man mit Python so viel mit maschinellem Lernen machen kann, um von solchen Sachen zu profitieren. Abgesehen davon bin ich in der Hinsicht eher Verbraucher als Entwickler. Ich nutze eine meiner bevorzugten Bearbeitungsanwendungen für alle Arten von Grafiken, wie Logos und so weiter. Das Programm nennt sich Pixelmator Pro. Und ein Großteil der Arbeit wird mit Hilfe von ML-Systemen erledigt. Wenn Sie z. B. die Größe eines Bildes ändern, können Sie dafür eine ML-Engine und die zugrundeliegenden neuronalen Funktionen verwenden, anstatt die Größe einfach mit einer mathematischen Formel zu ändern. Ich bin total begeistert davon.

 

Evrone: Ja, es wird sicherlich einige Anwendungen wie Photoshop oder Affinity Design geben, bei denen Bild-, Audio- und viele andere Daten mit dieser Engine verarbeitet werden.

Wir wissen, dass es Entwicklern Spaß macht, nicht nur von Erfolgsgeschichten zu hören, sondern auch jene Geschichten, die weniger erfolgreich waren. Können Sie uns von Ihren Erfahrungen in Ihrem Beruf erzählen, bei denen etwas schief gelaufen ist, und wie Sie damit umgegangen sind?

Michael:Ich überlege gerade, welche Geschichte ich hier erzählen könnte. Eine meiner Erfahrungen hat mit einem Unternehmen zu tun, für das ich gearbeitet habe. Wir haben versucht, eine Online-Plattform basierend auf einer persönlichen Schulungsplattform aufzubauen. Wir hatten Tausende von Schülern, die bei uns Kurse belegten, und dann dachten wir uns: „Lasst uns eine Online-Version davon entwickeln.“. Das schien der nächste logische Schritt zu sein. Wir hatten Tausende von Kunden. Wir wollte einige Kurse erstellen und diese dann online stellen. Das Ganze lief allerdings nicht sonderlich gut. Wir haben sechs Monate lang mit mehreren Leuten an diesem Projekt gearbeitet, und der Erfolg war bescheiden.

Und eines der Dinge, die ich dabei gelernt habe, ist, dass es nicht nur um Softwareentwicklung geht. Es geht um die Frage: „Wie trägt man seine Botschaft in die Welt hinaus?“ Es ist einfach davon zu träumen, das nächste Wunder zu bauen, nicht wahr? Instagram tat das bereits, aber wir könnten es so viel besser. Auch Airbnb hatte so etwas bereits. Aber wissen Sie was? Wenn wir diese Idee auf Lkws anwenden würden, wäre das großartig. Nicht wahr? Die meisten von uns könnten diese Software entwickeln. Aber wenn keiner davon weiß, kommt keiner, um sie zu nutzen. Das ist die wahre Herausforderung.

Ich würde also sagen, dass die größten Herausforderungen, die ich mehrfach erlebt habe, nicht unbedingt technischer Natur waren. Sie liegen dort, wo unsere technischen Träume auf die reale Welt treffen. Und genau da muss man dann eben ansetzen. Ich hatte natürlich auch einige interessante technische Pannen, mit denen ich umgehen musste. Aber die größten Herausforderungen sind die, viel Zeit zu investieren und etwas Schönes zu bauen, aber nicht in der Lage zu sein, es bekannt zu machen.

 

Evrone: Ja, Software zu schreiben ist eine Sache. Die Welt davon wissen zu lassen, ist jedoch eine ganz Andere. Beide hängen jedoch zusammen, denn Technik will der Menschheit das Leben schließlich einfacher machen. Jede Technik braucht ihre Anwender.

Viele Junior-Entwickler nutzen fortschrittliche Techniken wie Jetbrains PyCharm oder Visual Studio Code mit Microsoft Python-Erweiterung. Wie können wir als neue Entwickler vermeiden, dass der Spaß am Programmieren durch ständige Warnungen getrübt wird, die einen Großteil des Codes als fehlerhaft betiteln?

Michael: Ja, das ist tatsächlich problematisch. Anfänger stehen vor vielen Herausforderungen, und ich denke, dass einige davon mit der Wahl der richtigen Projektgröße zu tun haben, die man wählt. Wenn Sie sich ein zu einfaches Problem aussuchen, werden Sie weniger Inspiration daraus schöpfen. Wenn Sie ein Problem wählen, das zu schwer ist, auch wenn es erreichbar scheint, werden Sie nur frustriert. Man muss also das richtige Niveau finden, um nicht mit zu komplexem Code arbeiten zu müssen. Eine Metrik dafür zu finden, ist allerdings schwer. Dieser Tipp ist also nicht sonderlich spezifisch oder hilfreich. Was ich als hilfreicheren Ratschlag geben würde, ist: Wenn Sie einen dieser Fehler sehen, denken Sie nicht einfach: „Oh, es läuft noch, also kann ich es ignorieren.“ Nehmen Sie sich stattdessen einen Moment Zeit und finden Sie heraus, was der Fehler bedeutet und was er Ihnen sagen will. PyCharm zeigt zum Beispiel häufig etwas an, wenn eine lokale Variable eine globale Variable in den Schatten stellt. Ihr Code wird trotzdem funktionieren, aber es wird eben eine Warnung angezeigt. Und wenn Sie nicht wissen, was das für Auswirkungen hat, machen Sie einfach weiter. Doch besser wäre, Sie würden sich denken: „Oh, ich weiß, dass mein Code weniger verwirrend wäre, wenn ich einfach einen anderen Namen gewählt und darüber nachgedacht hätte.“

Sie müssen nur einen Gang herunterfahren. Finden Sie heraus, was diese Meldung bedeutet, und versuchen Sie nicht nur, die Antwort zu finden. Eignen Sie sich an, einem Lernzyklus zu folgen. Das Gleiche passiert, wenn Sie Linters auf Ihr Programm anwenden, nachdem Sie es bereits sechs Monate lang aufgebaut haben. Es wird seitenweise Probleme geben, von denen Sie nicht wussten, dass sie existieren. Wenn Sie diese von Anfang an sehen und nur ein oder zwei pro Tag angehen, ist das völlig in Ordnung. Aber wenn es im Laufe von sechs Monaten tausend sind, wollen Sie nicht eine Woche lang aufhören und sich nur darum kümmern. Das ist keineswegs produktiv. Sie werden also ein besserer Programmierer werden und solche Warnungen vermeiden, wenn Sie sich einen Moment Zeit nehmen, um herauszufinden, was das Programm Ihnen sagen will. Beheben Sie den Fehler und machen Sie weiter. Ein Vorteil ist, dass Ihnen, insbesondere mit PyCharm, aber auch ein stückweit bei VSCode, nicht nur die Probleme aufgezeigt werden. Manchmal wird Ihnen auch angeboten, das Problem zu lösen.

 

Evrone: Und da wir von Inspiration sprechen: Das Finden interessanter und nicht standardisierter Lösungen ist ja gerade der Grund, warum wir Entwickler es lieben, zu programmieren. Was raten Sie Entwicklern? Wie können sie die Kraft finden, Routinen zu überwinden und Interesse, Inspiration und Freude an der Softwareentwicklung zu wecken?

Michael: Wir sind immer auf der Jagd nach der neuen glänzenden Bibliothek, nach der neuen tollen Sache, mit der wir ein Problem lösen können. Aber oft ist das nicht das, was nötig ist. Wir müssen lediglich ein Problem lösen. Das Problem mag zwar nicht völlig neu sein, allerdings eigen genug, so dass wir etwas Neues schaffen müssen, um es zu lösen. Ich denke, wir können diese Herausforderungen oder diese langweiligen, sich wiederholenden Dinge unter anderem dadurch bewältigen, dass wir unsere Kreativität und unsere Programmierkenntnisse einsetzen, um herauszufinden, wie wir das Problem ein für alle Mal lösen können.

Nehmen wir an, Sie bekommen jeden Tag eine CSV-Datei per FTP oder etwas ähnlich Schreckliches hochgeladen, das Sie dann herunterladen und durch ein Skript laufen lassen. Anschließend landen die Daten in einer Datenbank und jemand anderes erstellt eine Art Bericht darüber. Sie könnten lernen, wie man einen Daemon schreibt, der ein Verzeichnis auf eine zu löschende Datei überwacht und dies dann automatisch tut. Denken Sie einfach daran, Langweiliges zu automatisieren.

Ursprünglich mag das Problem langweiliger Natur gewesen sein, aber wenn man einen Weg findet, es vollständig oder annährend vollständig automatisch zu machen, kann man plötzlich jedes Mal, wenn es läuft, einfach lächeln und sich denken: „Wunderbar. Früher hat das keinen Spaß gemacht, aber jetzt ist es eine Augenweide.“ Solche Probleme werden Ihnen auch helfen, ein besserer Softwareentwickler zu werden. Möglicherweise wissen Sie, wie man eine CSV-Datei lädt und in Postgres speichert oder ähnliches. Aber Sie wissen nicht, wie man in Python einen System-Daemon unter Linux erstellt, der kontinuierlich läuft. Das wäre beispielsweise eine coole Sache zu lernen. Damit haben Sie ein neues Spielzeug, das Sie begeistern wird. Und darüber hinaus müssen Sie sich am Ende keine Sorgen mehr darüber machen.

 

Evrone: Klingt gut. Wie oft müssen Sie als Entwickler über den genauen Dienst oder die serverlose Plattform nachdenken, auf der Ihre Anwendung ausgeführt werden soll? Und spiegelt sich das irgendwie in Ihrem Code wider?

Michael: Ich muss sagen, dass ich nicht sehr oft darüber nachdenken muss. Und bis zu einem gewissen Grad spiegelt sich dies auch im Code wider. Meine Philosophie zu diesen Cloud-Plattformen ist die Folgende. Es gibt einen sehr interessanten Kompromiss, den man dabei eingehen muss. Wenn man sich ganz auf das einlässt, was man Cloud-Native nennt, und Anwendungen entwickelt, die jeden einzelnen Dienst nutzen, kann man wirklich erstaunliche Dinge entwickeln. Wenn Sie diese gehostete Datenbank, den gehosteten Warteschlangendienst und den gehosteten E-Mail-Dienst verwenden und all diese Dienste durchgehen, können Sie, mit zwei Einschränkungen, wirklich interessante Anwendungen erstellen.

Erstens: Sie bleiben für immer in dieser einen Cloud stecken. Wenn man mit allen Amazon-APIs und -Diensten arbeitet, ist ein Wechsel zu Azure oder Linode oder etwas Ähnlichem fast wie eine komplette Neuprogrammierung. Sie sollten das also nicht unbedingt tun, wenn Sie vielleicht migrieren wollen. Der zweite Nachteil, der mir nicht gefällt, ist, dass man nicht arbeiten kann, wenn man schlechtes Internet hat oder offline ist. Wenn Sie im Flugzeug sitzen oder vielleicht aufgrund von Corona zu Hause festsitzen und draußen auf einer Parkbank arbeiten wollen, weil Sie es zu Hause nicht mehr aushalten, können Sie nicht an Ihrer Anwendung arbeiten. Was ich mache, ist, dass ich unsere Dienste auf einer Reihe von virtuellen Linux-Maschinen laufen lasse.

Und die können in Digital Ocean, auf Linode oder in AWS laufen. Darüber hinaus nutze ich noch einige andere, sehr einzigartige Dienste. Ich habe zum Beispiel einen Cloud-Dienst für die Erstellung von Transkripten aus Audiodaten. Und dieser ist vollständig in diese APIs integriert. Aber das hat keinen Einfluss darauf, wo der Rest meiner Anwendung läuft. Ich habe auch noch einen Dienst für die weltweite Verbreitung von Videos, der in dieses System integriert ist. Das ist allerdings nur ein Teil der Geschichte, die hinter meinen Anwendungen und meiner Infrastruktur steckt.

Das ist also mein Standpunkt. Ich neige zu einfacheren Dingen, die man von überall aus verwenden kann. Das hat sich für mich sehr bewährt. Vielleicht könnte ich Dinge über AWS Lambda oder Azure-Funktionen erledigen und mir das Leben damit leicht machen, aber das bezweifle ich. Viele von uns denken darüber nach, was die großen Unternehmen tun, in welch unglaublichem Umfang sie dies tun, und meinen, dass diese Herangehensweisen auch für uns gelten. Es gibt einen wirklich guten Artikel mit dem Titel „You Are Not Google“. Man selbst ist also nicht Google, Facebook oder LinkedIn. Wenn man sich anschaut, was diese Unternehmen im Bereich Cloud Computing und anderen erstaunlichen Dingen tun, dann tun sie das, weil sie Hunderte von Millionen von Nutzern und keine Downtime haben. Sie haben vielleicht zweitausend Benutzer und können sich einmal im Monat fünf Sekunden Ausfallzeit leisten. Das hört sich nicht nach einem großen Unterschied an, aber es macht einen gewaltigen Unterschied für die Komplexität dessen, was Sie bauen müssen.

 

Evrone: Es gibt die verbreitete Meinung, dass Python langsam ist. Ist Ihnen eine solche unzureichende Leistung aufgefallen? Und haben Sie Optimierungen vorgenommen, um die Sache zu beschleunigen?

Michael: Ich habe es erlebt, aber kein Problem darin gesehen. Ich betreibe keine Datenwissenschaft oder mathematische Berechnungen im großen Stil. Ich baue APIs. Ich entwickle Webanwendungen und ähnliche Dinge, oder kleine Automatisierungen. Und Python hat sich in solchen Situationen als sehr, sehr gut erwiesen. Die Sprache kann gut mit diesen anderen Systemen interagieren. Und diese anderen Systeme sind das Netzwerk und die Datenbank sowie APIs von Drittanbietern, wie Stripe oder E-Mail-Dienste usw. In dieser Welt ist Python ziemlich schnell. Ich würde sagen, die durchschnittliche Antwortzeit vom Netzwerkeingang zum Netzwerkausgang beträgt etwa 30 Millisekunden. Niemand wird einen Unterschied zwischen 30 Millisekunden und 20 Millisekunden wahrnehmen. Man könnte vielleicht sagen, dass man weniger Server haben könnte, wenn man dort weniger Berechnungen durchführt, aber die meiste Zeit geht für das Warten auf Datenbanken und andere Dinge drauf, also kann man es nicht viel schneller machen. Aus einer wissenschaftlichen Perspektive heraus finde ich das sehr interessant. Wenn Sie alles in reinem Python machen, stimme ich Ihnen zu, wäre es wahrscheinlich ziemlich langsam. Aber auf der Seite der Datenwissenschaft passiert so viel. Sie besorgen sich hier eine Bibliothek, oder nutzen dort Tensorflow oder etwas Ähnliches. Und das sind wirklich nur sehr dünne Hüllen um den Code in C. Und dieser Code ist sehr, sehr schnell. So erhalten Sie Ihre Daten vielleicht in C und machen dann aber mit Python weiter. Dann geht das auch schnell.

Die Geschwindigkeit von Python ist demnach ein sehr interessantes Thema. Ich kann die Sorgen verstehen, wenn es um etwas wie Numba oder Cython geht. Ich habe Cython für ein paar verschiedene Dinge verwendet. Ich habe sogar von Django-Ansichten in Cython gehört, was für mich nach einer verrückten Idee klingt. Sie haben viele Berechnungen in ihren Ansichten durchgeführt, und die Ausführung in Cython hat das Ganze beschleunigt. Das ist die technische Seite. Und wenn man von langsam oder schnell spricht, muss man sich auch fragen: „Was will ich schneller machen?“ Wenn ich ein Programm in C++ schreiben kann, das mir in 10 Sekunden eine Antwort auf ein Problem liefert, wo ein Code in Python 5 Minuten braucht, dann ist C++ natürlich schneller. Aber wenn ich eine Woche brauche, um den C++-Code zu schreiben, und nur einen halben Tag, um den Python-Code zu schreiben, dann habe ich eine Menge Zeit gespart. Ich denke, es kommt darauf an, was Sie optimieren wollen. Optimieren Sie die Entwicklungsgeschwindigkeit, die Geschwindigkeit Ihrer Anwendung oder die Berechnungsgeschwindigkeit? Es gibt Zeiten, in denen C++ – oder etwas Ähnliches wie zum Beispiel Go – absolut sinnvoll ist, aber das ist nicht so oft der Fall, wie man denkt.

 

Evrone:Gibt es irgendwelche Besonderheiten rund um Python, die Sie seltsam oder schrecklich finden? Was würden Sie gerne an Python ändern, um es besser zu machen?

Michael:Ich bin sehr zufrieden damit, wie Python ist. Ich habe keine wirklichen Probleme damit. Ich werde Ihnen ein paar Dinge nennen, die ich für sehr wichtig halte, und dann ein oder zwei, die etwas seltsam sind, was die Sprache angeht.

Der „else“-Ausdruck ergibt für mich beispielsweise keinen Sinn. Alle anderen Sprachen sind durchaus in der Lage, Schleifen ohne „else“ zu erstellen und Ausnahmen ohne „else“ zu behandeln. Der Ausdruck wird dort nicht sehr häufig verwendet.

Ich denke, es gibt auch einige interessante Dinge rund um Typ-Anmerkungen, mit denen wir wahrscheinlich mehr machen könnten. Vor allem könnten wir mit Typ-Anmerkungen vielleicht die Mathematik schneller machen. Zum Beispiel könnte der Interpreter die Tatsache berücksichtigen, dass es eine Typ-Anmerkung für eine Reihe von Zahlen gibt und dass wir Zahlen auf C-Ebene anstelle der viel langsameren Zahlen auf unendlicher Ebene verwenden werden. Solche Dinge wären toll. Aber ich komme gut ohne zurecht.

Darüber hinaus würde ich gerne einen Button in PyCharm oder VScode drücken oder einen Kommandozeilenbefehl ausführen, um eine ausführbare Datei zu erhalten, die ich an jemanden weitergeben kann. So, dass Sie keine Bibliotheken zu installieren brauchen. Sie können die Datei einfach ausführen. Ich weiß, dass es Pyinstaller und Py2exe gibt, aber diese Dinger sind sehr instabil und nicht gerade einfach zu bedienen. Und wenn man, genauso wie man in PyCharm oder VScode auf „Ausführen“ drückt, einfach auf „Erzeugen“ drücken könnte und die ausführbare Datei wäre fertig, das wäre toll. Außerdem würde ich mir UI-Unterstützung für Desktop- und mobile Anwendungen wünschen. Ich denke Python wäre weitaus populärer, wenn die Distribution und das Interface in der Hinsicht optimiert würden. Auch ohne diese Dinge ist die Sprache bereits sehr beliebt, aber man kann damit keine mobilen Anwendungen erstellen. Wenn das möglich wäre, würde das zu einem Python-Boom führen. Das würde ich gerne sehen.

 

Evrone:Vielen Dank, Michael! Es war mir ein Vergnügen, dieses Gespräch mit Ihnen zu führen, und ich hoffe, dass wir uns auf einer echten Konferenz mal persönlich treffen. Vielen Dank und genießen Sie Ihren restlichen Tag!

Das Fazit

Es war uns eine Freude, mit Michael zu sprechen und von seinem Fachwissen und seinen Erfahrungen mit Python zu lernen. Die wertvollen Einblicke von Branchenexperten in die Programmiersprachen, Tools und Lösungen, die wir tagtäglich verwenden, helfen uns, unsere Kunden besser zu bedienen und ihre Anforderungen an Software zu erfüllen.

Wir möchten uns auch bei unserem Kollegen Nikolai Rubanov von Selectel für die Unterstützung bei den Fragen für dieses Interview bedanken.

Wir bei Evrone verwenden Python häufig, um maßgeschneiderte Softwarelösungen für unsere Kunden zu entwickeln. Wenn Sie mehr über die von uns angebotenen Dienstleistungen erfahren möchten oder Unterstützung bei Ihrem aktuellen Projekt benötigen, senden Sie uns eine Nachricht, und wir werden uns bald mit Ihnen in Verbindung setzen.

Wir sind immer auf der Jagd nach der neuen glänzenden Bibliothek, nach der neuen tollen Sache, mit der wir ein Problem lösen können. Aber oft ist das nicht das, was nötig ist. Wir müssen lediglich ein Problem lösen. Ich denke, wir können diese Herausforderungen oder diese langweiligen, sich wiederholenden Dinge unter anderem dadurch bewältigen, dass wir unsere Kreativität und unsere Programmierkenntnisse einsetzen, um herauszufinden, wie wir das Problem ein für alle Mal lösen können.
Michael Kennedy
Gründer und Gastgeber des Podcasts „Talk Python To Me“
Kontaktieren Sie uns
Schwebt Ihnen ein Projekt vor?
Setzen wir es gemeinsam um
Datei anhängen
Die Dateien müssen kleiner als 8 MB sein.
Zulässige Dateierweiterungen: jpg jpeg png txt rtf pdf doc docx ppt pptx.
Diese Website wird durch reCAPTCHA geschützt. Es gelten die Datenschutzerklärung und die Nutzungsbedingungen von Google.