當前位置:
首頁 > 科技 > Python之父是如何從TypeScript「抄」設計想法的

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 增加了類型提示功能,開發人員可以通過註解來檢查傳給函數的參數類型是否正確(可用的類型檢查器有:http://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 活動,他堅信類型系統確實」戲劇性」地提升了開發人員的生產力。他說:

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

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

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

英文原文

https://www.techrepublic.com/article/the-creator-of-python-on-how-the-programming-language-is-learning-from-typescript/

點個在看少個 bug


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 InfoQ 的精彩文章:

Docker、Kubernetes 新手開發「必備指南」
當前很多新技術本質上都在解決運維問題

TAG:InfoQ |