偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

回首往事:十八年的語(yǔ)言分支

原創(chuàng)
開(kāi)發(fā) 開(kāi)發(fā)工具 后端
就像我們以前提到的,大多的程序員在工作中,語(yǔ)言的分支選擇有很多,每個(gè)人在接觸另一種語(yǔ)言的理由也各有不同。

當(dāng)每個(gè)人走過(guò)一段路以后,都會(huì)有意無(wú)意的去回首一下自己的往事,這些往事有讓你印象深刻的部分、也有讓你一帶而過(guò)的部分、有值得深思的問(wèn)題、也有自己后悔過(guò)的問(wèn)題。雖然這些讓你覺(jué)得只是你生活中的一段插曲,但是你可能沒(méi)意識(shí)到這些年的經(jīng)驗(yàn)本身來(lái)說(shuō)就是一件“瑰寶”,不如分享出來(lái),讓很多人得到寶貴的經(jīng)驗(yàn),讓更多的人感受到你當(dāng)時(shí)的心情。

就像我們以前提到的,大多的程序員在工作中,語(yǔ)言的分支選擇有很多,每個(gè)人在接觸另一種語(yǔ)言的理由也各有不同。那么這次51CTO的記者很榮幸的邀請(qǐng)到了一位擁有十八年開(kāi)發(fā)經(jīng)驗(yàn)的資深開(kāi)發(fā)者廣聯(lián)科技(WideUnion)的開(kāi)發(fā)部經(jīng)理劉昱劉老師,同時(shí)也是EntityModelStudio產(chǎn)品的核心開(kāi)發(fā)人員兼主設(shè)計(jì)師。相信他這些年的開(kāi)發(fā)經(jīng)驗(yàn)一定會(huì)讓你有所收獲,那么下面的時(shí)間就讓我們一起來(lái)看他這十八年的語(yǔ)言分支。

菜鳥(niǎo)入“江湖”

也許很多人最開(kāi)始接觸代碼是在大學(xué)里,但是我認(rèn)為那不算是真正的開(kāi)發(fā),而我真正的所謂***次也不是在大學(xué)里。我最早接觸代碼時(shí)我還是一個(gè)小學(xué)生,是和我姐一起買(mǎi)了一本關(guān)于Basic編程的書(shū)。由于當(dāng)時(shí)沒(méi)有計(jì)算機(jī)可以上機(jī)練習(xí),所以只是看書(shū)而已,應(yīng)該說(shuō)沒(méi)有什么收獲。但是從時(shí)間上來(lái)說(shuō),那應(yīng)該是***次接觸代碼。

以后在大學(xué)里確實(shí)學(xué)習(xí)了編程,但是應(yīng)該說(shuō)我不是一個(gè)好學(xué)生,并且我的專(zhuān)業(yè)也不是與計(jì)算機(jī)相關(guān)的,所以我沒(méi)有學(xué)的什么編程的東西,相反對(duì)編程在心理上還是有點(diǎn)畏懼的。所以這兩次所謂的***次對(duì)我而言應(yīng)該沒(méi)有留下什么正能量的東西。

后來(lái)工作以后從1994年起開(kāi)始有機(jī)會(huì)使用電腦了,***門(mén)使用的語(yǔ)言是FoxBase。應(yīng)該說(shuō)這是我真正意義上開(kāi)始***次接觸代碼。這次的效果非常好,是我開(kāi)發(fā)生涯的起點(diǎn)。單就語(yǔ)言而言,我覺(jué)得Foxbase還是比較容易上手的,而且其中一些做法至今對(duì)我來(lái)說(shuō)還有很好的參考價(jià)值。

編程語(yǔ)言的分支

在工作中我學(xué)過(guò)的語(yǔ)言可以說(shuō)還是有一些的,按照先后順序大概是FoxBase,C,C++,ASM,FoxPro,VC,VB,C#,少量的接觸過(guò)java,cobol,KDE。很多人也許會(huì)覺(jué)得學(xué)這么多語(yǔ)言現(xiàn)實(shí)嗎?其實(shí)是現(xiàn)實(shí)的,我們一起來(lái)看看這些稱(chēng)得上編程語(yǔ)言分支的情況:

