成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一名優(yōu)秀的程序員需要精通幾種編程語言?

新聞
“編程小忍者”、“搖滾巨星開發(fā)者”、“編程高手”、“開源專家”、“多處理大亨”、“服務(wù)器大師”……一些奇怪術(shù)語的狂熱分子這樣稱呼多語言程序員。

本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery) 

“編程小忍者”、“搖滾巨星開發(fā)者”、“編程高手”、“開源專家”、“多處理大亨”、“服務(wù)器大師”……一些奇怪術(shù)語的狂熱分子這樣稱呼多語言程序員。

[[322697]]

我對多語言程序員的定義有所不同。韋氏詞典將“多語種”定義為語言或術(shù)語的混合或混淆。 聽起來好像帶有警告意味對嗎?

通常,多語種編程這一術(shù)語被認(rèn)為是尼爾·福特在2006年的一篇博客文章中提出的。2010年,迪安·萬普勒在演講中進(jìn)一步詳細(xì)解釋了福特的論文,他在其中重申了不同語言在不同領(lǐng)域的優(yōu)勢,并且程序員應(yīng)使用最適合的語言工具來完成工作。

多語言編程的思想起源于2000年代中期,是在身處Java生態(tài)系統(tǒng)的程序員群體中萌發(fā)的。

那時Java 語言已停滯不前,但Java虛擬機(jī)(JVM )是蓬勃發(fā)展的“非Java”語言社區(qū)的基礎(chǔ)。2003年的Groovy、2004年的Scala 、和2007年的Clojure都是很好的例子。

這些語言都提供了Java所沒有的功能,高階函數(shù)是其中最明顯的功能之一。有了這些新功能的幫助,程序員顯然可以輕松做到這些:使用Groovy處理可擴(kuò)展標(biāo)記語言(XML),或使用Scala處理嵌套結(jié)構(gòu),等等。

10多年過去了,多語言程序員的概念依舊方興未艾。

具體而言,多語言程序員至少要精通三種不同的編程語言。在理想情況下,混合使用語言可以提供強(qiáng)度、深度和多樣性,關(guān)鍵在于“截然不同”。

從技術(shù)角度來說,通曉Java、C++和ABAP的人可能會被視為多語言程序員。但是,由于上述三種語言都具有相似的、面向?qū)ο蟮母拍詈徒Y(jié)構(gòu),因此就算學(xué)了這三種語言也沒什么用。

正如加利福尼亞大學(xué)爾灣分校信息學(xué)的高級講師RichardPattis說得那樣:“編程語言不僅是用于不同工作的工具,也是一項能夠塑造你對于編程觀念的技術(shù)。學(xué)習(xí)類似的編程語言,可能不會對你思想的進(jìn)步帶來多大貢獻(xiàn)。”

為了拓寬思路,Pattis建議掌握多種編程語言的程序員要從不同的語言范式中學(xué)習(xí),無論是面向?qū)ο蟮恼Z言(如C++ /Java)、函數(shù)式語言(如ML和Haskell)、腳本語言(如Lisp和Python)、基于邏輯的語言(如Prolog)或底層語言(如C語言、Java虛擬機(jī)或機(jī)器語言)。關(guān)鍵不是要流利使用語言,而是掌握方法論,以全新方式處理問題。

優(yōu)秀程序員不僅會編寫代碼,而且還會不斷學(xué)習(xí)關(guān)鍵概念,進(jìn)而幫助他們以新方式解決問題,并找到最有效的解決方案。

成為一名多語言程序員在筆者看來益處良多以下這些就足以吸引人。

讓你在職場中更搶手

精通多種編程語言,不僅為你的簡歷增光添彩,也能表現(xiàn)出你很靈活、適應(yīng)能力強(qiáng),能夠使用優(yōu)秀工具來完成工作的能力。

它給了你更多機(jī)會,也會讓你從容面對行業(yè)衰退。有能力探索多種編程范式,你會感到快樂和高產(chǎn),這將反映在你的編碼風(fēng)格中。

