西安網(wǎng)站建設(shè) | 西安網(wǎng)站制作 | 西安網(wǎng)站設(shè)計(jì) | 西安小程序開發(fā) | 兄弟網(wǎng)絡(luò) - 西安網(wǎng)站建設(shè)十余年經(jīng)驗(yàn),值得信賴!
了解市場新觀點(diǎn),內(nèi)部案例剖析,增強(qiáng)服務(wù)意識與專業(yè)水平。

詳細(xì)解剖程序猿:走進(jìn)他們的世界,聆聽代碼的聲音

來源:西安網(wǎng)站制作   日期:2018-10-24 17:37:53   點(diǎn)擊:2359

      10月24日看似一個(gè)普通的日子,卻也是一個(gè)很有意思的節(jié)日。1024是2的十次方,二進(jìn)制計(jì)數(shù)的基本計(jì)量單位之一,因此每年的10月24日被大家親切稱為程序員節(jié)。


一、程序員的前世今生


      很多良心企業(yè)和互聯(lián)網(wǎng)機(jī)構(gòu)一直非常關(guān)注程序員健康,針對程序員經(jīng)常周末加班與工作日熬夜的情況,倡議每年的10月24日為1024程序員節(jié),比如兄弟網(wǎng)絡(luò),在這一天就是拒絕程序員加班的。

1800年,一個(gè)名字叫做約瑟夫·瑪麗·雅卡爾的人,設(shè)計(jì)出人類歷史上首臺可設(shè)計(jì)織布機(jī)——雅卡爾織布機(jī),對將來發(fā)展出其他可編程機(jī)器起了重要作用。

1834年,阿達(dá)·洛芙萊的朋友——英國數(shù)學(xué)家、發(fā)明家兼機(jī)械工程師查爾斯·巴貝其——發(fā)明了一臺分析機(jī)。阿達(dá)·洛芙萊開始致力于為該分析機(jī)編寫算法,并于1843年公布了世界上第一套算法。巴貝其分析機(jī),后來被認(rèn)為是最早期的計(jì)算機(jī)雛形,而阿達(dá)·洛芙萊得以“數(shù)字女王”之稱,她的算法則被認(rèn)為是最早的計(jì)算機(jī)程序。

1936年,阿蘭·麥席森·圖靈向倫敦權(quán)威的數(shù)學(xué)雜志投了一篇論文,題為“論數(shù)字計(jì)算在決斷難題中的應(yīng)用”。在這篇開創(chuàng)性的論文中,圖靈給“可計(jì)算性”下了一個(gè)嚴(yán)格的數(shù)學(xué)定義,并提出著名的“圖靈機(jī)”(Turing Machine)的設(shè)想。圖靈被稱為“計(jì)算機(jī)科學(xué)之父”。

1959年,葛麗絲·霍普創(chuàng)造了現(xiàn)代第一個(gè)編譯器A-0 系統(tǒng),以及商用電腦編程語言“COBOL”,被譽(yù)為COBOL之母 。


1972年,丹尼斯·里奇在貝爾實(shí)驗(yàn)室的工作時(shí)間里感到無聊,所以他決定制作帶有花括號的C,并最終取得了巨大的成功。之后,他添加了分段錯(cuò)誤和其他開發(fā)人員友好功能,以提高生產(chǎn)力。在星期天還有幾個(gè)小時(shí)的時(shí)間,他和他在貝爾實(shí)驗(yàn)室的朋友決定創(chuàng)建一個(gè)名為Unix的操作系統(tǒng)。


1983年,比雅尼·斯特勞斯特魯普發(fā)明了C++,寫下了它的早期定義并做出了首個(gè)實(shí)現(xiàn)。

1994年,拉斯姆斯·勒多夫(Rasmus Lerdorf)為他的個(gè)人主頁CGI腳本制作了一個(gè)模板引擎,隨后采取開源化政策,被眾多編程愛好者追逐擁戴,也是目前西安網(wǎng)站建設(shè)行業(yè)里,包括西安兄弟網(wǎng)絡(luò)等等建站公司,都在使用的PHP。

1995年,布蘭登·艾克在周末的時(shí)候設(shè)計(jì)了一種語言,用來為世界各地的每一個(gè)網(wǎng)頁瀏覽器提供支持。當(dāng)初這門語言被稱為LiveScript,但隨著Java變得流行,他們決定將其重命名為JavaScript

      總之,大約一九五幾年之后,各種編程語言相繼如春筍般出世。直至今天互聯(lián)網(wǎng)行業(yè)的發(fā)展越發(fā)迅猛,技術(shù)的更新迭代速度更是異常的快速。