1.Foxbase:這是***次選擇,也是我上述提到的真正意義上開(kāi)始***次接觸的代碼,事實(shí)上應(yīng)該算得上是被選擇,因?yàn)楣菊谟眠@個(gè)東西,我沒(méi)得選。學(xué)習(xí)使用Foxbase是我開(kāi)發(fā)生涯的起點(diǎn)。我最初的編碼經(jīng)驗(yàn)就是從這里開(kāi)始積累的,并且Foxbase中的一些內(nèi)容至今對(duì)我來(lái)講還是有影響的。比如Foxbase中一些命令的設(shè)計(jì)直到現(xiàn)在依然對(duì)我所開(kāi)發(fā)Entity Model Studio這個(gè)產(chǎn)品在思想上有參考價(jià)值。

2.C/C++/ASM(包括BC++和VC++):C/C++/ASM的學(xué)習(xí)是我開(kāi)發(fā)能力和經(jīng)驗(yàn)真正意義上積累和成長(zhǎng)的一個(gè)階段。為了描述方便我把這些語(yǔ)言統(tǒng)稱(chēng)為C系語(yǔ)言。以后我成功轉(zhuǎn)型為程序員就是VC的原因,這是C++編譯器中的一個(gè)。最初選擇C語(yǔ)言的理由應(yīng)該說(shuō)體現(xiàn)了我當(dāng)時(shí)稚嫩或者甚至幼稚的一面。我沒(méi)有從實(shí)用角度,也沒(méi)有從自己實(shí)際的能力從發(fā),而僅僅是聽(tīng)說(shuō)C語(yǔ)言難學(xué),為了證明自己很強(qiáng)很聰明,于是就選擇了C語(yǔ)言。當(dāng)時(shí)的我剛剛“成功掌握”Foxbase,所以正是氣盛的時(shí)候,想法確實(shí)有點(diǎn)不太理性。雖然從后來(lái)的實(shí)際結(jié)果來(lái)看這個(gè)選擇是對(duì)的,但是做出這個(gè)選擇的過(guò)程和理由實(shí)在沒(méi)有什么可取之處。另外一個(gè)選擇C系的原因是當(dāng)時(shí)存在一個(gè)說(shuō)法就是所謂的高級(jí)語(yǔ)言和低級(jí)語(yǔ)言之說(shuō)。而C系語(yǔ)言按照我老師的說(shuō)法是屬于所謂的“中級(jí)”語(yǔ)言,言下之意是什么都能干。在自己的學(xué)習(xí)中也確實(shí)體會(huì)到是如此。比如C系可以直接嵌入ASM做***層的控制,也可以使用ODBC開(kāi)發(fā)MIS,雖然界面做的慢一點(diǎn),但不管怎么說(shuō)算是可以做了,同樣能做到這些事情的語(yǔ)言我當(dāng)時(shí)確實(shí)沒(méi)有遇到。

在選擇C++時(shí)先后有兩次選擇,***次是Borland的BC++3.1,第二次是后來(lái)微軟的VC++。C++的使用是到目前為止收獲***的,編碼學(xué)習(xí)投入最多的階段,我對(duì)Borland公司至今仍有一種不舍的情感。選擇BC++的原因是兩個(gè),***個(gè)是想繼續(xù)深入為今后轉(zhuǎn)型程序員做準(zhǔn)備。因?yàn)镃++是很難學(xué)的,如果我掌握了C++那么軟件公司聘用我的可能會(huì)高一些。應(yīng)該說(shuō)這個(gè)想法比之前學(xué)C語(yǔ)言的動(dòng)機(jī)成熟些了也現(xiàn)實(shí)了一些。

