自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全能選手 看看Python應(yīng)乎潮流的72變

開發(fā) 前端 后端
起源于上世紀(jì)80年代末的Python語言,是一種開放源代碼的解釋型高級動態(tài)類型語言,語法簡練、類庫豐富,以開發(fā)效率高著稱,20多年的發(fā)展時間,Python是愈久彌香,經(jīng)歷住了時間的考驗。

在多年的編程經(jīng)歷里,不斷的重復(fù)著同樣的悲劇。Turbo C學(xué)完了,用Borland C,Visual C++太麻煩,開始用PowerBuilder快速開發(fā),接上去Delphi、C++Builder、JBuilder,十八般武藝都學(xué)完了,結(jié)果又蹦出個新時髦。哪天有個終結(jié)?

51CTO推薦閱讀:專訪豆瓣網(wǎng)首席架構(gòu)師洪強寧:Python,簡單的力量

在軟件的浪潮里,程序員太渺小了。我們害怕自己,會同過氣的語言一樣曇花一現(xiàn),成為過眼煙云。直至Python出現(xiàn),故事開始轉(zhuǎn)折。 起源于上世紀(jì)80年代末的Python語言,是一種開放源代碼的解釋型高級動態(tài)類型語言,語法簡練、類庫豐富,以開發(fā)效率高著稱。

20多年的發(fā)展時間,Python是愈久彌香,經(jīng)歷住了時間的考驗。Python是Goolge的三大語言之一;全球最大的視頻網(wǎng)站YouTube,以及國內(nèi)的豆瓣網(wǎng)也是采用Python開發(fā);最新最熱的行當(dāng)中,python是往往web game的首選開發(fā)語言之一,谷歌和國內(nèi)的易度云計算開發(fā)平臺也都選擇了Python語言。

這就是神奇的Python,在交錯的語言大戰(zhàn)中,Python卻成為一顆長青樹,不斷煥發(fā)新的光彩。而Python也成為本人最近8年的編程生涯的主體,或許這將是作為程序員的歸屬,一直走下去。讓我們一起分享下這不一樣的Python。

簡單是硬道理

PHP被很多嚴(yán)肅的開發(fā)人員詬病,太簡單、太臟了。然而PHP卻被企業(yè)所喜歡,連Yahoo和Facebook都選擇了PHP, PHP不斷在發(fā)展,生命力異常旺盛。 為什么?因為簡單。程序語言,從機器語言到匯編,到高級語言,不就是簡單在驅(qū)動嗎?程序員也是人,需要更容易使用的語言。時髦點的話,就是語言也要多為咱程序員服務(wù)了,人機接口、用戶體驗要好。

因為簡單,所以開發(fā)效率高;因為簡單,所以容易閱讀和維護;因為簡單,所以不怕沒人接手;因為簡單,重構(gòu)下也無妨;因為簡單,項目經(jīng)理就不必寫偽代碼了,直接Coding出框架代碼吧。簡單帶來的優(yōu)勢,是成指數(shù)級別增長。簡單省了錢,加快的進度,減少的項目風(fēng)險,首先老板會喜歡。簡單是硬道理。.net同樣是靠簡單占領(lǐng)了不小的市場份額。

python語言最早設(shè)計指導(dǎo)思想之一,就是想提高代碼的可讀性。Python語言采用縮進來標(biāo)識代碼塊,而Java采用的是配對的大括號來標(biāo)識。不僅僅是排版更漂亮,Python的數(shù)據(jù)結(jié)構(gòu)非常簡單和統(tǒng)一,Python自帶非常龐大的類庫,很多東西拿來即可。這樣,相同的邏輯,使用python可能只需要java五分之一的代碼量。

很多軟件愛拿自己“數(shù)百萬行代碼”出來說事,表明自己很強大。而在Python的世界里,人們在炫耀相同的功能后,喜歡說我只有幾千行代碼(比如Python上的對象數(shù)據(jù)庫系統(tǒng)ZODB就只有不到5千行代碼)。背后的意思是,放心用吧,有問題你也很容易維護這個系統(tǒng);或者如果有時間,你自己也可以接管這個代碼。

Pythonic之美

PHP靠一個“簡單”占領(lǐng)了市場,PHP的哲學(xué)是quick and dirty;Python同樣簡單,但Python的哲學(xué)是Pythonic。Pythonic是什么?Pythonic是quick and not dirty,也就是quick and beautiful.

