如今有眾多可選的編程語言,這往往是入門者首先要面對的問題。開發(fā)工具的選擇有時取決于特定的約束條件或者個人喜好。
過去的16年中對近260個團體組織和4000名學生的Python培訓過程,讓我見證了人們做出這一選擇的一些共性原因。大部分Python用戶都提到了下面這些原因。
01 軟件質(zhì)量
對于很多人而言,Python更注重可讀性、一致性和軟件質(zhì)量,這使得它區(qū)別于腳本語言世界中的許多其他工具。
Python代碼在設計之初就具有良好的可讀性,因此具備了比傳統(tǒng)腳本語言更優(yōu)秀的可重用性和可維護性。即使代碼并非你親手所寫,Python的一致性也保證其易于理解。
此外,Python支持軟件開發(fā)的高級重用機制。例如面向?qū)ο螅╫bject-oriented,OO)以及函數(shù)式編程(function programming)。
從設計之初,Python就秉承了一種獨特的簡潔而極具可讀性的語法,以及一種高度一致的編程模型。
正如過去某次Python會議標語所宣稱的那樣,Python似乎是“與人腦思維直覺吻合”,也就是說,Python的語言特性以一種一致和受限的方式進行交互,并自然地遵守一套緊湊的核心概念。這使得Python易于學習、理解和記憶。
事實上,Python程序員在閱讀和編寫代碼時無須經(jīng)常查閱手冊。Python是一個設計風格始終如一的開發(fā)平臺,可以保證開發(fā)出具有一致性的代碼。
從哲學理念上講,Python采取了一種所謂極簡主義的設計理念。這意味著盡管實現(xiàn)某一編程任務通常有多種方法,往往只有一種方法是顯而易見的,還有一些不是那么明顯的方法,而且貫穿整門語言都采用這一套緊湊的交互形式。
此外,Python并不會為你做任意的選擇;當交互模棱兩可時,使用簡潔明了的解決辦法要優(yōu)于“魔法”般的方式。在Python的思維方式中,明確勝于隱晦,簡單勝于復雜。
除了以上的設計宗旨,Python還包含模塊化、OOP在內(nèi)的一些工具來自然地提升程序的可重用性。而且由于Python致力于提升編碼質(zhì)量,Python程序員也都自然而然地秉承了這一理念。
02 開發(fā)者生產(chǎn)效率
相對于C、C++和Java等編譯/靜態(tài)類型語言,Python的開發(fā)者效率提高了數(shù)倍。
Python代碼的長度往往只有C++或Java代碼的1/5~1/3。這就意味著可以錄入更少的代碼,調(diào)試更少的代碼,并在開發(fā)完成之后維護更少的代碼。并且Python程序可以立即運行,而無需傳統(tǒng)編譯/靜態(tài)語言所必需的編譯及鏈接等步驟,進一步提高了程序員的效率。
20世紀90年代中后期,互聯(lián)網(wǎng)帶來的信息爆炸使有限的程序員與日益繁多的軟件開發(fā)項目之間的矛盾愈發(fā)嚴重;開發(fā)者開發(fā)系統(tǒng)的速度常常要求趕上互聯(lián)網(wǎng)演變的速度。在這一浪潮過后的公司裁員和經(jīng)濟衰退時期,產(chǎn)業(yè)圖景又悄然改變。公司開始要求更少的程序員來完成相同的開發(fā)任務。
無論在以上哪種背景下,Python作為開發(fā)工具均以付出更少的精力完成更多的任務而脫穎而出。
Python致力于開發(fā)速度的最優(yōu)化:其簡潔的語法、動態(tài)類型、無須編譯、內(nèi)置工具包等特性使程序員能夠快速完成項目開發(fā),而使用其他開發(fā)語言則需要幾倍的時間。其最終結(jié)果就是,相對于傳統(tǒng)的語言,Python把開發(fā)者效率提高了數(shù)倍。
不論所處的時代是欣欣向榮還是蕭條而不景氣,也無論軟件行業(yè)未來的走勢是起還是落,這都是一件值得慶幸的事。
03 程序的可移植性
絕大多數(shù)的Python程序不做任何改變即可在所有主流計算機平臺上運行。例如,在Linux和Windows之間移植Python代碼,只需簡單地在機器間復制代碼即可。
此外,Python提供了多種可選的代碼庫,用于編寫包括用戶圖形界面、數(shù)據(jù)庫接入、基于Web的系統(tǒng)等在內(nèi)的各種程序。其中甚至包括程序啟動和文件夾處理這樣的操作系統(tǒng)級接口,也成為Python可移植性的一部分。
04 標準庫的支持
Python內(nèi)置了眾多預構(gòu)建并可移植的功能模塊,這些功能模塊叫作標準庫(standard library)。標準庫支持一系列應用級的編程任務,涵蓋了從字符模式到網(wǎng)絡腳本編程的匹配等方面。
此外,Python可通過自行開發(fā)的庫或眾多第三方的應用來支持軟件的擴展。Python的第三方支持工具包括網(wǎng)站搭建、數(shù)值計算、串口讀寫、游戲開發(fā)等各個方面(參考接下來的樣例)。例如,NumPy是一個免費的,與MATLAB一樣功能強大的數(shù)值計算開發(fā)平臺。
05 組件集成
Python腳本可通過多種集成機制輕松地與應用程序的其他部分進行通信。這種集成使Python成為實現(xiàn)產(chǎn)品定制和擴展的工具。
目前,Python代碼可以調(diào)用C和C++的庫,可以被C和C++的程序調(diào)用,可以與Java和.NET組件集成,可以與COM和Silverlight等框架進行通信,可以通過串行端口與設備進行連接,并且可以通過SOAP、XML-RPC和CORBA等接口與網(wǎng)絡進行交互。Python絕不僅僅是一個孤立的工具。
06 享受樂趣
Python的易用性和強大內(nèi)置工具使編程成為一種樂趣,而不是瑣碎的重復勞動。這是一個難以言表的優(yōu)點,將對開發(fā)效率的提升有很重要的幫助。
-
編程語言
+關注
關注
10文章
1929瀏覽量
34539 -
python
+關注
關注
55文章
4767瀏覽量
84375
原文標題:你為什么選擇Python?4000名用戶提到了這些原因
文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論