另一個(gè)選擇BC++的理由是當(dāng)時(shí)能夠獲得的資料都是BC++的,比如書(shū)和軟件。所以想學(xué)其他的編譯器沒(méi)有可能,只能選BC++,很幸運(yùn)BC++沒(méi)有選錯(cuò)。這里需要注意當(dāng)時(shí)是上世紀(jì)的90年代中期,互聯(lián)網(wǎng)沒(méi)有那么普及,咨詢(xún)的獲得非常困難,軟件下載遠(yuǎn)遠(yuǎn)沒(méi)有現(xiàn)在方便,都是需要郵購(gòu)盜版軟件的。所以對(duì)我來(lái)說(shuō)各類(lèi)出版物是學(xué)習(xí)的主要途徑,市面上流行什么出版物,基本上我就只能學(xué)什么了,沒(méi)有選擇的可能。

后來(lái)學(xué)習(xí)使用VC++(這里語(yǔ)言,編譯器和開(kāi)發(fā)工具混稱(chēng)了)的原因是大勢(shì)所趨了,因?yàn)槲④浀腤indows操作系統(tǒng)來(lái)了,DOS開(kāi)發(fā)很快就沒(méi)有市場(chǎng)了。當(dāng)時(shí)最初的選擇還是Borland的產(chǎn)品,是Turbo C++ 3.0 For Win。我的***個(gè)Windows程序就是用這個(gè)編譯器開(kāi)發(fā)的。但是很快就放棄了,我最終決定投入微軟的陣營(yíng),但是我對(duì)Borland的感情依舊,呵呵。

轉(zhuǎn)向微軟的理由是以下幾個(gè):

a.如果PC的操作系統(tǒng)的是微軟的,那么開(kāi)發(fā)工具為什么不用微軟的?這個(gè)根本不用多想。是一家人就不要用兩家的東西。事實(shí)上微軟在此后的表現(xiàn)一直很爭(zhēng)氣,所以我很幸運(yùn)沒(méi)有選錯(cuò)。當(dāng)然我也很希望看到Borland可以再次崛起。

b.我家里買(mǎi)了電腦,機(jī)器的配置允許我可以安裝類(lèi)似Visual Studio這樣的軟件了

c.盜版軟件開(kāi)始出現(xiàn)了,購(gòu)買(mǎi)盜版軟件的光盤(pán)很容易,所以搞到軟件完全成為可能

d.出版物開(kāi)始基本上和流行節(jié)拍吻合,雖然還有一點(diǎn)滯后,但已經(jīng)不是一個(gè)問(wèn)題了。

3.C#:選擇C#的***原因是因?yàn)镃#是.Net開(kāi)發(fā)的***語(yǔ)言(至少微軟是這么定位的),為了保持自己的競(jìng)爭(zhēng)力和開(kāi)發(fā)能力,我選擇開(kāi)始學(xué)習(xí)C#。當(dāng)時(shí)記得是在2000年,我已經(jīng)去了北京了,我是在中關(guān)村買(mǎi)到的盜版盤(pán)。這個(gè)選擇從現(xiàn)在看也是沒(méi)錯(cuò)的。

選擇C#的效果從2006年開(kāi)始顯露,我用C#開(kāi)發(fā)的***個(gè)產(chǎn)品就是從2006年2月份開(kāi)始的。還有現(xiàn)在開(kāi)發(fā)的Entity Model Studio也是用C#做的。應(yīng)該說(shuō)如果不使用C#而是使用C系語(yǔ)言來(lái)做的話(huà),當(dāng)然也是可以的,但是效率會(huì)低不少,成本和風(fēng)險(xiǎn)會(huì)增加。所以到目前為止來(lái)看C#在.Net方向上的開(kāi)發(fā)是一個(gè)非常不錯(cuò)的選擇。如果不出意外的話(huà),我相信以后的開(kāi)發(fā)生涯會(huì)一直和C#相伴了。

學(xué)以所用

