作為一名軟件開發(fā)人員,學(xué)習(xí)更多的編程語言是促進(jìn)職業(yè)發(fā)展的一種方式。一般來說,你懂的語言越多,你對(duì)雇主的吸引力就越大,你的編程薪水也就越高。
但許多程序員面臨的問題是:在掌握了一門主要語言之后,最好的“次要”語言是什么?換句話說,如果你目前精通一門語言,接下來應(yīng)該學(xué)習(xí)哪門語言來補(bǔ)充你的主要編程技能?
這個(gè)問題沒有唯一的最佳答案,但在選擇輔助編程語言時(shí),您可以考慮不同的策略。
選項(xiàng)1:專注于最流行的語言
如果你是一名程序員,希望能夠參與盡可能多的項(xiàng)目,那么你的主要語言很可能在最流行的編程語言列表中排名非常靠前。
為了進(jìn)一步提高你使用廣泛使用的語言的能力,走出去學(xué)習(xí)另一門排名靠前的語言作為你的第二語言是有意義的。
一個(gè)明顯的例子是,目前專攻Python/ target=_blank class=infotextkey>Python(這是目前最流行的語言)的程序員決定學(xué)習(xí)JAVA(另一種非常流行的語言)。
這種策略可能不是最有趣的,因?yàn)槟阋獙W(xué)習(xí)的是流行的東西,而不一定是你最感興趣的東西。它也不一定會(huì)讓你在某一方面脫穎而出,因?yàn)檎莆枕敿?jí)語言的程序員比比皆是。
然而,現(xiàn)實(shí)情況是,有數(shù)十億行代碼是用最流行的語言編寫的,你知道的流行語言越多,你處理所有這些代碼的能力就越強(qiáng)。
選擇2:有特別的專注地學(xué)習(xí)一門語言
選擇第二語言的另一個(gè)更有趣的策略是學(xué)習(xí)一門滿足特定需求的語言。如果您目前知道一種流行的通用語言,但希望能夠通過使用第二語言滿足特定需求或用例而脫穎而出,那么這種方法可以很好地發(fā)揮作用。
例如,如果你的主要語言是像Python或Java這樣排名靠前的語言,你可能會(huì)選擇學(xué)習(xí)Rust作為第二語言。由于Rust是一種以安全為中心的著名語言,擁有Rust的特性將允許您擁有一種特殊的能力,可以在具有嚴(yán)格安全需求的應(yīng)用程序上工作,同時(shí)還可以提供通用編程技能。
選擇3:學(xué)習(xí)一門與你的主要語言完全不同的輔助編程語言
第三種方法是學(xué)習(xí)一門與你的母語完全不同的第二語言。
例如,您可以掌握COBOL或Fortran——這些語言雖然看起來晦澀過時(shí),但實(shí)際上需求仍然很高——以補(bǔ)充更“主流”的語言,如C、Python或Java。
這種策略的優(yōu)勢(shì)在于,它可以讓你成為不同領(lǐng)域的專家——而且,推而廣之,顯得特別獨(dú)特。例如,可能有相對(duì)較少的項(xiàng)目需要同時(shí)掌握COBOL和Java的知識(shí),但是也很少有程序員能夠處理這些類型的項(xiàng)目。如果可以的話,你會(huì)站在遠(yuǎn)離人群的地方。
選擇一種完全不同的第二語言也有助于提高你作為一個(gè)全面發(fā)展的程序員的可信度,能夠掌握多種編程風(fēng)格和技術(shù)。從一個(gè)Java程序員到Python和Java程序員并不是一個(gè)巨大的飛躍,所以學(xué)習(xí)這兩種語言不會(huì)給很多人留下深刻的印象。例如,如果你在學(xué)習(xí)傳統(tǒng)語言的同時(shí)學(xué)習(xí)茱莉亞語,你會(huì)給更多人留下深刻印象。
選擇4:學(xué)習(xí)匯編編程
要考慮的最后一種方法是在您選擇的平臺(tái)上學(xué)習(xí)用匯編代碼編程。
在學(xué)習(xí)高級(jí)語言的同時(shí)學(xué)習(xí)匯編,可以為您提供許多程序員所缺乏的深度,從某種意義上說,您可以“沿著堆棧向下”進(jìn)行低級(jí)編碼,這是許多開發(fā)人員目前無法做到的。匯編語言碰巧也越來越受歡迎,所以學(xué)習(xí)匯編作為第二語言可能是一個(gè)特別有價(jià)值的選擇。
總結(jié):用第二編程語言拓寬你的職業(yè)生涯
在你掌握了第一種語言之后,有很多方法可以選擇學(xué)習(xí)哪一種二級(jí)編程語言。要決定哪種選擇適合你,先考慮你的職業(yè)目標(biāo),以及你想讓自己有多與眾不同,你想讓你的項(xiàng)目有多有趣。在某些情況下,追求最流行的語言是有意義的,但如果你追求不同的道路,你可能會(huì)找到更有趣的工作。