完美世界手游官网隐藏任务 www.gytoi.icu

圖0:Python之父是如何從TypeScript“抄”設計想法的

作者:Nick Heath ?譯者:無明

最近,在西雅圖舉行的 PuPPy 慈善活動上,Van Rossum 談到了 Python 的早期發展史以及他對 Python 未來的看法。

Van Rossum 說,Python 類型注解的設計靈感來自 TypeScript。他說:

”我覺得 TypeScript 非常有用,所以我們在 Python 也加入了一些與 TypeScript 類似的功能。但因為我們的環境不一樣,所以實現的方式有所差異“。

在活動結束后,Van Rossum 確認了他之前所說的 TypeScript 特性就是指可選的類型檢查。

類型檢查功能可以幫助開發人員發現某些類型的錯誤,避免讓它們潛入到軟件系統中。在使用靜態類型語言時,開發人員在聲明一個函數時通?;嶂付ê問謀淞坷嘈?,例如使用 int 來指定一個整數類型,或者使用 str 來指定一個字符串類型。而在使用動態類型語言時,開發人員不需要指定函數參數類型,這種設計是為了減輕開發人員的負擔。

不過,Van Rossum 表示,對于大型項目的代碼庫來說,動態類型并不好。他說:

”對于小型程序,動態類型非常不錯。但對于大型程序,你必須要有一些訓練有素的方法,而如果語言本身能夠提供這些就好了“。

雖然 Python 仍然是一門動態類型語言,但在 2015 年,Python 3.0 增加了類型提示功能,開發人員可以通過注解來檢查傳給函數的參數類型是否正確(可用的類型檢查器有://mypy-lang.org/)。

這些注解是可選的,開發人員可以將動態類型和靜態類型結合起來,并且不會影響代碼的執行速度。除了類型提示(PEP 484),Python 還引入了一系列其他特性(PEP 526、PEP 544、PEP 561、PEP 563),為類型檢查提供了各種鉤子。

在之前的一次演講中,Van Rossum 介紹說,Dropbox(他在這家公司擔任首席工程師)從 2015 年開始在 Python 代碼庫中引入類型注解,到了 2018 年,600 萬行代碼中有 200 萬行已經添加了類型注解。

Python 的類型提示功能也被很多其他公司所采用,包括 Facebook、Quora 和 Lyft。類型檢查器也開始使用類型提示來驗證 Python 類型。

Van Rossum 說,TypeScript 提供了類似的類型注解,類型檢查器可用這些注解來驗證類型。類型注解是 TypeScript 吸引開發人員用它來開發大型應用程序的有用特性之一。

TypeScript 作者 Anders Hejlsberg 也參加了 PuPPy 活動,他堅信類型系統確實”戲劇性”地提升了開發人員的生產力。他說:

“我確信你們已經都習慣了表達式自動完成、重構、代碼導航等功能。而促成這些功能的是代碼語義,而能夠提供代碼語義的是具有類型系統的編譯器”。

“在加入類型之后,你就可以極大地提升生產力,有時候甚至會出乎你的意料”。

“我曾經認為動態語言更容易使用,因為你不需要一直為各種類型絞盡腦汁。但事實上,如果你能夠以非侵入式的方式使用類型,或者做好類型推斷,那么類型無疑會極大地提升你的生產力”。

余下全文(1/3)

本文最初發表在微信公眾號,文章內容屬作者個人觀點,不代表本站立場。

分享這篇文章:

請關注我們:

發表評論

電子郵件地址不會被公開。 必填項已用*標注