很多朋友會(huì)認(rèn)為學(xué)了那么多語(yǔ)言,而且還是那個(gè)年代的,究竟對(duì)未來(lái)的發(fā)展道路有沒(méi)有什么實(shí)質(zhì)性的幫助?是否還要再次轉(zhuǎn)型?其實(shí)大家從我的經(jīng)歷來(lái)看都是有所幫助的。這里面的原因可能是選擇本身的正確,但是我覺(jué)得主要的是選擇什么語(yǔ)言,然后再去選擇該語(yǔ)言擅長(zhǎng)或者應(yīng)該這個(gè)語(yǔ)言去做的事情,從而保證從最終結(jié)果看每次語(yǔ)言的選擇都是正確的。比如我選擇了VC那我就會(huì)去應(yīng)聘VC的開(kāi)發(fā)職位,也會(huì)選擇VC擅長(zhǎng)的項(xiàng)目去做。公司在方面也有考慮具體一個(gè)員工的技能情況而有選擇的安排開(kāi)發(fā)法任務(wù),所以基本上都是有幫助的,而且技不壓身這句古話(huà)是沒(méi)錯(cuò)的。

但是從長(zhǎng)遠(yuǎn)角度來(lái)說(shuō),這個(gè)很難講。由于時(shí)間跨度大了以后,很難說(shuō)當(dāng)初的選擇是否有幫助,比如DOS操作被Windows替代后,那么原來(lái)的開(kāi)發(fā)工具和語(yǔ)言就要考慮換了,那么當(dāng)初若是我還在一味地堅(jiān)持那么現(xiàn)在就會(huì)面臨被淘汰的問(wèn)題。當(dāng)然這是反面的例子,正面的例子是我選擇C#。2000年開(kāi)始***次用C#,而真正用來(lái)開(kāi)發(fā)產(chǎn)品則是在2006年,所以這樣的選擇有點(diǎn)戰(zhàn)略性的意味。其中原因是我定位自己在微軟的平臺(tái)上做開(kāi)發(fā),其二是.Net的趨勢(shì)勢(shì)必成為主流,當(dāng)時(shí)的輿論認(rèn)為這是微軟向java的挑戰(zhàn),意欲平分Java的天下。當(dāng)然今天看來(lái)是否做到了另當(dāng)別論,但是.Net成為一個(gè)主流平臺(tái)卻是事實(shí)。那么掌握c#語(yǔ)言就是一個(gè)正確的選擇,對(duì)自己做開(kāi)發(fā)當(dāng)然是有幫助的。

一旦選擇了一個(gè)語(yǔ)言,那么勢(shì)必會(huì)在比其他語(yǔ)言上薄弱一些。這在我的經(jīng)歷中也是有的。在C系語(yǔ)言的項(xiàng)目中我一般都是主力或者骨干,但是在參與的其他一些項(xiàng)目中,比如有一次被要求參與一個(gè)java(之所以選我是因?yàn)閖ava的語(yǔ)法和c++類(lèi)似,學(xué)習(xí)成本比較低)項(xiàng)目,在那個(gè)項(xiàng)目中我基本上是做下手,做最簡(jiǎn)單的事情。但是這不能認(rèn)為自己選擇的語(yǔ)言沒(méi)有幫助,而是應(yīng)該看到一個(gè)語(yǔ)言不能勝任所有的開(kāi)發(fā)項(xiàng)目,也不可能滿(mǎn)足整個(gè)開(kāi)發(fā)生涯的技能需求。所以只要保證自己選擇的語(yǔ)言有價(jià)值,那就可以了。

#p#

十八年中值得回憶的往事

其實(shí)我對(duì)語(yǔ)言本身來(lái)講應(yīng)該沒(méi)有特別的感觸,因?yàn)檎Z(yǔ)言對(duì)一個(gè)開(kāi)發(fā)者(至少對(duì)我是如此)來(lái)說(shuō)是一個(gè)工具,適合的就用,不適合的就不用,沒(méi)有太多的情感因素在里面。相反用某一個(gè)語(yǔ)言寫(xiě)下的具體的代碼或多或少會(huì)有一些情感,因?yàn)橛行┐a是付出很多以后才得到的。還有是使用這些語(yǔ)言開(kāi)發(fā)軟件所度過(guò)的時(shí)光,這是頗值得回憶的。

