Der Schöpfer von Python darüber, wie die Programmiersprache von TypeScript lernt

Die besten Programmiersprachen für 2019: Top-Programmierkenntnisse, die Sie am meisten bezahlen Dies sind die Sprachen, die am meisten nachgefragt werden und die höchsten Gehälter bieten.

Mehr über Innovation

  • IBM kündigt Durchbruch in der Batterietechnologie an
  • Augmented Reality für Unternehmen: Spickzettel
  • Fotos: Die 25 schnellsten Supercomputer der Welt
  • Im Raspberry Pi: Die Geschichte des 35-Dollar-Computers, der die Welt verändert hat

Der Schöpfer von Python, Guido van Rossum, hat darüber gesprochen, wie die Programmiersprache Ideen aus dem JavaScript-Spinoff TypeScript entlehnt.

Van Rossum sprach kürzlich auf der PuPPy-Wohltätigkeitsveranstaltung in Seattle, wo er die Anfänge von Python diskutierte und auch berührte, was seiner Meinung nach die Zukunft für die Sprache bereithält. Letztes Jahr trat Van Rossum zurück, um der „wohlwollende Diktator für das Leben“ der Sprache zu sein, ein ironischer Hinweis auf seine Rolle als Leitfaden für die Entwicklung der Sprache.

Während der PuPPy-Diskussion sagte Van Rossum, dass hilfreiche Funktionen für Typanmerkungen in TypeScript die Implementierung ähnlicher Ideen in Python inspirierten.

"Ich fand, dass TypeScript wirklich unglaublich nützlich ist. Deshalb fügen wir Python eine ähnliche Idee hinzu. Wir fügen sie auf etwas andere Weise hinzu, weil wir einen anderen Kontext haben", sagte er.

Guido van Rossum spricht auf der PuPPy-Wohltätigkeitsveranstaltung in Seattle.

Bild: PuPPy

Nach dem Ereignis bestätigte Van Rossum, dass das TypeScript-Verhalten, von dem er sprach, eine optionale Typprüfung war, die in Python ermöglicht wird.

Mithilfe der Typprüfung können Entwickler eine Klasse von Fehlern erkennen, die andernfalls in die Software eindringen könnten, indem sie vor der Ausführung des Codes Überprüfungen durchführen, mit denen verschiedene Vorgänge überprüft werden, z. B. ob die Daten, die an und von Funktionen übergeben werden, vom richtigen Typ sind. In statisch typisierten Sprachen geben Entwickler normalerweise den Typ einer Variablen oder eines Funktionsparameters an, wenn sie deklariert werden. Verwenden Sie beispielsweise das Schlüsselwort int, um eine Ganzzahl anzugeben, oder str, um eine Zeichenfolge anzugeben, um zwei einfache Beispiele zu verwenden. Im Gegensatz dazu müssen Entwickler bei dynamisch typisierten Sprachen keinen Typ für Variablen oder Funktionsparameter angeben. Daher wurde in der Vergangenheit angenommen, dass dies die Belastung für den Entwickler verringert.

Van Rossum teilte dem Ereignis jedoch mit, dass dynamisches Tippen im Allgemeinen nicht für große und komplexe Codebasen geeignet ist.

"Ich habe eine schmerzhafte Lektion gelernt, dass dynamisches Tippen für kleine Programme großartig ist. Für große Programme muss man disziplinierter vorgehen und es hilft, wenn die Sprache Ihnen diese Disziplin tatsächlich gibt, anstatt Ihnen zu sagen, dass Sie alles tun können, was Sie wollen will '", sagte er.

Während Python immer noch eine dynamisch typisierte Sprache ist, erhielt Python 3.0 2015 Unterstützung für Typhinweise, mit denen Entwickler Anmerkungen einfügen können, mit denen eine Typprüfung wie mypy prüfen kann, ob die richtigen Typen an und von Funktionen übergeben werden.

Diese Anmerkungen sind optional und werden nicht ausgeführt, sodass der Entwickler eine Mischung aus dynamischer und statischer Typisierung verwenden kann. Sie wirken sich nicht auf die Geschwindigkeit aus, mit der der Code ausgeführt wird. Zusätzlich zu den in Python Enhancement Proposal (PEP) 484 eingeführten Typhinweisen wurde der Sprache eine Reihe weiterer Funktionen hinzugefügt, die Hooks für die Typprüfung bereitstellen, einschließlich PEP 526, PEP 544, PEP 561 und PEP 563.

In einem früheren Vortrag sagte Van Rossum, dass Dropbox, wo er jetzt als Hauptingenieur arbeitet, seit 2015 Typanmerkungen in seine Python-Codebasis einführt und bis 2018 zwei Millionen von etwa sechs Millionen Codezeilen mit Anmerkungen versehen wurden.

Die Verwendung von Typhinweisen in Python-Code wurde auch von einer Vielzahl von Firmen übernommen, darunter Facebook, Quora und Lyft. Andere Typprüfer als mypy verwenden jetzt auch Typhinweise, um Typen in Python zu überprüfen.

Wie von Van Rossum angegeben, bietet TypeScript ebenfalls Typanmerkungen, die von einer Typprüfung überprüft werden können. Diese Typanmerkungen sind eine der wichtigsten zusätzlichen Funktionen, die TypeScript, eine JavaScript-Obermenge, für das Schreiben großer Anwendungen attraktiver macht als JavaScript.

Anders Hejlsberg, Entwickler von TypeScript, sagte auch auf der PuPPy-Veranstaltung, dass er entgegen der erhaltenen Weisheit der Ansicht sei, dass Typsysteme die Entwicklerproduktivität tatsächlich "dramatisch" steigern.

"Ich bin sicher, dass Sie alle an Dinge wie das Vervollständigen von Anweisungen, das Refactoring und die Code-Navigation usw. gewöhnt sind", sagte er.

"Wenn Sie darüber nachdenken, ist das, was das semantische Wissen über Ihren Code antreibt, und das, was das semantische Wissen über Ihren Code liefert, ein Compiler mit einem Typsystem.

"Sobald Sie Typen hinzugefügt haben, können Sie die Produktivität drastisch steigern, was in gewisser Weise nicht intuitiv zu sein scheint.

"Ich dachte, dynamische Sprachen wären einfacher zu erreichen, weil es keine Typen gibt, die die ganze Zeit so stören. Nun, es stellt sich heraus, dass Sie tatsächlich produktiver sein können, wenn Sie Typen haben, wenn Sie dies auf nicht aufdringliche Weise tun und wenn Sie arbeiten hart daran, gute Typinferenz zu machen und so weiter. "

Wenn Sie Python lernen möchten, sehen Sie sich diese umfangreiche TechRepublic-Zusammenfassung der kostenlosen Ressourcen online an. Wenn Sie TypeScript ausprobieren möchten, schauen Sie sich diese Sammlung von Büchern, Videos und Anleitungen an.

Innovations-Newsletter

Informieren Sie sich über Smart Cities, KI, Internet der Dinge, VR, AR, Robotik, Drohnen, autonomes Fahren und weitere der coolsten technischen Innovationen. Lieferung mittwochs und freitags

Heute anmelden

© Copyright 2020 | mobilegn.com