Der Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?

Die gesamte Python-Community hofft, dass sich dies nicht negativ auf das Ökosystem auswirkt. Das allein reicht aber nicht aus. Zum Beispiel halten wir es für wichtig, die Community zu unterstützen, und als eine der Veranstaltungen veranstalten wir eine große Konferenz namens Moscow Python Conf ++. Dort können wir dieses und andere wichtige Themen diskutieren. In der Zwischenzeit werde ich Sie teilweise dem Programmausschuss vorstellen. Und er stellte ihnen mehrere Fragen, die nur die Ansichten über das Ökosystem enthüllten und über Menschen besser erzählten als über ihre beruflichen Leistungen.

Zusätzlich zur Titelfrage habe ich Folgendes gestellt:

  • Was empfehlen Sie für das Abhängigkeitsmanagement?
  • Was ist das Beste, was Sie jetzt im Backend tun können?
  • Steuert TensorFlow immer noch auf maschinelles Lernen oder ist es Zeit, etwas Neues zu lernen?
  • Warum sollte Ihr Juni Python lernen, nicht JavaScript?
  • Sie sagen, dass das Web-Backend nicht mehr benötigt wird. Ist es so?
  • 3.x oder 2.7?
  • Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?

Spoiler: Die Provokation "3.x vs 2.7" ist fehlgeschlagen, die Antwort ist klar. Es scheint zu früh, um das Backend abzulehnen, aber was zu tun ist, hängt von der Aufgabe ab - wer hätte das gedacht.

Ich gebe meine Antworten zusammen mit einer kurzen Hilfe, warum nicht.

Grigory Petrov
Grigory Petrov ist ein breit aufgestellter Entwickler, technischer Evangelist von Voximplant und einer der Organisatoren der MoscowPython-Community. Er mag Python, JavaScript, C ++, das Netzwerk, Unit-Tests und große Projekte. Wenn er auf Konferenzen spricht, spricht er über Millers Brieftasche und warum das Schreiben von Software ein Schmerz ist.


- Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?
Es gibt einen solchen Ausdruck: "Der kollektive Verstand denkt sehr gut, trifft aber Entscheidungen sehr schlecht." Ich glaube, wenn sich die Entwickler auf die Annahme wichtiger Entscheidungen durch die kleinste Gruppe von Visionären einigen können, wird dies nur der Sprache zugute kommen.

- Was empfehlen Sie für das Abhängigkeitsmanagement?
Ich bin für einen bewährten Haufen Pip und Virtualenv. Derzeit gibt es viele neue Entwicklungen, aber ich sehe keine Stabilisierung genug.

- Was ist jetzt das Beste am Backend?
Sehr abhängig von der Aufgabe. Wenn Sie schnell eine einseitige Website mit einem Admin-Panel erstellen müssen und nicht Tausende von Treffern pro Sekunde benötigen, ist Django unübertroffen. Das Frontend nach Geschmack bevorzuge ich VueJS . Wenn Sie jedoch API, hohe Last und andere interessante Dinge benötigen, wird der Bereich sehr groß und Sie müssen sich die Anforderungen ansehen. Was ist mit AIOHTTP?

- TensorFlow steuert immer noch auf maschinelles Lernen, oder ist es Zeit, etwas Neues zu lernen?
Als Low-Level-Bibliothek steuert immer noch alles. Google schüttet unendlich viele Ressourcen hinein, es entscheidet viel. Aber gute Wrapper und hochrangige Bibliotheken sind jetzt auf Lager und Sie können etwas direkt "für Sie" finden.

- Ein Satz: Warum sollte Ihr Juni Python lernen, nicht JavaScript?
Die beste Dokumentation der Welt.

- Sie sagen, dass das Backend im Web nicht mehr benötigt wird. Ist es so?
Das Web ist anders. Eine einseitige Visitenkarte kann wirklich mit Webpack auf VueJS erstellt, Nuxt kompiliert und in CloudFlare als statisch ausgelegt werden. Und für die einfache Datenmanipulation eignet sich GraphQL hervorragend für Firebase. Für etwas Ernsthafteres benötigen Sie ein vollständiges Backend. Ich schrieb "ernst". Ich schrieb "voll". Bitte stellen Sie den Knoten wieder ins Regal. Ja, ich liebe sie auch, aber noch keine Zeit.