這個Pythonic之美,代表了程序員的素養(yǎng)和品味。什么是好的代碼?什么是漂亮的代碼?有一本書,叫做《unix編程藝術(shù)》,實際上一本對編程審美進行洗腦的經(jīng)典書籍。而Python語言的設(shè)計理念,正符合了這種編程審美。因此,Python深受高端開發(fā)人員的喜歡,Python和他們有相同的文化。這如同,很多人將擁有Mac機作為自己審美品味的象征一樣。

Python寶庫

Python號稱自帶電池(Battery Included),也就是有強大的類庫。Python內(nèi)建的類庫就已經(jīng)非常全面了。從web抓取,到xml解析,到嵌入式數(shù)據(jù)庫,到壓縮包的處理,到郵件協(xié)議,到j(luò)son解析,而且不斷在增長。

如果你還覺得不夠,可到http://pypi.python.org上去找,這里有1萬多種第三方的類庫。從圖片處理、到加密算法,到excel文件解析生成,到pdf文件轉(zhuǎn)換,可謂應(yīng)有盡有,無所不能。探訪這里的樂趣,就如同海邊拾貝,如同山間采菌,那種驚喜,那種“大國大民”的優(yōu)越感,讓你在心底涌現(xiàn)出投身Python的幸福,進而歸屬感倍增。

更重要的是,所有的這些寶貝,全部開源,而且大都是類 BSD協(xié)議的開源,您直接用于商業(yè)。有了這些,我會經(jīng)常為自己選擇了Python而慶幸,這使得我們像易度這樣龐大的應(yīng)用快速構(gòu)建起來。Python自帶強大的包管理機制,簡簡單單一個easy_install命令,您就可以在線安裝升級、卸載這些包。這類似debian/ubuntu的apt包管理機制一般方便。

全能選手

可能是因為Python語言練就了動態(tài)語言的以柔克剛、借力打力的太極推手功夫,加上Python簡單導(dǎo)致的生產(chǎn)力指數(shù)級增長效應(yīng),Python應(yīng)該是應(yīng)用最全面的一種語言了。

從腳本、到web開發(fā)、到嵌入使用、到客戶端、到云計算,python都干得不錯。你只需要學(xué)會Python這一門語言,老板給你什么任務(wù)你幾乎都能完成。讓我們隨著時間的年輪滾進,看看Python應(yīng)乎潮流的72變。

操作系統(tǒng)腳本

幾乎所有的Linux發(fā)行版本和Mac都自帶了Python解釋環(huán)境,還有Nokia的S60手機平臺,可直接運行python腳本。簡潔的Python語法,即便是不大懂開發(fā)的系統(tǒng)管理員或者企業(yè)IT人員,也可以快速掌握。事實上Ubuntu和Red Hat的安裝程序,以及Gentoo的包管理系統(tǒng)也是用python開發(fā)的。

最佳伴侶

很多軟件往往選擇會選擇將整個Python接上去內(nèi)嵌到軟件中,作為一個操控軟件的腳本語言。最典型的是各種3D動畫軟件,大都使用Python來做特效。比如Maya、Blender等;一些2D的圖像處理軟件,比如GIMP等也可Python來更靈活的處理圖片。

其他的,OpenOffice可以內(nèi)嵌Python編寫宏;知名的地理信息系統(tǒng)ArcGIS采用Python作為腳本語言;一些游戲引擎,也通常選擇Python作為游戲邏輯的編寫工具;還有一些有限元分析軟件和數(shù)據(jù)統(tǒng)計分析和挖掘的軟件,也采用Python作為使用接口。

客戶端程序

現(xiàn)在的桌面,已經(jīng)不是Windows一統(tǒng)天下了,Linux和Mac的用戶在逐漸增多。誰都想自己寫的程序,能夠在多個平臺上運行。Python就是這為數(shù)不多的選擇之一。國內(nèi)limodou編寫的UliPad文本編輯器就是用Python編寫的;而最早的BT下載客戶端,也是采用Python。

Web應(yīng)用

Web應(yīng)用是Python大放光彩的領(lǐng)域。豆瓣網(wǎng)站很pythonic,網(wǎng)站風(fēng)格完全符合python簡潔、漂亮、優(yōu)美的審美。而豆瓣也是采用了python上的一個叫做quixote的web框架開發(fā)完成。更大的YouTue.com案例我就不多說了。

