首先,此文主要針對0基礎想進入IT行業的人。
最近經常有親戚朋友甚至陌生人問,軟體工程師的工作是什麼樣子的。在這一行,我們有很高的聲譽,薪資高,工作中的樂趣很多——至少外人是這麼想的。雖然這一行的薪水沒有電影明星那麼高(一些人甚至也將我們看做明星),但是因為不錯的收入和聲譽,依然很吸引人。
所以經常會被問到:我想學習編程,應該從哪裡開始學習呢?
這是一個有趣的問題,但是又難以回答。對於初學者,首先弄清楚從中想要得到什麼。我們可以根據他們的目的來回答這個問題。
薪水是我們工作最原始的動力,所以放在第一位的來說在如今的中國,如果單看工資收入,JAVA工程師的薪資絕對是很靠前,很有競爭力的。
隨便一個IT行業相對其他傳統行業來說,工資水平還是處於較高的水平,更別說你幸運的投身到一個初創公司獲得股權期權等等,IT行業的快速發展給每個從業者帶來的是看得見摸得著的利益。
作為一個程式設計師如果你有能力,你就委以重任。所謂相對公平就是,不論長相,不論背景,能力決定一切。廣大的青年才俊們,只要你有真本事,就不用擔心自己在這個行業的前途。
在IT圈裡混,每天都在接觸新事物,這是區別於其他所有行業的一個重要特點。每天有各種層出不窮的新產品、新思路、新方法、新創意呼嘯著來到你面前。如果你有一個開放的心態,願意去了解和探究這些新鮮事物,你會永遠保有自己的好奇心,永遠有一顆年輕的心態。
IT行業的目標是創造出原本沒有的功能或者一個世界,這些創造能讓你有不同與其它行業的成就感。例如開發出客戶滿意的原始碼、為客戶提供一個複雜的IT架構設計、解決了客戶一個緊急的系統故障等,這都能給開發人員帶來很強烈的成就感和滿足感。
今天,Java最大的優勢在於其龐大而完善的生態系統。一門程式語言是否能流行,主要是由其生態系統決定的。Java生態系統的完善性主要體現在以下幾個方面:
你說他們是農民也好,但數量放在那裡,最明顯的效果就是公司招人的時候會比較容易地招到Java程式設計師。試想如果你想要做一套軟體,你有一個很棒的技術方案需要用C++,Scala或Ruby等語言實現,但招不到足夠的人手,那麼計劃多半泡湯。這時候你的應用Java也能做到,並且很輕鬆就能招到足夠的人,那麼你選擇Java的可能性就要大一些。
假如你想解析HTML,用C/C++這類語言恐怕多半只能自己編寫解析算法庫了,而如果是Java,你可以非常輕鬆地在Github上找到JSoup,使用Maven導入依賴後分分鐘就搞定HTML。為此還有一句諷刺Java的話是:「我們不生產代碼,我們只是Github的搬運工。」這句話從字面上看是很有道理的,但卻忽略了對軟體生產效率的提升所帶來的巨大價值。對於軟體的開發,公司的唯一成本其實就是「人頭費」,每減少一個月開發時間,就能幫助公司節省幾十萬幾千萬的研發成本。
Eclipse,通過插件幾乎可以滿足你開發的任何需求。它雖然有些慢,但你可以通過JVM調優來提高程序的流暢度,千萬不要使用默認的JVM參數。不過,IntelliJ Idea已經完全超越Eclipse了,Idea的智能程度幾乎可以媲美Win平臺下的VS。我是那類離了Vim就活不下去的人,在這兩款IDE中都有Vim插件從而讓我愉快地存活下去。
不必多說,Spring, Struts, Hibernate, Hadoop, Tomcat, JBoss等等。
對,這也是一項優點。C++相比C添加了大量特性,學起來費事不說,用起來還會降低代碼可讀性,其實是費了工夫不討好。當今世界對程式語言的要求是語法簡單,代碼可讀,對性能已經是退而求其次了,因此才誕生了Python, Ruby這樣的程式語言。有很多人批評Java語法寫起來很臃腫,我承認這一點,但事實是,程式語言從來都不是因為語法臃腫而被淘汰的,決定其生死的是生態系統。對於批評者,引用知乎的一句話:」動態類型一時爽,代碼重構火葬場」。
Sun/Oracle的HotSpot JVM內置的JIT編譯器在運行時對字節碼已經做出了非常大的優化努力,服務端應用啟動後對JVM進行足夠的」預熱」,並給出合理的啟動參數即可。如果不是對性能十分敏感的系統類應用,Java已經足夠快了。有一種簡單可行的方法可以形象地看出這點,在JVM啟動參數中添加+XX:PrintCompilation可以看到JIT編譯器的忙碌。當今世界對軟體的需求量越來越大,在性能可接受的情況下,開發效率才是第一位的,這也是Python這類動態腳本語言流行的主要原因。
以上僅做客觀分析,並不想引起語言戰爭。畢竟,沒有最好的語言,只有最適合某種項目的語言。引用黑格爾的一句話:」存在即合理。」
- END -
*版權聲明:轉載文章和圖片均來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,都會註明作者和來源。如出處有誤或侵犯到原作者權益,請與我們聯繫刪除或授權事宜,感謝原作者。
學IT,找大連中軟卓越!
您可留言:姓名、聯繫方式、想了解的課程
諮詢詳情請關注官網:http://www.chinasofti.com/(中軟國際官網)
http://www.dlzredu.com/(校企合作官網)