- 3.x oder 2.7?
Wenn ein neues Projekt - dann definitiv 3.x und Typen. Wenn Legacy - dann müssen Sie genau hinschauen. Nicht immer ist die beste Lösung: "Schreiben wir alles für die neuesten Versionen neu . " Folgen Sie den Umständen.

- Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?
Jede Programmiersprache ist nicht nur Syntax und Ökosystem, sondern auch eine eigene kleine Welt, die "wie hier üblich" genannt wird.

Ein guter Python-Entwickler schreibt in Python. Nicht in Java in Python-Syntax oder PHP in Python-Syntax. Es wird von Kollegen geschätzt.

Vladimir Filonov
Vladimir Filonov ist auch einer der Organisatoren der MoscowPython-Community. Er mag Python, Erlang / Elixir, Asynchrony und TDD. Er mag es, in die Innenseiten von Bibliotheken einzutauchen und dann darüber zu sprechen.


- Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?
Natürlich ist die Antwort definitiv schwierig. Guido war immer noch der Hauptideologe der Sprache. Andererseits waren nicht alle seine Entscheidungen eindeutig. Es scheint mir, dass jetzt alles davon abhängt, ob wir, dh die gesamte Python-Community, einen effektiveren strategischen Entscheidungsprozess aufbauen können.

- Was empfehlen Sie für das Abhängigkeitsmanagement?
Ich verwende pip + virtualenvwrapper lokal, aber dies ist wahrscheinlicher durch Trägheit. Und so würde ich pyenv empfehlen.

- Was ist jetzt das Beste am Backend?
Und hier kommt es darauf an, wofür dieses Backend ist.

Ich sage immer - Sprache ist nur ein Werkzeug.

Es ist nicht sehr bequem, Nägel mit demselben Werkzeug zu hämmern und zu gravieren. Selbst universelle Sprachen (wie zum Beispiel Python) bewältigen einige Aufgaben besser und andere schlechter. Wenn wir jedoch über das durchschnittliche Web-Backend sprechen, wähle ich in den allermeisten Fällen Python.

- TensorFlow steuert immer noch auf maschinelles Lernen, oder ist es Zeit, etwas Neues zu lernen?
TensorFlow fährt sicherlich. Aber es ist nicht schädlich, die Sprache von Julia zu lernen =)

- Ein Satz: Warum sollte Ihr Juni Python lernen, nicht JavaScript?
Wenn Sie sich nicht mit der Debatte über die architektonische Reife befassen, würde ich sagen, dass Python syntaktisch viel eleganter und leichter zu lesen ist.

- Sie sagen, dass das Backend im Web nicht mehr benötigt wird. Ist es so?
Nun, sie sagen, dass Programmierer auch nicht bald benötigt werden - die KI wird den Code selbst schreiben. Aber im Moment sind beide sehr zweifelhafte Konzepte.

- 3.x oder 2.7?
Nur 3.x. 2.7 wird natürlich noch viele Jahre in Projekten leben, aber das ist Vermächtnis. Daher macht es keinen Sinn, in einer Sackgasse der Sprache etwas Neues zu erstellen.

- Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?
Sie können ohne Python antworten - wie sich ein guter Programmierer von einem schlechten unterscheidet. Es scheint mir, dass die Hauptsache hier Neugier ist . Interesse daran, wie diese oder jene Technologie funktioniert. Jetzt ist dem Entwickler viel von allem zur Verfügung gestellt - nehmen Sie die fertigen Blöcke und nieten Sie sie. Und eines der Probleme der Branche ist, dass viele mit diesem Nieten zufrieden sind und nicht verstehen, wie der von ihnen verwendete Mechanismus angeordnet ist. Wenn Sie sich von den in der Dokumentation beschriebenen Beispielen entfernen müssen, treten Probleme auf.

