{eval=Array;=+count(Array);}
謝謝邀請(qǐng)!
作為一名從業(yè)多年的程序員,也出版過編程書籍,所以我來回答一下這個(gè)問題。
首先,編程語言與開發(fā)場景有較為密切的關(guān)系,如果程序員需要面對(duì)多種不同的開發(fā)場景,那么掌握多種不同的編程語言是有必要的,但是如果面對(duì)的開發(fā)環(huán)境比較單一,掌握多種語言也沒有太多的實(shí)際價(jià)值,所以是否需要掌握多種編程語言,主要由崗位開發(fā)任務(wù)來決定的。
目前在大數(shù)據(jù)和云計(jì)算技術(shù)的推動(dòng)下,程序員全棧化是一個(gè)比較明顯的發(fā)展趨勢,不僅要求后端程序員全棧化,前端程序員也在往全棧化方向發(fā)展。一方面原因是開發(fā)團(tuán)隊(duì)小型化趨勢明顯,這就要求程序員能夠完成多個(gè)角色的開發(fā)任務(wù),另一方面基于PaaS進(jìn)行軟件開發(fā)使得資源整合更加容易,這也進(jìn)一步打破了傳統(tǒng)前后端程序員的任務(wù)邊界。
以大數(shù)據(jù)應(yīng)用開發(fā)程序員為例,如果在Hadoop平臺(tái)下進(jìn)行開發(fā),通常會(huì)選擇Java語言,由于Hadoop本身就是采用Java語言開發(fā)的,所以在Hadoop平臺(tái)采用Java語言還是比較方便的。如果使用Spark平臺(tái),那么最好學(xué)習(xí)一下Scala,這樣在開發(fā)效率方面會(huì)得到一定程度的提升。另外,如果從事大數(shù)據(jù)分析工作,掌握Python也是有必要的。
對(duì)于Web程序員來說,通常既需要掌握一門后端開發(fā)語言(比如Java、Python、C#等),同時(shí)也需要熟練掌握前端開發(fā)語言,包括Html、CSS和JavaScript,另外還需要掌握Sql語言。
對(duì)于初學(xué)者來說,選擇一門“全場景編程語言”是不錯(cuò)的選擇,目前比較常見的全場景編程語言包括Java、Python和C#,另外可以重點(diǎn)關(guān)注一下JavaScript語言,雖然JavaScript主要的應(yīng)用領(lǐng)域集中在前端,但是目前JavaScript的應(yīng)用邊界也在不斷得到拓展。
最后,對(duì)于程序員來說,學(xué)習(xí)編程語言往往是開發(fā)任務(wù)驅(qū)動(dòng)的,一邊學(xué)習(xí)一邊使用也是比較常見的事情。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會(huì)陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評(píng)論區(qū)留言!
這個(gè)要看具體的需求,不要為了純粹學(xué)習(xí)編程語言而學(xué)習(xí)編程語言。
如果為了以備不時(shí)之需而學(xué)習(xí),本人以為大可不必。主要原因有如下幾點(diǎn):
1. 語言只是基本語法,單純學(xué)會(huì)了語言,沒有學(xué)習(xí)系統(tǒng)接口和庫函數(shù)等內(nèi)容,基本上也用不上。
2. 如果學(xué)的內(nèi)容長時(shí)間不用,基本很快會(huì)忘記。
3. 語言都是相通的,如果對(duì)某個(gè)語言很扎實(shí),想學(xué)其它語言非常快。
因此,本人以為,除非必要,或者實(shí)在閑的慌,否則沒有太多必要學(xué)習(xí)很多語言。
我覺得編程語言都是共性的,比如你學(xué)習(xí)了Java ,后面公司有安排你去學(xué)習(xí)Python,我相信你可以很快的上手 。高手都是總結(jié)每一種編程語言各自的特點(diǎn)。就好比擰不同的螺絲需要不同的螺絲刀,沒有最好的編程語言,只有最適用的編程語言,針對(duì)不同的開發(fā),選擇不同的編程語言,可以很方便地解決各類問題。
現(xiàn)在主流的編程語言都會(huì)追求一些編程思想,比如面向?qū)ο螅]包,函數(shù)式編程,協(xié)成,并發(fā)編程等,如果我們了解了這些編程思想在軟件開發(fā)中的作用,再去學(xué)習(xí)編程語言,你會(huì)發(fā)現(xiàn),所有語言都提供了一些語法,幫助我們更快速的實(shí)現(xiàn)上面的編程思想。如果精通一門語言的編程思想,舉一反三,我相信學(xué)習(xí)其他任何一門語言都是可以很快上手的 。
最后,如果有新手想要入門某一種語言的,可以私聊我,我給大家準(zhǔn)備了一份編程學(xué)習(xí)資源,希望可以幫助編程新手入門!
主要是以一門語言為主,但不建議學(xué)老語言。因?yàn)檎Z言之間都是互通的,都說c是基礎(chǔ)的語言,從c開始學(xué),但面向過程的語言現(xiàn)在看來怎么都有點(diǎn)不合適,隨后的c++,Java就可以迎合現(xiàn)在時(shí)代的要求,PHP也說是世界上最好的語言,更別說現(xiàn)在火的一塌糊涂的Python了。這個(gè)問題就像“現(xiàn)在windows這么多操作系統(tǒng) 我用不用多學(xué)幾個(gè)” 題主選一個(gè)符合現(xiàn)在時(shí)代需求的語言學(xué)下去就可以 而且一定要記住學(xué)語言是為了應(yīng)用,學(xué)了3 4門語言沒做過項(xiàng)目和學(xué)過一門語言完整帶過項(xiàng)目的人還是有差別的。
很有必要,不同的編程語言,在處理不同的問題上有不同的優(yōu)勢。例如,c語言在嵌入式開發(fā),偏底層驅(qū)動(dòng)相關(guān)的領(lǐng)域被大量應(yīng)用。Java則被應(yīng)用在后端和企業(yè)級(jí)應(yīng)用場景。有空多學(xué)一兩門編程語言,可以讓你多一種快速解決問題的方法。
不同的編程語音還可以開闊思維,提升個(gè)人抽象問題的能力。技多不壓身,沒錯(cuò)的
個(gè)人認(rèn)為學(xué)多沒必要,學(xué)精很有必要。在一個(gè)領(lǐng)域里,把可以輻射到的語言學(xué)習(xí)好,把常用的學(xué)精,才是正道。什么都去學(xué),又都只會(huì)皮毛,不如不學(xué)。所以還是要對(duì)一個(gè)領(lǐng)域挖掘透徹才好。
我個(gè)人認(rèn)為至少掌握一門編程語言。在工作之余可以學(xué)習(xí)其他編程語言作為儲(chǔ)備。但不要脫離實(shí)際。語言你不用就會(huì)忘記,浪費(fèi)了時(shí)間。
語言就是程序員的武器,如果把程序員比做特種兵的話c,java就是重型武器殺傷力巨大,但是不能干什么事什么場景都上重型武器不是,有些場景只需要一個(gè)腳本語言就可以解決的追求效率那沒必要用java來寫,用python ,shell能快速搞定,有些場景追求高并發(fā)就上java go c 語言,總之語言就是個(gè)工具,但是只會(huì)一種語言也不行,任何東西都是一個(gè)體系,一個(gè)主體其他為輔,那程序員就得以一個(gè)高級(jí)語言為主再學(xué)習(xí)一些腳本語言,根據(jù)場景而運(yùn)用之,靈活運(yùn)用,效率將會(huì)很高
有一個(gè)主編程語言,支持自己開荒,積極學(xué)習(xí)有用的其他語言,在必要時(shí)提升開發(fā)效率。
10
回答9
回答4
回答6
回答0
回答1
回答2
回答9
回答0
回答0
回答