做一個(gè)比喻,就好像我們會(huì)對(duì)一篇文字有想法或者感悟,但是對(duì)寫(xiě)下這篇文字的具體的語(yǔ)言(漢語(yǔ),英語(yǔ))未必會(huì)有什么想法。還有一部分是和開(kāi)發(fā)語(yǔ)言先關(guān)的一些認(rèn)識(shí),比如語(yǔ)言用多了就會(huì)體會(huì)到不同語(yǔ)言之間的一些共性的東西和差異,這對(duì)語(yǔ)言的學(xué)習(xí)和掌握會(huì)有很大的幫助。對(duì)于這個(gè)問(wèn)題,有興趣的可以關(guān)注我其他的一些文章。(http://home.cnblogs.com/u/417670/

其實(shí)我覺(jué)得選擇編程語(yǔ)言的分支的出現(xiàn)不是必要的,而是正常的或者常見(jiàn)的。有些程序員一輩子有可能就只用過(guò)一門(mén)語(yǔ)言,那么對(duì)于這些程序員來(lái)說(shuō)分支就不會(huì)出現(xiàn)。這是完全有可能的,只是不太多,對(duì)于大部分程序員都會(huì)遇到學(xué)習(xí)多門(mén)語(yǔ)言的情況。這就好象有些人一輩子只干一個(gè)工作或者只在一個(gè)公司工作,而有些人則干過(guò)幾個(gè)工作或者為多個(gè)公司工作過(guò)。兩者都是正常的。

為何有那么多種語(yǔ)言

相信看過(guò)編程語(yǔ)言排行榜的朋友都知道,每期榜單上的前二十名會(huì)有一個(gè)大的圖,前十名還有一個(gè)走勢(shì)圖,然后二十到五十名會(huì)有一個(gè)細(xì)長(zhǎng)的小圖,五十到一百名就直接用文字進(jìn)行概述了,再然后就沒(méi)有然后了,并不是說(shuō)沒(méi)有一百名以后的語(yǔ)言,其實(shí)也有,那么為何有那么多種語(yǔ)言呢?我們先從項(xiàng)目的角度出發(fā)來(lái)說(shuō)。

有時(shí)在項(xiàng)目中用到很多語(yǔ)言是一種正常的情況,畢竟每個(gè)編程語(yǔ)言都有一些缺憾,所以需要另一種語(yǔ)言來(lái)進(jìn)行完善這個(gè)項(xiàng)目。在一些小的項(xiàng)目或者在大部分情況下,應(yīng)該使用一種語(yǔ)言就可以完成開(kāi)發(fā)任務(wù)的。但是在一些大型項(xiàng)目或者結(jié)構(gòu)層次復(fù)雜的系統(tǒng)中,多語(yǔ)言同時(shí)使用是非常正常的。不同語(yǔ)言承擔(dān)自己擅長(zhǎng)那部分工作,然后配合起來(lái)共同完成工作。在我的記憶中經(jīng)常看到VB做界面而VC做底層的情況,還有在FoxPro中調(diào)用C/C++的庫(kù)完成界面中的部分工作。

若是說(shuō)道為什么會(huì)有那么多的語(yǔ)言存在著,我覺(jué)得新語(yǔ)言的產(chǎn)生主要是為了滿(mǎn)足新的開(kāi)發(fā)要求,而不是為了彌補(bǔ)其他語(yǔ)言的不足,至少主要目的不是為了彌補(bǔ)不足。我們現(xiàn)在一般情況下所說(shuō)的編程語(yǔ)言實(shí)際上是指通用編譯器,這類(lèi)編譯器可以勝任大部分一般的開(kāi)發(fā)任務(wù)。但是在某些特定的方向上特定的語(yǔ)言會(huì)有更顯著的優(yōu)勢(shì),比如銀行數(shù)據(jù)處理會(huì)用COBOL,人工智能會(huì)用LISP,這些語(yǔ)言在特定方向上的優(yōu)勢(shì),是再好的通用編譯都無(wú)法替代的。

做一個(gè)比喻,公司需要招一個(gè)新員工(新語(yǔ)言),其原因應(yīng)該是新的職位需求(新的開(kāi)發(fā)需求),而不是主要為了彌補(bǔ)另一個(gè)員工(一門(mén)已存在的語(yǔ)言)的缺點(diǎn)或者不足。當(dāng)然新員工的加入事實(shí)上對(duì)彌補(bǔ)另一個(gè)員工的不足也會(huì)起到積極作用,這個(gè)也完全是有可能的。

語(yǔ)言本無(wú)好壞

***我覺(jué)得這世界上應(yīng)該不存在什么所謂***的語(yǔ)言。因?yàn)閱渭儽容^語(yǔ)言的好壞是沒(méi)有什么意義的。