Nicht das gesamte Programmkomitee nahm an der Blitz-Umfrage teil, einige waren so beschäftigt mit Bewerbungen und der Erstellung von Berichten, dass sie keine Zeit hatten, zu antworten. Vergib ihnen - für uns versuchen sie es.


Zlata Obukhovskaya
Zlata Obukhovskaya ist seit zehn Jahren mit dem Python-Ökosystem vertraut. Während dieser Zeit hat sie verschiedene Dinge ausprobiert: von Data Science über die Entwicklung von Hochlastprojekten bis hin zur Verwaltung von Teams. Er unterrichtet bei Learn Python, interessiert sich für verteilte Systeme und den Aufbau technischer Communities. Spricht gern über technologische Kultur, die von der Strategie angetrieben werden sollte.


- Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?
Guido hat viel für Python getan und sein Leben dem gewidmet. Seine Arbeit hat Früchte getragen, im Ökosystem gibt es viele talentierte Menschen mit einer starken Vision, die bereit sind, die Sprache weiterzuentwickeln. Ob es ihnen gelingt, eine Richtung zu organisieren und erfolgreich zu wählen, ist eine offene Frage. Die Weiterentwicklung der Sprache wird das Potenzial der Python-Community offenbaren, unabhängig davon, wie sich dieses Potenzial herausstellen mag.

- Was empfehlen Sie für das Abhängigkeitsmanagement?
Interessantes Poesieprojekt.

- Was ist jetzt das Beste am Backend?
Kommt auf die Aufgabe an.

  • Für CRUD-Anwendungen ist dies Django.
  • Für geladene APIs, die mit mehreren Datenquellen arbeiten, sind dies die asynchronen Tornado-Aiohttp-Frameworks.
  • Für relativ einfache APIs mit einer guten Belastung ist Flask geeignet.

- TensorFlow steuert immer noch auf maschinelles Lernen, oder ist es Zeit, etwas Neues zu lernen?
Es ist immer sinnvoll, relativ junge und noch weniger angepasste Frameworks für die Produktion auszuprobieren, beispielsweise PyTorch. Nur um Datenentwurfslösungen vergleichen zu können.

- Ein Satz: Warum sollte Ihr Juni Python lernen, nicht JavaScript?
Mit Python können Sie JavaScript lernen, im Gegenteil, es ist schwieriger.

- Sie sagen, dass das Backend im Web nicht mehr benötigt wird. Ist es so?
Kommt auf die Aufgabe an. Überall dort, wo Sie Daten online anreichern müssen oder die Antwortgeschwindigkeit und der Durchsatz der Datenquelle von Bedeutung sind, wird ein Backend benötigt.

- 3.x oder 2.7?
3.x natürlich!

- Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?
Ein guter Entwickler denkt immer daran, wie ich morgen besser werden kann als gestern. Dies gilt für die Entwicklung in jeder Sprache. Der Wissens- und Erfahrungsstand ist unwichtig.

Alexander Khayorov
Alexander Khayorov leitet die Entwicklungsabteilung von Ingram Micro Cloud, liebt Python und programmiert hinterhältig darauf. Und in Bezug auf öffentliche Clouds, Kubernetes, Istio und DevOps / SRE-Praktiken - Leidenschaft und ein Bereich von unbegrenztem Interesse.


- Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?
Guido sagte, dass er den Posten des BDFL (Wohlwollender Diktator fürs Leben) verlassen würde und dies sicherlich ein bedeutsames Ereignis für die Gemeinde ist. Ich denke jedoch nicht, dass dies die Entwicklung der gesamten Sprache negativ beeinflussen wird. Ich gehe davon aus, dass die Kämpfe um die neuen PEPs genauso turbulent sein werden. Die Show muss weiter gehen.

- Was empfehlen Sie für das Abhängigkeitsmanagement?
Nun definitiv pipenv , und warum und warum ich es dir kürzlich ausführlich erzählt habe, siehe das Video hier .

- Was ist jetzt das Beste am Backend?
Auf jeden Fall auf dem Werkzeug, das Ihren funktionalen Anforderungen entspricht. Python ist sehr gut für einen schnellen Start . Für anspruchsvollere technische Fälle gibt es elegantes Asyncio und Sanic. Django ist immer noch gut und wird von einer Fülle von Batterien und einer großen Gemeinschaft von Sympathisanten angezogen.

