學(xué)習(xí)哪門編程語(yǔ)言最有前途,最好賺錢,需求量高
回答者卡特·佩基(Carter Page),谷歌(Google)工程經(jīng)理
我的答案很短,但是由于這是一個(gè)需要站隊(duì)的討論,所以我先要介紹一些背景。
我聘用過(guò)許多軟件工程師,他們身上最有價(jià)值的技能就是學(xué)習(xí)并迅速掌握一門編程語(yǔ)言的能力。
幾年前,有一家境外公司為我們提供Java程序,他們的質(zhì)量一直不太穩(wěn)定。我可以通過(guò)翻閱簡(jiǎn)歷來(lái)打造一個(gè)遠(yuǎn)程團(tuán)隊(duì),但是我沒(méi)法和他們進(jìn)行面試,因?yàn)樗麄儾粫?huì)說(shuō)英語(yǔ)。不過(guò)這種限制倒是帶來(lái)了一個(gè)有趣的實(shí)驗(yàn)。
這些程序員的簡(jiǎn)歷看起來(lái)很不錯(cuò),都有著幾年的工作經(jīng)歷。但是,他們寫的代碼依然有bug,不順暢,結(jié)構(gòu)組織也不好。作為一種實(shí)驗(yàn),我開始聘用會(huì) C++語(yǔ)言的程序員。他們之中有的人不會(huì)Java,但是我愿意給他們一周的帶薪學(xué)習(xí)時(shí)間。在同事的幫助下,他們學(xué)習(xí)了這種新的語(yǔ)言和習(xí)慣用法,并變得和我 們一流的Java程序員一樣優(yōu)秀。
所以我的簡(jiǎn)短的回答就是:學(xué)習(xí)C語(yǔ)言或C++
你可能永遠(yuǎn)不會(huì)在工作中用到它,但是卻可以因此受益終身。那些需要頂級(jí)程序員來(lái)解決的大難題或多或少都會(huì)涉及到一些基礎(chǔ)的C語(yǔ)言。
用C語(yǔ)言開發(fā)的有:
用ANSI C開發(fā)的Java虛擬機(jī)
用C語(yǔ)言開發(fā)的Linux(有些還包括其他語(yǔ)言,但是C語(yǔ)言最主要)
用C語(yǔ)言開發(fā)的Python
用C語(yǔ)言開發(fā)的Mac OS X kernel
用C語(yǔ)言和C++開發(fā)的Windows
用C語(yǔ)言和C++開發(fā)的甲骨文(Oracle)數(shù)據(jù)庫(kù)
用于連接互聯(lián)網(wǎng)的思科路由器(Cisco Router)也是用C語(yǔ)言開發(fā)的
隨便說(shuō)出一個(gè)基礎(chǔ)的、復(fù)雜的和性能關(guān)鍵的程序,那都是在C語(yǔ)言的基礎(chǔ)上加上少數(shù)其他編程語(yǔ)言開發(fā)出來(lái)的。
掌握C語(yǔ)言會(huì)讓你成為一個(gè)更優(yōu)秀的Java程序員。你會(huì)知道JVM什么時(shí)候用堆棧、什么時(shí)候用堆,以及那都意味著什么。你會(huì)對(duì)無(wú)用單元收集更敏感。你會(huì)對(duì)對(duì)象與原語(yǔ)的相對(duì)性能成本有著更好的認(rèn)識(shí)。
掌握C++會(huì)讓你成為一個(gè)更優(yōu)秀的Python程序員。Python的class機(jī)制主要是通過(guò)C++建立的。想要維護(hù)好它,你必須學(xué)會(huì)寫出干凈整齊的代碼。你會(huì)學(xué)會(huì)對(duì)全局變量多加小心。
掌握C語(yǔ)言會(huì)讓你成為一個(gè)更優(yōu)秀的Objective-C程序員。你會(huì)知道如何管理refcount以及哪些代碼應(yīng)該“擁有”對(duì)象。你會(huì)能夠避免存儲(chǔ)滲漏。
那么,C語(yǔ)言和C++哪個(gè)更好?我稍微傾向于C++一點(diǎn),因?yàn)殡m然兩者非常相似,但是通過(guò)C++你還可以獲得面向?qū)ο缶幊蹋╫bject- oriented programming)這個(gè)額外收獲。即使你決定只用函數(shù)式語(yǔ)言編程,學(xué)習(xí)如何從面對(duì)對(duì)象的角度思考,仍然可以讓你掌握對(duì)制作和維護(hù)大型項(xiàng)目至關(guān)重要的 組織模式。
所以,或許在供求不太正常的較短時(shí)期里,你的時(shí)薪會(huì)相對(duì)較低,但是一旦你掌握了C語(yǔ)言,你就能夠?qū)W會(huì)其他各種編程語(yǔ)言。因?yàn)槿绻f(shuō)這個(gè)行業(yè)有什么長(zhǎng)久不變的東西的話,那就是今天的熱門技能在幾年后就會(huì)變成罕見的獨(dú)特存在。學(xué)習(xí)技能背后的技能,你會(huì)走得更遠(yuǎn)更好。
必須說(shuō)明的是:
我從來(lái)沒(méi)說(shuō)過(guò)你應(yīng)該靠C語(yǔ)言編程來(lái)生存,或者你應(yīng)該只學(xué)習(xí)C語(yǔ)言,或者用C語(yǔ)言編程要比用Foobar更賺錢??偟膩?lái)說(shuō),除非有非常充足的原因,你甚至不應(yīng)該用C語(yǔ)言開發(fā)自己的應(yīng)用。
但是你仍然應(yīng)該學(xué)習(xí)C語(yǔ)言。因?yàn)槠渌木幊陶Z(yǔ)言都是用它來(lái)理解物理計(jì)算機(jī)的。你可以在其他程序員還在撓頭的時(shí)候?yàn)t灑地邁著勝者的步伐。這會(huì)讓你從長(zhǎng)期而言更“有水平”,賺更多的錢。
如果你想成為最優(yōu)秀、賺的最多的F1方程式車手,那么就去學(xué)習(xí)一下引擎知識(shí)。不是因?yàn)檫@是你的工作,而是因?yàn)檫@會(huì)讓你把工作做得更好。而且,隨著車子不斷變化演進(jìn),你也就能識(shí)別出其中的不同之處。
轉(zhuǎn)自:福布斯中文網(wǎng)
很多學(xué)員問(wèn)我不知道該學(xué)什么編程好,現(xiàn)在出了一份程序員調(diào)查,新手可以參考下
小風(fēng)推薦大學(xué)生學(xué)Java編程語(yǔ)言,
java是目前最流行的編程語(yǔ)言,
而且最熱門的安卓技術(shù)、ios都是建立在java編程語(yǔ)言基礎(chǔ)上的,
java容易學(xué),就業(yè)廣,是大學(xué)生理想的選擇。
最有前途:C++
最好賺錢:PHP 開發(fā)建站,基本上后臺(tái)使用的都是這個(gè),需求量大。
需求量高:Java 容易就業(yè)
相關(guān)文章
bs架構(gòu)和cs架構(gòu)的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了bs架構(gòu)和cs架構(gòu)的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Trie樹_字典樹(字符串排序)簡(jiǎn)介及實(shí)現(xiàn)
有時(shí),我們會(huì)碰到對(duì)字符串的排序,若采用一些經(jīng)典的排序算法,則時(shí)間復(fù)雜度一般為O(n*lgn),但若采用Trie樹,則時(shí)間復(fù)雜度僅為O(n)2014-03-03MyBatisCodeHelper-Pro插件破解版詳細(xì)教程[2.8.2]
MyBatisCodeHelper-Pro是IDEA下的一個(gè)插件,功能類似mybatis plugin。這篇文章給大家介紹MyBatisCodeHelper-Pro插件破解版[2.8.2]的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2020-09-09gradle+shell實(shí)現(xiàn)自動(dòng)系統(tǒng)簽名
這篇文章主要介紹了gradle+shell實(shí)現(xiàn)自動(dòng)系統(tǒng)簽名的相關(guān)資料,需要的朋友可以參考下2019-08-08