點(diǎn)擊上方藍(lán)色“ 網(wǎng)路冷眼” 可以訂閱哦! 你知道我真的很討厭什么嗎? 針對(duì)程序員的技術(shù)文章,解釋了 為什么 你應(yīng)該做的事情,可是作者一點(diǎn)不談及 任何個(gè)人經(jīng)驗(yàn) 。 講真 - 你怎么能相信一個(gè)從來(lái)沒(méi)有蹲過(guò)戰(zhàn)壕,開(kāi)過(guò)槍,掛過(guò)彩而凱旋而歸的人? 我把一個(gè)不同的方法放在一起這篇文章,寫(xiě)了一些我相信其他程序員喜歡自己想聽(tīng)到: 關(guān)于Python編程語(yǔ)言的七個(gè)真實(shí)的個(gè)人故事,以及它在我的職業(yè)生涯中如何幫助我。我不在這里為Python傳播福音。 我不在這里告訴你Python是“最好的編程語(yǔ)言”(無(wú)論什么意思)。 我甚至不會(huì)告訴你“嘗試”用Python構(gòu)建你的下一個(gè)項(xiàng)目,因?yàn)槲也恢滥愕南乱粋€(gè)項(xiàng)目到底是什么,還有Python是否會(huì)是一個(gè)很好的選擇。 相反,我的目標(biāo)是作為一個(gè)與你相關(guān)程序員,我將分享一些作為程序員的職業(yè)生涯中的個(gè)人故事,并希望你能看到自己的一些部分影子。 如果你堅(jiān)持閱讀本文的其余部分,我想你會(huì)得到我?guī)啄昵暗耐瑯拥慕Y(jié)論 -無(wú)論你是否意識(shí)到,Python將會(huì)影響你的未來(lái)。那么為什么不學(xué)Python呢? 言歸正傳,讓我們深入了解選擇Python 的理由吧。 #1 第一次做程序員?快速學(xué)會(huì)Python 我記得我第一次拿起一本程序設(shè)計(jì)書(shū)那是在15年前。 那時(shí)我只是一個(gè)孩子,可能最多是13歲。 Andrew ,我的一個(gè)發(fā)小,把我領(lǐng)入到了計(jì)算機(jī)世界。他向我展示了電腦不只是連接到互聯(lián)網(wǎng)和訪問(wèn)網(wǎng)站,還有七七八八的功能。 他向我展示了HTML的基礎(chǔ)知識(shí),以及如何使用“標(biāo)簽”以及基本標(biāo)記語(yǔ)言真正 構(gòu)建 網(wǎng)站。 從那時(shí)候起,我一直沉迷其中,不能自拔。 肆無(wú)忌憚的控制水平、創(chuàng)作者任意揮灑的自由、藝術(shù)家魔術(shù)般的畫(huà)布。這一切,讓我感覺(jué)是一個(gè)正在創(chuàng)造奇跡的程序員。 第二天早上,我懇求我的媽媽帶我去當(dāng)?shù)氐膱D書(shū)館,如此我可以更多地了解計(jì)算機(jī)編程。 也許不奇怪,目光所及第一本書(shū)的標(biāo)題中有“ BASIC ”一詞。對(duì)于初學(xué)者,這個(gè)名字一定會(huì)吸引你。 整個(gè)夏天(和安德魯?shù)膸椭拢?,我使用這本書(shū)來(lái)學(xué)習(xí)編程的基礎(chǔ)知識(shí),基本的控制結(jié)構(gòu),以及如何組織一個(gè)程序。 但在將要結(jié)束的某一天,我感到非常失望 – 隨著秋季學(xué)期的到來(lái),我?guī)缀醴艞壛司幊獭?/strong> 咋回事呢? 原來(lái)我不能用BASIC做任何超“ 酷 ”的東西出來(lái) - 這種語(yǔ)言的本質(zhì)是非常有限和礙手礙腳(這是莫大的諷刺,因?yàn)槲椰F(xiàn)在使用的Python,就是以在吃之前擠壓并破壞所捕獲獵物的蛇:snake:命名的)。 我無(wú)法訪問(wèn)低級(jí)系統(tǒng)資源。 我無(wú)法加載和操作圖像。 我無(wú)法做任何類型的統(tǒng)計(jì)或計(jì)算分析? 忘掉它吧! 盡管我花了所有的時(shí)間 學(xué)習(xí)如何編程 ,但我不能展現(xiàn)任何東西。 所有的說(shuō),我向前走。我意識(shí)到我的編程“生涯”不必在BASIC 止步。 在我高中的一年級(jí)期間,我轉(zhuǎn)向?qū)W習(xí)C / C ++。這是一個(gè)更難的語(yǔ)言,花了我一段時(shí)間來(lái)精通它。我真的喜歡C給了我的自由,即使這意味著有時(shí)是搬起石頭砸自己的腳。 在學(xué)習(xí)C / C ++之后,我轉(zhuǎn)向?qū)W習(xí)Java和面向?qū)ο蟮木幊?。這很有趣,但感覺(jué)它做任何事情都想獲得 永垂不朽 。 在大高二學(xué)年結(jié)束時(shí),我第一次嘗試了腳本語(yǔ)言:具體來(lái)說(shuō),Python! 那時(shí)寶寶都驚呆了,竟然有這么棒的語(yǔ)言! 代碼 可讀性超好 - 幾乎像寫(xiě)初級(jí)英語(yǔ)或簡(jiǎn)單的抽象數(shù)學(xué)那樣輕松自如。 對(duì)代碼本身而言也具有面向?qū)ο蟮娘L(fēng)格。Python 不是像Java一樣的極端,一點(diǎn)即通,如老友重逢。 也許最令人驚訝的是我的代碼看起來(lái)多么 優(yōu)雅! 使用空格保證了我的代碼被整齊地組織成整齊的小塊。通過(guò)遵循基本編碼標(biāo)準(zhǔn)和建議,第一天結(jié)束時(shí)我使用語(yǔ)言就寫(xiě)了漂亮的、易于維護(hù)的代碼。 回想起來(lái),我多么希望我使用Python 開(kāi)始學(xué)習(xí)編程的。 當(dāng)然,BASIC教給我基本的編程,但以相同的、簡(jiǎn)單的方式,Python照樣能夠完成同樣的任務(wù)。 如果時(shí)光能夠倒流,我會(huì)毫不猶豫跳過(guò)BASIC完全走向Python 的學(xué)習(xí)。我會(huì)享受更多愉快的體驗(yàn),獲得了更好的時(shí)間投資回報(bào),并更好地準(zhǔn)備學(xué)習(xí)C/ C + +和Java。 #2 Python用于Web開(kāi)發(fā) 我承認(rèn): 當(dāng)我第一次開(kāi)始編寫(xiě)Web應(yīng)用程序時(shí),我并沒(méi)有使用Python - 我使用了PHP。 事實(shí)上,那時(shí)我對(duì)PHP 情有獨(dú)鐘,我甚至不會(huì)考慮應(yīng)用另一種編程語(yǔ)言可能對(duì)Web開(kāi)發(fā)更好的可能性。 但是我錯(cuò)了。 徹徹底底地錯(cuò)死了。 直到我的朋友Patrick告訴我Python網(wǎng)絡(luò)框架Django,我的心才變好了。 在PHP中花費(fèi)了 數(shù)個(gè)小時(shí) 的時(shí)間的任務(wù)可以使用Python 分分鐘 搞定。 更不用說(shuō),事實(shí)上,我的代碼是更快、更穩(wěn)定了。 Django 之后,我轉(zhuǎn)向?qū)W習(xí)Flask,另一個(gè)Web 框架,雖然微小,但具有很強(qiáng)的構(gòu)建可定制性。 一旦我開(kāi)始使用Django和Flask,我從來(lái)沒(méi)有回頭再使用PHP。 雖然大多數(shù)網(wǎng)站仍然運(yùn)行在PHP之上,但許多 新的 Web應(yīng)用程序正在使用Python來(lái)構(gòu)建。 如果你打算做任何Web應(yīng)用程序開(kāi)發(fā),嘗試Python和Django / Flask 吧。 我想你會(huì)印象深刻,感覺(jué)良好。 #3 Python 驅(qū)動(dòng)創(chuàng)業(yè)公司成功 創(chuàng)業(yè)公司要想成功絕非一夜之功。 相反,它來(lái)自一系列 迭代過(guò)程 ,通??雌饋?lái)像這樣子的:
這個(gè)過(guò)程允許創(chuàng)業(yè)公司“邁向”成功之路。從一個(gè)想法開(kāi)始,然后細(xì)化想法和產(chǎn)品,直到最后“成功了”。 在網(wǎng)絡(luò)世界中,Python是這個(gè)過(guò)程的理想選擇。 該語(yǔ)言允許您 快速編碼 ,使用最少的代碼行(比Java小5倍,比C ++少10倍)來(lái)構(gòu)建復(fù)雜應(yīng)用程序。 迅速?gòu)? 創(chuàng)意到實(shí)現(xiàn) 是創(chuàng)業(yè)世界獲得成功的 關(guān)鍵 ,所以如果你有興趣與創(chuàng)業(yè)公司合作,我強(qiáng)烈建議你學(xué)習(xí)Python。 就我個(gè)人而言,我從18歲開(kāi)始就在創(chuàng)業(yè)公司工作。 無(wú)論特定的產(chǎn)品是基于網(wǎng)絡(luò),移動(dòng)或企業(yè)的,作為核心產(chǎn)品的一部分或作為支持實(shí)用程序,Python 最終 都找到了進(jìn)入公司的路徑。我毫不懷疑這種趨勢(shì)在未來(lái)仍將繼續(xù)。 #4 想要高薪嗎?成為一個(gè)Python程序員吧! 在由Indeed.com創(chuàng)建并由codementor.io發(fā)布的2016年開(kāi)發(fā)人員薪水研究中,發(fā)現(xiàn)Python開(kāi)發(fā)人員的平均工資是107,000美元: 基于這項(xiàng)研究,Swift,Python,Ruby,C ++和Java將讓你賺更多的錢(PHP墊底)。 考慮到移動(dòng)應(yīng)用程序的貨幣化,也許Swift高居榜首并不奇怪,因?yàn)樗ǔS糜陂_(kāi)發(fā)iOS和macOS應(yīng)用程序。 但Swift下面緊隨其后就是Python和Ruby:前五個(gè)中只有兩種腳本語(yǔ)言。 雖然Ruby是一種通用編程語(yǔ)言,適用于許多應(yīng)用程序,但是當(dāng)輪詢一組Ruby開(kāi)發(fā)人員時(shí),會(huì)發(fā)現(xiàn)他們正在使用Ruby進(jìn)行Web開(kāi)發(fā)。 Python在另一方面是不同的: 它更多樣化 。 不要誤會(huì)我,你會(huì)毫無(wú)疑問(wèn)地看到許多程序員使用Python進(jìn)行Web開(kāi)發(fā),但 你也會(huì)看到Python為科學(xué)應(yīng)用程序提供動(dòng)力 。 根據(jù)我個(gè)人的經(jīng)驗(yàn),我可以告訴你,我認(rèn)同這個(gè)薪酬排行榜。 當(dāng)我作為一個(gè)PHP開(kāi)發(fā)人員工作時(shí),我在我的職業(yè)生涯中賺到錢最少。 然后我轉(zhuǎn)向Java和企業(yè)開(kāi)發(fā)時(shí),我撞上了大運(yùn)。 但是,直到我開(kāi)始在計(jì)算機(jī)科學(xué)Python社區(qū)工作時(shí),才發(fā)生 真正的變化 。 雖然是道聽(tīng)途說(shuō),但是我 真的相信 Python比Ruby打開(kāi)更多的門, 特別是從科學(xué)的立場(chǎng)上看 。 我的預(yù)測(cè)是,鑒于Python不僅是一種通用的編程語(yǔ)言,而且也是一門 科學(xué)的編程語(yǔ)言 ,我們很快就會(huì)看到Python在更高的薪水方面接管了Ruby ,掙得更多。 #5 想進(jìn)入安全領(lǐng)域嗎?先進(jìn)入 Python 世界吧 五個(gè)月前,我的一個(gè)一起健身的朋友介紹我認(rèn)識(shí)他的兒子Sean。 Sean剛剛從高中畢業(yè),并在秋季學(xué)期前往芝加哥大學(xué)上學(xué)。 我對(duì)他的專業(yè)產(chǎn)生了好奇,我問(wèn)Sean他計(jì)劃學(xué)習(xí)哪些課程。 他回答說(shuō)是網(wǎng)絡(luò)安全。 網(wǎng)絡(luò)安全是一個(gè)超棒的領(lǐng)域,多金,可以掙得盆滿缽滿。 想想看 - 網(wǎng)絡(luò)安全的運(yùn)營(yíng)與一個(gè)圍繞停尸房和殯儀館設(shè)計(jì)的業(yè)務(wù)有許多相似之處。 這可能是可怕的,但人們會(huì)繼續(xù)死亡;除非我們神奇地找到生命的靈丹妙藥,否則殯儀館商業(yè)機(jī)不會(huì)停滯。 同樣,從來(lái)不缺少網(wǎng)絡(luò)攻擊。甚至有人猜測(cè),下一次世界大戰(zhàn)將在網(wǎng)絡(luò)空間中打得你死我活,而不是通過(guò)部隊(duì)在真實(shí)世界里真槍實(shí)彈的開(kāi)戰(zhàn)。 Sean告訴我關(guān)于他的高中的編程課程,他如何兩年的時(shí)間里學(xué)習(xí)Java、面向?qū)ο蟮木幊毯蛙浖O(shè)計(jì)。 雖然我印象深刻,他的培訓(xùn)甚至 有 兩年的程序設(shè)計(jì)課程,但是當(dāng)我聽(tīng)到他們沒(méi)有教授任何腳本語(yǔ)言,我感到有點(diǎn)難過(guò)。 在圣誕節(jié)休息期間,我碰到了 Sean,問(wèn)他如何享受芝加哥大學(xué)的快樂(lè)時(shí)光的。 他做得很好。 他正在與他所有的計(jì)算機(jī)科學(xué)課程翩翩起舞。 他加入了學(xué)校的網(wǎng)絡(luò)安全團(tuán)隊(duì)... ...他甚至在學(xué)習(xí)Python。我咧嘴笑了,因?yàn)槲乙呀?jīng)知道答案,我問(wèn)他:“什么讓你學(xué)習(xí)Python? 他回答說(shuō):“這很容易,人!你可以用Python做任何事情啊。當(dāng)我第一次加入網(wǎng)絡(luò)安全團(tuán)隊(duì)時(shí),我使用Java編寫(xiě)滲透測(cè)試程序。我花了幾個(gè)小時(shí)寫(xiě)的程序,而我的同行分分鐘搞定?!?/p> Sean 認(rèn)識(shí)到了腳本語(yǔ)言的力量。 雖然你可能犧牲一些執(zhí)行速度,但你獲得了更多的靈活性,編寫(xiě)代碼的設(shè)施,最重要的是, 具有快速實(shí)驗(yàn)的能力 。 我的觀點(diǎn)是,Python包括所有這些世界中最好的東西。如果你還沒(méi)有嘗試過(guò),那么你真的應(yīng)該試一試。 #6 Python是AI和機(jī)器學(xué)習(xí)的未來(lái) Python編程語(yǔ)言目前正在推動(dòng)科學(xué)編程普及,但原來(lái)的情況并非總是如此。 多年來(lái) ,學(xué)者和私人研究人員一直使用MATLAB語(yǔ)言進(jìn)行科學(xué)研究。 這一切都開(kāi)始隨著Python數(shù)值計(jì)算引擎(如NumPy和SciPy)的發(fā)布而改變,允許通過(guò)單個(gè)“import”語(yǔ)句后跟一個(gè)函數(shù)調(diào)用來(lái)完成復(fù)雜的計(jì)算。 雖慢但確實(shí),Python開(kāi)始接管作為計(jì)算機(jī)科學(xué)研究的首選語(yǔ)言。 事實(shí)上,我用Python編寫(xiě)了我的博士論文中 所有 用于收集結(jié)果的代碼。 當(dāng)我畢業(yè)獲得學(xué)士學(xué)位時(shí),即使非計(jì)算機(jī)科學(xué)的學(xué)生已經(jīng)開(kāi)始自學(xué) Python 和使用它來(lái)推動(dòng)自己的研究。你將看到非計(jì)算機(jī)科學(xué)家利用Python, ,計(jì)算生物學(xué)是一個(gè)很好的例子。 這些天我花更多的時(shí)間編寫(xiě)科學(xué)的Python代碼比任何語(yǔ)言都多,所以雖然我明顯有失偏頗,但我還是可以告訴你: Python是人工智能的未來(lái)。考慮到語(yǔ)言的靈活性,其速度以及提供的機(jī)器學(xué)習(xí)功能庫(kù)(如scikit-learn,Keras和TensorFlow),我們將繼續(xù)看到Python在機(jī)器學(xué)習(xí)領(lǐng)域占據(jù)主導(dǎo)地位。 在我心中毫無(wú)疑問(wèn):如果你對(duì)計(jì)算機(jī)科學(xué)研究 甚感興趣 , 你應(yīng)該學(xué)習(xí)Python 。 #7 不做只會(huì)一招半式的碼農(nóng) 在這個(gè)過(guò)去的夏天,我設(shè)置了我的第一個(gè)美國(guó)401k養(yǎng)老金計(jì)劃。 我和我的財(cái)務(wù)顧問(wèn)聊了多次天,討論各種投資工具和策略,以及分配我的投資組合的不同方法。 不管對(duì)話如何開(kāi)始,但最后都指向同一個(gè)地方: 管理我的風(fēng)險(xiǎn),更具體地說(shuō),如何將風(fēng)險(xiǎn)降到最小。在投資界,這簡(jiǎn)單歸結(jié)為“不把你的所有雞蛋放在同一個(gè)籃子里?!比绻愕粝禄@子,那么所有的雞蛋都摔破了。 因此,你的目標(biāo)是多樣化:把一大塊錢投入大公司股票,將另一塊(較?。┑膲K投入小/中型公司股票,然后將另一塊投入債券,最后剩余的金額進(jìn)入國(guó)外市場(chǎng),貴金屬,等等領(lǐng)域。 有意義,對(duì)吧? 如果你把 所有 的錢放入股票,市場(chǎng)再次碰到像2008年那樣的經(jīng)濟(jì)危機(jī),那么你的退休投資組合將被完全粉碎。通過(guò)多樣化,您將風(fēng)險(xiǎn)降至最低。 無(wú)論相信或不相信,編程世界并沒(méi)有什么不同。 在過(guò)去的十年中,盡管擁有編程專業(yè)化技能變得越來(lái)越有價(jià)值,但是你必須小心不要把自己當(dāng)作“那個(gè)做Java 的家伙”或“那個(gè)做C ++的家伙”。 雖然擁有一個(gè)利基和特色是非常重要的,但你也需要使自己適應(yīng)市場(chǎng)的意識(shí)。例如,我是一個(gè)程序員,我 專門 從事計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)。 但是,我 不 只是一個(gè)“做Python的家伙”或“做OpenCV的家伙”。 我使用Java來(lái)構(gòu)建大規(guī)模的企業(yè)和政府應(yīng)用程序。 我使用C ++工作在實(shí)時(shí)應(yīng)用程序。 我甚至定制PHP應(yīng)用程序,以擴(kuò)展到成千上萬(wàn)的用戶。 我的觀點(diǎn)就是: 讓簡(jiǎn)歷更加豐富多彩 。 盡管我有一個(gè)利基,知道我的利基,但我也可以承擔(dān)任何其他任務(wù)。 如果你沒(méi)有Python在手,考慮把它添加到你的劇目,并增加作為一個(gè)程序員所需的多元化和市場(chǎng)意思。 現(xiàn)在怎么辦? 所以,你準(zhǔn)備好學(xué)習(xí)Python, 但是你怎么開(kāi)始? 我會(huì)在下個(gè)月回來(lái)回答這個(gè)問(wèn)題,并提供我最喜歡的學(xué)習(xí)Python編程語(yǔ)言的資源。 回頭見(jiàn)! 參考: 7 Reasons Why You Should Learn Python RightNow https:///2017/01/18/7-reasons-why-you-should-learn-python/ 長(zhǎng)按二維碼可以關(guān)注“網(wǎng)路冷眼”
|
|
來(lái)自: Levy_X > 《人工智能大數(shù)據(jù)云服務(wù)》