Python上的web輕量級框架,其實可能有數(shù)十種之多(這可能需要歸功于Python的生產(chǎn)效率)。最流行的是Django,其他的包括TurboGears、Pylons、BFG等。隨著Python上的web服務(wù)網(wǎng)關(guān)接口(WSGI)的逐漸普及,各個web框架直接的公共部分(WSGI中間件)也越來越多,有很多框架也產(chǎn)生相互合并的意圖。分久必合,我相信統(tǒng)一是web框架之間競爭的最后結(jié)果。在今天webgame“肆虐”的風(fēng)潮里,Python同樣高調(diào)登場。5分鐘版的開心農(nóng)場就是采用Python開發(fā)的。Python是眾多webgame工作室的首選游戲邏輯語言。

企業(yè)應(yīng)用

Python上的企業(yè)應(yīng)用代表,著名的包括開源的ERP軟件OpenERP。OpenERP從后臺到客戶端,到web端,全部是采用Python開發(fā)完成。

另外一個就是Plone。Plone是一個世界級的開源內(nèi)容管理軟件,被包括美國中情局在內(nèi)的全世界眾多政府大機構(gòu)、軍方和大企業(yè)使用。Plone基于Python上的一個重量級web應(yīng)用框架Zope開發(fā)。

云時代的新生

在如今云計算風(fēng)生水起的時代,Python被谷歌云開發(fā)平臺Goolge App Engine奉為首選的云計算語言。而國內(nèi)的易度云辦公平臺,從內(nèi)部實現(xiàn)到第三方的PaaS開發(fā),都采用了Python語言。當(dāng)前在云存儲方面的新星DropBox,更是從后臺到客戶端,全面采用了Python語言。如果云代表了軟件業(yè)未來之一,那Python這一次真正開始走在最前面。

說說缺點

沒有哪個人是完美的,Python也一樣。Python的一個大問題是,對多處理器支持不好。也就是一個Python進程,目前只能在一個處理器上運行。這對于日益普及的多處理器架構(gòu),不能說是一個缺憾。當(dāng)然對于web應(yīng)用,采用多進程負(fù)載均衡便能解決這一問題。目前Python也正在提供一個支持多處理器的版本,但是還沒有達到穩(wěn)定的版本,相應(yīng)不久的未來這個問題可以得到解決。

另外一個問題是解釋型語言的通病,就是性能問題。這個問題,Python社區(qū)有個pypy項目,將Python的解釋型執(zhí)行,轉(zhuǎn)換為編譯執(zhí)行,大大提升效率。只是這個pypy還沒有到正式版本。谷歌內(nèi)部也啟動了一個項目,號稱目標(biāo)是將Python的執(zhí)行效率提升5倍,讓我們拭目以待。

尾聲

我們是職業(yè)程序員,我們需要經(jīng)久耐用、多快好省、功力強大的語言。本人選擇了Python,你呢?

原文地址:http://www.douban.com/group/topic/13347288/

【編輯推薦】

  1. 奇妙的流控制 Python中的迭代器與生成器
  2. 旁觀者清 Python與Ruby各有千秋
  3. 使用Python輕松收集Web站點數(shù)據(jù)
責(zé)任編輯:王曉東 來源: 出水痘
相關(guān)推薦

2020-02-11 14:14:52

this函數(shù)

2012-04-26 13:19:05

2014-07-17 11:05:43

用友移動互聯(lián)網(wǎng)

2025-03-06 07:44:36

2019-09-04 16:06:56

戴爾Latitude

2009-11-26 10:34:21

2011-11-23 09:35:12

布線綜合布線網(wǎng)絡(luò)布線

2011-11-09 14:37:03

云計算

2025-04-25 09:10:00

2015-07-06 10:47:26

互聯(lián)網(wǎng)數(shù)據(jù)中心

2011-12-20 14:18:02

2013-02-26 11:19:40

思科網(wǎng)絡(luò)時代

2013-03-22 16:38:47

云中Office365微軟

2021-11-29 15:05:31

Commvault

2011-05-23 15:06:32

寶通一體機

2009-06-02 16:16:44

Struts2Java WEB開發(fā)技

2013-08-09 09:43:59

開放混合云OpenStack
點贊
收藏

51CTO技術(shù)棧公眾號