- TensorFlow steuert immer noch auf maschinelles Lernen, oder ist es Zeit, etwas Neues zu lernen?
Ich bin ein wenig weit vom Thema maschinelles Lernen entfernt, aber TensorFlow konzentriert sich auf Gespräche in der Branche und ist definitiv im Clip enthalten, obwohl Keras immer häufiger erwähnt wird. Theano ist wieder gut für ein CPU / GPU-Paar optimiert und eignet sich für numerische Aufgaben.

- Ein Satz: Warum sollte Ihr Juni Python lernen, nicht JavaScript?
Nicht Javascript Single ...

- Sie sagen, dass das Backend im Web nicht mehr benötigt wird. Ist es so?
Natürlich wird es nicht mehr benötigt, erzähl einfach niemandem davon.

- 3.x oder 2.7?
Es besteht kein Zweifel: Version 3.6.6 ist die Krone der Schöpfung . Schauen Sie sich einfach das Änderungsprotokoll 3.6 an und alles passt zusammen.

- Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?
Reines Karma und ein pragmatischer Ansatz bei der Umsetzung von Aufgaben, Fokus auf Geschäftslogik und beißendem Humor.

Ivan Tsyganov
Ivan Tsyganov programmiert in Python und spricht auf Konferenzen für Programmierer und Tester. Er bereitete die größte Informationssicherheitskonferenz in Russland vor - PHDays. Langsam aber sicher baut er ein wirklich intelligentes Zuhause auf.


- Python-Autor leitet die Entwicklung nicht mehr. Wird es die Sprache besser oder schlechter machen?
Python ist nicht mehr jung, alle Prozesse wurden lange getestet und funktionieren einwandfrei. Ich denke, dass sich grundsätzlich nichts ändern wird, denn an der Spitze bleiben vertrauenswürdige Menschen . Auf jeden Fall beobachtet Guido den Prozess und wenn Wahnsinn einsetzt, wird er sicherlich eingreifen. Zumindest glaube ich das.

- Was empfehlen Sie für das Abhängigkeitsmanagement?
Ich bin es gewohnt zu pfeifen, ich habe genug davon.

- Was ist jetzt das Beste am Backend?
Wenn Sie einen funktionierenden Prototyp so schnell und einfach wie möglich benötigen - Django, sofort einsatzbereites Admin-Panel. Dann befestigen wir das Django REST Framework daran und gestalten die Benutzeroberfläche menschlich neu.
Und in anderen Fällen hängt alles von der Aufgabe ab.

- TensorFlow steuert immer noch auf maschinelles Lernen, oder ist es Zeit, etwas Neues zu lernen?
Wenn das Thema Maschinelles Lernen interessant ist, ist es nützlich, alles zu verfolgen und alles neu auszuprobieren! Leider bin ich nicht auf geeignete Aufgaben gestoßen, daher bin ich etwas weit von diesem Bereich entfernt.

- Ein Satz: Warum sollte Ihr Juni Python lernen, nicht JavaScript?
Weil mein Juni in Python schreiben muss

- Sie sagen, dass das Backend im Web nicht mehr benötigt wird. Ist es so?
Wie so kein Backend benötigt ?! Wir brauchen dieses Web nicht!

- 3.x oder 2.7?
Nur 3, weil dort alles am leckersten ist. Ja, und es ist Zeit, sich von dem alten Mann 2.7 zu verabschieden , er hat seinen Job gemacht.

- Wie unterscheidet sich ein guter Python-Entwickler von einem schlechten?
Der Wunsch, neue Dinge zu lernen.

In diesem optimistischen Sinne lade ich Sie am 22. und 23. Oktober zu Moscow Python Conf ++ ein . Das Programm enthält neue und interessante Informationen zur Sprache, zum Ökosystem und zum maschinellen Lernen. Ich werde Ihnen in Kürze alles in der richtigen Reihenfolge mitteilen. Die Liste der akzeptierten Berichte finden Sie hier .

Source: https://habr.com/ru/post/de425469/


All Articles