成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

菜鳥入“江湖”

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

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

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

編程語(yǔ)言的分支

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

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

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

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

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

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

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

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

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

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

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

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

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

學(xué)以所用

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

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

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

#p#

十八年中值得回憶的往事

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

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

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

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

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

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

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

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

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

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

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

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

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

全民編程

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

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

責(zé)任編輯:張偉 來源: 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

開發(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)存磁盤

2022-04-24 11:01:09

架構(gòu)數(shù)據(jù)庫(kù)專車

2019-04-30 14:17:56

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

2019-05-27 08:47:51

2018-12-13 12:16:30

數(shù)據(jù)中心運(yùn)維管理網(wǎng)絡(luò)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 欧美爱爱视频网站 | 国产精品久久久久久久久久妇女 | 精产国产伦理一二三区 | 欧美日韩网站 | 国产亚洲一区二区三区在线观看 | 2018天天干天天操 | 一区二区三区在线播放视频 | 亚洲激情视频在线 | 欧美久久一级特黄毛片 | 国产精品天堂 | 成人一区av | 无毛av | 特级做a爰片毛片免费看108 | 亚洲一区二区免费视频 | 国产精品永久在线观看 | 欧美综合一区 | 亚洲欧美在线视频 | 亚洲精品二三区 | 91九色porny首页最多播放 | 久久久免费电影 | 国产成人精品亚洲日本在线观看 | 91九色porny首页最多播放 | 九热在线 | 成人免费视频 | 国产一区欧美 | 岛国av免费看 | 亚洲国产成人精品女人久久久 | 国产高清在线 | 日韩精品在线观看视频 | 日韩在线不卡 | 亚洲成年影院 | 国产精品一区二区三区四区 | www国产精| www.国产精品 | 国产精品一区二区久久 | 精品久久久久久久久久久久 | 国产精品成人av | 中文字幕乱码一区二区三区 | 国产精品一二区 | av播播 | 国产高清视频 |