通過利用業(yè)內(nèi)所有的優(yōu)秀方案,你將開發(fā)出更好的方法來編寫代碼。多語言程序員能夠嘗試不同的句法,了解不同的社區(qū)——對于任何程序員而言,這種不斷的探索都會是他們能經(jīng)歷的比較好的體驗之一。

掌握多語言還有助于你開展自己的業(yè)務(wù)。當(dāng)客戶找到你,并需要你的專業(yè)知識來解決他們的問題時,你的“工具庫”中有更多工具可選,并且可以為他們帶來比較大的價值。

成為最會解決問題的人,而不僅是程序員

如何最簡潔地定義程序員的工作?那就是“解決問題”。優(yōu)秀的程序員不能只編寫出色的代碼,還需使用手頭的優(yōu)秀工具來解決業(yè)務(wù)問題。

你也許不同意;“嘿,我是Java方面的佼佼者,我知道如何使用Java解決所有問題”。如果這樣想,你可能患有“錘子和釘子”綜合癥。

該綜合癥表現(xiàn)為,如果你有把錘子,那么每個問題對你來說就像一顆釘子。在這種情況下,你只有一把錘子(即Java),最終,你的思想將被局限于,不管是什么問題都要找出用Java解決的優(yōu)秀方法。換種說法,如果Java無法解決你的問題,你可能會陷入不知所措的困境。

現(xiàn)實中的確會遇到以前從未解決過的問題,你可能的方案很可能并不夠高效,但這是你唯一了解的辦法了。

學(xué)習(xí)一門新語言開闊了解決問題的思路。你的思維將擺脫特定語言的束縛,并開始從不同角度看待問題。這將顯著提高你使用當(dāng)前語言的能力,你可能會發(fā)現(xiàn)自己冒出了更有效的解決問題的新想法。

進(jìn)入學(xué)習(xí)模式

當(dāng)你開始學(xué)習(xí)一門新的編程語言時會發(fā)生什么呢?

你會認(rèn)真鉆研書籍、消化示例代碼、并嘗試多樣的示例。你會發(fā)現(xiàn)一些可以幫助你正確學(xué)習(xí)語言的論壇、當(dāng)?shù)貓F(tuán)體、同事或其他任何在使用新語言方面經(jīng)驗更為豐富的人。這些人可以在學(xué)習(xí)過程中幫助指導(dǎo)思考過程。你會開始活躍在社區(qū)論壇中,并開始定期提問。

簡而言之,你將立即進(jìn)入學(xué)習(xí)模式。這就像在健身房鍛煉。最初,肌肉酸痛不堪,但一段時間后,肌肉適應(yīng)了鍛煉周期,便不再像之前一樣酸痛。且肌肉生長的同時,耐力和力量也增加了。

學(xué)習(xí)對你的大腦也有同樣的作用。大腦一旦適應(yīng)了新概念學(xué)習(xí)曲線,如一門新編程語言,最終會使大腦更加敏捷,適應(yīng)能力更強(qiáng)。這將幫助你在日常工作中更有效地完成任務(wù),并更輕松地適應(yīng)日常使用的各種技術(shù)之間的細(xì)微差別。

例如,一位掌握如ABAP這樣的業(yè)務(wù)語言的Java開發(fā)人員,可以很輕松地將共享對象概念與業(yè)務(wù)術(shù)語建立聯(lián)系,并發(fā)揮其用途。

最終,你的學(xué)習(xí)能力得到了增強(qiáng)。隨著時間的流逝,學(xué)習(xí)新事物對你而言,將變得越來越容易、也越來越快。

注意事項

盡管學(xué)習(xí)多種編程語言有許多益處,但其帶來的挑戰(zhàn)也不少。

