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