二、程序員需要具備的技能


1、熟練開發(fā)工具

      做為一名程序員至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點(diǎn)推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C++編寫。其次,能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,CBuilder,這些開發(fā)工具減小了開發(fā)難度,并能夠強(qiáng)化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。


2、熟知數(shù)據(jù)庫
      為什么數(shù)據(jù)庫是如此重要?作為程序員,他們自然有自己的理由:很多應(yīng)用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫操作方法。如果沒有機(jī)會接觸商業(yè)數(shù)據(jù)庫系統(tǒng),可以使用免費(fèi)的數(shù)據(jù)庫產(chǎn)品是一個(gè)不錯(cuò)的選擇,如mySQL,Postgres等。

3、了解操作系統(tǒng)
      當(dāng)前主流的操作系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。要想成為一個(gè)真正的編程高手,需要深入了解操作系統(tǒng),了解它的內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號、內(nèi)核對象、系統(tǒng)調(diào)用、協(xié)議棧實(shí)現(xiàn)等。
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握,就需要迅速補(bǔ)上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運(yùn)行的模式,從最早的客戶/服務(wù)器結(jié)構(gòu),到今天的WEBServices,再到未來的網(wǎng)格計(jì)算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,深入掌握TCP/IP協(xié)議是非常必要的。
隨著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計(jì)算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計(jì)算的中間平臺,DCOM是微軟COM(組件對象模型)的擴(kuò)展,而CORBA是OMG支持的規(guī)范。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強(qiáng)的表達(dá)能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布式計(jì)算的基石之一。

4、不要將軟件工程與CMM分開
      大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個(gè)人英雄主義,成為軟件系統(tǒng)成功的保證,一個(gè)編程高手并不一定是一個(gè)優(yōu)秀的程序員,一個(gè)優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機(jī)結(jié)合,編程只是軟件生命周期中的其中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個(gè)階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件測試等。

5、需求理解能力
      程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點(diǎn),程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求,要能正確評估自己的模塊對整個(gè)項(xiàng)目中的影響及潛在的威脅,如果有著兩到三年項(xiàng)目經(jīng)驗(yàn)的熟練程序員對這一點(diǎn)沒有體會的話,只能說明他或許是認(rèn)真工作過,但是沒有用心工作。

6、模塊化思維能力
      作為一個(gè)優(yōu)秀的程序員,他的思想不能局限在當(dāng)前的工作任務(wù)里面,要想想看自己寫的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過簡單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動,也能使系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維能力的提高是一個(gè)程序員的技術(shù)水平提高的一項(xiàng)重要指標(biāo)。


三、程序員的職業(yè)素質(zhì)要求


1、團(tuán)隊(duì)精神和協(xié)作能力
      團(tuán)隊(duì)協(xié)作是作為一個(gè)程序員應(yīng)具備的最基本的素質(zhì)。軟件工程已經(jīng)提了將近三十年了,當(dāng)今的軟件開發(fā)已經(jīng)不是編程了,而是工程。獨(dú)行俠可以寫一些程序也能賺錢發(fā)財(cái),但是進(jìn)入研發(fā)團(tuán)隊(duì),從事商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),就必須具備這種素質(zhì)。可以毫不夸張的說這種素質(zhì)是一個(gè)程序員乃至一個(gè)團(tuán)隊(duì)的安身立命之本。

2、文檔習(xí)慣
      文檔是一個(gè)軟件系統(tǒng)的生命力。一個(gè)公司的產(chǎn)品再好、技術(shù)含量再高,如果缺乏文檔,知識就沒有繼承,公司還是一個(gè)來料加工的軟件作坊。作為代碼程序員,必須將30%的工作時(shí)間用于寫技術(shù)文檔。沒有文檔的程序員勢必會被淘汰。

3、規(guī)范化的代碼編寫習(xí)慣

      知名軟件公司的代碼的變量命名、注釋格式,甚至嵌套中行縮進(jìn)的長度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同技術(shù)人員之間的協(xié)作。


4、測試習(xí)慣
      測試是軟件工程質(zhì)量保證的重要環(huán)節(jié),但是測試不僅僅是測試工程師的工作,而是每個(gè)程序員的一種基本職責(zé)。程序員要認(rèn)識測試不僅是正常的程序調(diào)試,而要是要進(jìn)行有目的有針對性的異常調(diào)用測試,這一點(diǎn)要結(jié)合需求理解能力。

5、學(xué)習(xí)和總結(jié)的能力
      程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術(shù)人員無論學(xué)了多少語言,代碼寫起來多熟練,只能說他是一名熟練的代碼民工(碼農(nóng)),他永遠(yuǎn)都不會有質(zhì)的提高。一個(gè)善于學(xué)習(xí)的程序員會經(jīng)??偨Y(jié)自己的技術(shù)水平,對自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟件設(shè)計(jì)師、系統(tǒng)分析員。