在《JavaScript:語言精粹》一書中,道格拉斯·克羅克福德討論了JavaScript的優(yōu)缺點。每種語言都有其自身的一系列挑戰(zhàn),如果頻繁更換編程語言的學(xué)習(xí),卻不花足夠時間鉆研,你可能最終會“萬事通,萬事松”。

如果不能達(dá)到精通新語言的程度,那么多語言能力很可能會成為你的致命弱點。不斷地學(xué)習(xí)和適應(yīng)新語言與技術(shù)的過程也可能使開發(fā)人員疲于奔命。同步保持所有技術(shù)的學(xué)習(xí)進(jìn)度是很難的,且你很可能會發(fā)現(xiàn)自己在學(xué)習(xí)道路上四處奔波,結(jié)果卻一無所獲。

關(guān)鍵是要學(xué)習(xí)難度適中、專注于自己能夠消化的知識,并在達(dá)到學(xué)習(xí)極限后及時收手。一旦選擇好完成工作的優(yōu)秀工具,并獲得優(yōu)秀表現(xiàn)后,可停止學(xué)習(xí)并專心鞏固習(xí)得。凡事應(yīng)有度,切莫過頭。

恰如艾倫·佩利(Alan Perlis)所說:“如果一種語言不能影響你對編程的思考方式,你就用不著學(xué)它了。”

請記住,智慧在于理解學(xué)習(xí)新語言的成本,從中獲得的收益應(yīng)始終大于成本。

 

 

責(zé)任編輯:華軒 來源: 讀芯術(shù)
相關(guān)推薦

2017-09-21 09:44:00

編程程序員軟件開發(fā)

2011-05-03 08:54:36

2021-01-03 10:30:54

編程程序員

2014-02-26 13:01:01

程序員趣聞

2021-02-05 14:56:39

YouTube編程程序員

2020-12-01 08:36:10

代碼程序員函數(shù)

2016-10-21 15:57:10

2015-07-28 10:39:34

程序員知識

2009-02-10 15:39:59

軟件評測師軟考經(jīng)驗

2016-06-27 10:40:12

軟件測試敏捷開發(fā)

2017-03-27 16:02:06

安全主管信息安全

2013-02-22 10:21:06

2011-11-09 13:52:04

程序員

2014-12-23 09:40:41

CTO

2009-11-04 11:54:33

程序員職業(yè)水準(zhǔn)

2014-05-22 10:43:26

移動開發(fā)者優(yōu)秀

2013-09-25 10:47:25

創(chuàng)新公司員工

2014-12-26 10:13:41

程序員

2021-05-25 09:51:42

架構(gòu)運維技術(shù)

2021-06-30 10:48:30

VueReact前端
點贊
收藏

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

主站蜘蛛池模板: 久久福利电影 | 国产精品九九 | 欧美一区不卡 | 亚洲国产成人一区二区 | 国产在线精品一区二区三区 | 欧美男人天堂 | 成人在线小视频 | 国产视频精品区 | 精品1区| 亚洲人在线| 欧美日韩亚洲一区 | 亚洲精品国产综合区久久久久久久 | 中文字幕第一页在线 | 亚洲精品视频在线 | 亚洲精品视频免费观看 | 免费a网站 | 国产亚洲网站 | 青草福利| 国产精品亚洲综合 | 亚洲国产高清高潮精品美女 | 91欧美精品成人综合在线观看 | 蜜桃av鲁一鲁一鲁一鲁 | 成人免费三级电影 | 亚洲精品视频免费 | 男女爱爱福利视频 | 在线观看精品视频网站 | 国产欧美综合在线 | 亚洲第一天堂无码专区 | 毛片免费在线 | 国产成人免费视频网站高清观看视频 | 亚洲国产精品久久久 | 国产日日操 | 天天想天天干 | 国产精品成人在线播放 | 国产一区二区在线视频 | 久久综合伊人 | 精品成人免费一区二区在线播放 | 中文字幕乱码亚洲精品一区 | 99久久中文字幕三级久久日本 | 精品在线一区 | www国产成人免费观看视频,深夜成人网 |