所謂語(yǔ)言的優(yōu)劣主要取決于你用一個(gè)具體的語(yǔ)言來(lái)做什么而不是語(yǔ)言本身,對(duì)于需要完成的開(kāi)發(fā)任務(wù)需要選擇正確的語(yǔ)言而不是一個(gè)好的語(yǔ)言。

其次,以當(dāng)今通用編譯器來(lái)說(shuō),語(yǔ)言本身是一個(gè)因素,但是一個(gè)好的開(kāi)發(fā)集成環(huán)境也很重要。語(yǔ)言好了,但是沒(méi)有好的開(kāi)發(fā)工具,也是很令人頭疼的事情。

第三是開(kāi)發(fā)者對(duì)語(yǔ)言的掌握程度。用自己擅長(zhǎng)的語(yǔ)言往往比用一個(gè)好語(yǔ)言更明智,當(dāng)然這不是絕對(duì)的。

全民編程

51CTO記者寄語(yǔ):寶劍鋒從磨礪出,梅花香自苦寒來(lái),不得不說(shuō),擁有十八年開(kāi)發(fā)經(jīng)驗(yàn)的劉老師給我們帶來(lái)太多可以借鑒的地方,也讓我們了解了很多可能85后都不曾知道的編程歷史。

那么看完上述內(nèi)容是否有所感觸?是感同身受還是有所感悟呢?有句名言是這么說(shuō)的:在淚水中浸泡過(guò)的微笑最燦爛,從迷惘中走出來(lái)的靈魂最清醒。相信你我都在編程語(yǔ)言的分支上各有觀(guān)點(diǎn),我們也曾迷惘過(guò)如何選擇,那么時(shí)到今日,你是否還會(huì)當(dāng)初的決定所迷茫呢?不如一起分享出來(lái),一起來(lái)參與全民編程!

責(zé)任編輯:張偉 來(lái)源: 51CTO
相關(guān)推薦

2012-04-23 10:22:10

51CTO技術(shù)周刊

2012-10-29 10:00:31

2012-12-27 10:05:15

2018-03-12 11:39:27

企業(yè)家公關(guān)品牌

2011-12-29 12:28:06

2019-11-29 10:15:52

開(kāi)發(fā)技能代碼

2015-03-27 18:52:49

2017-06-13 16:47:00

創(chuàng)業(yè)

2010-07-21 10:46:03

電子產(chǎn)品

2015-04-16 10:29:38

2021-05-08 08:33:00

Rocketmq日志數(shù)據(jù)源

2021-03-26 10:38:32

云計(jì)算

2022-02-23 16:49:19

Linux內(nèi)存數(shù)據(jù)結(jié)構(gòu)

2018-11-04 08:17:41

2012-10-08 14:44:10

Windows往事

2022-01-26 00:10:00

Linux內(nèi)存磁盤(pán)

2019-04-30 14:17:56

中關(guān)村零售業(yè)創(chuàng)業(yè)者

2022-04-24 11:01:09

架構(gòu)數(shù)據(jù)庫(kù)專(zhuān)車(chē)

2019-05-27 08:47:51

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)