6、擁有強(qiáng)烈的好奇心
      什么才是一個(gè)程序員的終極武器呢,那就是強(qiáng)烈的好奇心和學(xué)習(xí)精神。沒有比強(qiáng)烈的好奇心和學(xué)習(xí)精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。生命不息,學(xué)習(xí)不止!


四、程序員同事的可愛

      在我們的生活中,有這樣的一群人:常年如一日的單調(diào)著裝,讓人倍感嫌棄又想吐槽,超長反射弧和超高笑點(diǎn),常常讓同事冷場,略顯愚鈍木訥的舉止,讓身邊的人覺得無聊又無趣……他們經(jīng)常讓外人覺得莫名其妙,甚至以“異類生物”相稱呼,可卻經(jīng)常神乎其技的寫幾行代碼,就能實(shí)現(xiàn)某個(gè)功能,讓人仰慕不已。

      他們有著,與他們的高智商極不匹配的低情商,或許他們對朋友的關(guān)心不及對工作的十分之一,卻為我們“構(gòu)建”出了一整個(gè)科技世界,沒有程序員,我們就沒有微博、微信、淘寶、滴滴、各種網(wǎng)頁、各種APP、各種智能、各種游戲……

      就是這樣一群人讓我們的生活悄然改變著,以最低調(diào)、踏實(shí)、核心的功能模塊搭建起這個(gè)科技世界,讓我們感受著科技力量的偉大和生活的便捷。程序員就像是一個(gè)個(gè)1024,一步一個(gè)腳印,悄無聲息地為世界進(jìn)步貢獻(xiàn)著自己的力量。

      他們善于學(xué)習(xí)、進(jìn)取心超強(qiáng)的人。他們總是喜歡學(xué)習(xí)、嘗試新事物,求知欲望相當(dāng)強(qiáng)。在互聯(lián)網(wǎng)這個(gè)行業(yè),技術(shù)的更新迭代速度很快,唯有不斷學(xué)習(xí)和嘗試,才能立于不敗之地,人都是做自己原本不能勝任的事情中,才能快速成長。正是基于這種信念,我們常常能在程序員的身上看到不竭的激情與滿滿的正能量。


五、全球程序員節(jié)·西安

      為積極響應(yīng)國家“一帶一路”倡議,啟迪創(chuàng)新思維,提升西安國際影響力,弘揚(yáng)程序員精神,加快推進(jìn)軟件和信息服務(wù)業(yè)成為大西安追趕超越的重要支柱產(chǎn)業(yè),著力打造全球“軟件名城”和“絲路硅谷”,第二屆“全球程序員節(jié)”將于2018年10月24日至25日在西安高新國際會議中心舉辦。
      為傳承程序員精神,以榜樣的力量鼓舞廣大新生代軟件從業(yè)者帶著榮譽(yù)感、使命感和更高的熱情投身事業(yè),將在永久會址設(shè)立大咖程序員“星光大道”,采集并展示中國軟件產(chǎn)業(yè)開路人和領(lǐng)路人的手印,其采集對象包括王永民、宮敏、求伯君、雷軍、張小龍、丁磊、王小川等對中國軟件產(chǎn)業(yè)發(fā)展做出卓著貢獻(xiàn)的“大咖程序員”。
      軟件和信息服務(wù)業(yè)是數(shù)字經(jīng)濟(jì)的先導(dǎo)性、基礎(chǔ)性和戰(zhàn)略性產(chǎn)業(yè),“全球程序員節(jié)”將以壯大數(shù)字建設(shè)大軍為使命,承載激情,傳播理念,積聚智慧,為全球的軟件開發(fā)者、科技企業(yè)、創(chuàng)投機(jī)構(gòu)、行業(yè)意見領(lǐng)袖和科學(xué)領(lǐng)袖搭建交流合作的生態(tài)平臺,驅(qū)動創(chuàng)新,碼動未來
上一篇:網(wǎng)絡(luò)表情符號的前世今生     下一篇:什么是IPv6,以及IPv6的全網(wǎng)改造
掃碼立即溝通
公眾號加關(guān)注
版權(quán)所有:西安兄弟信息科技有限公司 陜ICP備07012704號-8   地址:西安市三橋街道恒大都市廣場(1號線灃東自貿(mào)園站C1口)  營業(yè)執(zhí)照    網(wǎng)站地圖  
關(guān)閉
029-86512630 工作:8:30-17:30

*