新聞中心

電子工程師編程回憶錄

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò) 收藏
遠(yuǎn)去了,那一行一行的代碼,遠(yuǎn)去了,那曾經(jīng)的激情,而不曾遠(yuǎn)去的,就是那對(duì)這樣事物的不變的回憶,他,就是編程。

恐怕編程算得上是一種純粹的創(chuàng)造了,從無(wú)到有,在開(kāi)始編程之前,你有的只是心中一個(gè)遙遠(yuǎn)甚至不且實(shí)際的想法,人們會(huì)對(duì)你的想法感到驚奇并且給你貼上不可能的標(biāo)簽,甚至你自己的心中也存在著這樣的疑問(wèn),你在疑問(wèn)自己是否能夠拿出心中想象的那個(gè)東西,你在質(zhì)問(wèn)你的能力所能達(dá)到的界限。等到那一行行的代碼誕生的時(shí)候,你不禁感到無(wú)比的驚奇,你不禁贊嘆其自己的那種似乎無(wú)線的創(chuàng)造力,他給了你走在路上自豪的理由,你會(huì)去情不自禁的想到,如果當(dāng)初否定了這種可能,該是一件多么可惜的事情啊!在代碼出來(lái)之前,誰(shuí)都不能確定下一刻在他們的眼前會(huì)產(chǎn)生啥,這就是編程,不是寫(xiě)代碼,不是敲代碼。

本文引用地址:http://butianyuan.cn/article/201611/319868.htm

對(duì)編程的回憶,最早的時(shí)候應(yīng)該開(kāi)始于一種模糊地聽(tīng)說(shuō),一種不太清楚的了解。在無(wú)數(shù)的電影中這項(xiàng)事業(yè)只適合于頭腦十分發(fā)達(dá)的人群,只適合于那種長(zhǎng)的帥氣逼人的影視明星(當(dāng)然,這是開(kāi)玩笑),往往在危機(jī)時(shí)刻的挺身而出,在迫近極限的那幾秒,敲上一連串的代碼,然后回車,所有的榮譽(yù)屬于他們,關(guān)于英雄的神話又一次被活生生的創(chuàng)造,但是實(shí)際上,現(xiàn)實(shí)不是這個(gè)樣子,或者說(shuō),差得遠(yuǎn)了,真是世界中當(dāng)然存在黑客,但是也肯定不是如此的活在如此富有戲劇性的劇本中,他們也像正常人一樣,經(jīng)營(yíng)者滅天的油鹽醬醋,重復(fù)著每天的冥思苦想。這就是生活的必不可少的一部分,好像扯遠(yuǎn)了,讓我們回來(lái)一點(diǎn)。

之所以這么說(shuō),就是一個(gè)意思,在編程的道路上,誰(shuí)都有可能成為自己的英雄,只要你在內(nèi)心中懷有一種十分的興趣,你會(huì)覺(jué)得這一些指令背后肯定隱藏著令你著迷的事情,而你也有這種可能去了解和探查他,或許還能做出某些友誼的改變,你也許會(huì)選擇這個(gè)東西的研究或是深入作為一種將來(lái)的職業(yè),因?yàn)槟慊蛟S知道,這個(gè)職業(yè),聯(lián)通他曾經(jīng)創(chuàng)造和造就的一大批的財(cái)富神話(諸如蓋茨)一樣的神奇,正在吸引著無(wú)數(shù)的聰明的腦袋,你也有只成為其中的一員。

不幸的是,對(duì)于我來(lái)說(shuō),上述的一切只是一種遙遠(yuǎn)的想象(不過(guò)即便如此,對(duì)于正在讀著這篇文章的你來(lái)說(shuō),并不是啥不幸的事),吸引我的,只是一種未知的奧妙,以及一點(diǎn)點(diǎn)的興趣,或者不違心的說(shuō),在開(kāi)始時(shí)很大的興趣。

有了在大學(xué)開(kāi)始時(shí)學(xué)習(xí)的C的一點(diǎn)基礎(chǔ),我便可以開(kāi)始一點(diǎn)自己的奇妙的旅程,事實(shí)上,每一個(gè)人都可以,我當(dāng)時(shí)用的編譯器(通俗點(diǎn)說(shuō),就是可以吧你寫(xiě)的代碼解釋給機(jī)器聽(tīng)的中間人,說(shuō)的也許比較玄乎,你也許會(huì)認(rèn)為這個(gè)東西很神秘,不過(guò)據(jù)我了解,這個(gè)充其量也只是一個(gè)軟件學(xué)院大二或是大三的學(xué)生一個(gè)學(xué)期的大作業(yè),所以說(shuō),有些事情,不用去把它想得太復(fù)雜,畢竟也是一樣構(gòu)造的人腦想出來(lái)的東西嘛)是名叫TURBOC的東西,他想對(duì)其他的大型的編譯器來(lái)說(shuō)可以說(shuō)是短小精悍的了,但正像有句話說(shuō)得好,麻雀雖小,但五臟俱全吶。這還真不是胡說(shuō),及時(shí)現(xiàn)在還是有很多的人在使用它,其中存在一種難以割舍的情感,是的,對(duì)于這一點(diǎn)我不得不承認(rèn),我懷舊,有些東西用的時(shí)間久了,你就比較難以離開(kāi)他,或者說(shuō),及時(shí)他已經(jīng)變得比較落伍,你還是不會(huì)去放棄他,而是尋求使他改進(jìn)的新的方法,不過(guò)這種努力往往會(huì)失敗(在后面我會(huì)提到)。

自己主動(dòng)開(kāi)始探究的東西往往會(huì)給你留下很深刻的印象,這種經(jīng)驗(yàn)總是可以成立,不用考慮其他的因素,上課的時(shí)候所教授的是一種絕對(duì)的標(biāo)準(zhǔn),你會(huì)去費(fèi)勁腦子去對(duì)付一個(gè)一個(gè)標(biāo)準(zhǔn)的檢驗(yàn)的問(wèn)題,去努力解決他們,有的時(shí)候你知道及時(shí)解決了也沒(méi)啥有趣的,但是你必須去做,這個(gè)畢竟有一點(diǎn)惱人,但是現(xiàn)在想來(lái),有些東西只有標(biāo)準(zhǔn)化了,特別是開(kāi)始的時(shí)候,日后才會(huì)對(duì)你起到至關(guān)重要的作用,會(huì)是你事半功倍。所以說(shuō),基礎(chǔ)是一定要打牢的。

可以說(shuō),從游戲開(kāi)始探究是一個(gè)不錯(cuò)的主意,而讓你的屏幕上的東西動(dòng)起來(lái),是第一步激動(dòng)人心的(至少在我看是這樣),我的第一個(gè)探究,就是讓一個(gè)靜止閃爍的動(dòng)起來(lái),如果你有那么的一點(diǎn)興趣,只要有現(xiàn)在的網(wǎng)絡(luò)的巨大的幫助,相信不是難事,而你也會(huì)想到之后會(huì)發(fā)生的事情,當(dāng)一個(gè)點(diǎn)動(dòng)起來(lái)的時(shí)候,你就會(huì)去想更多的點(diǎn)動(dòng)起來(lái)并且形成某種組合的神奇的效果。不錯(cuò),接下來(lái)就是這么發(fā)展的,首先你可以做一個(gè)大大的組合式的倒計(jì)時(shí),也就是用很多的小點(diǎn)來(lái)組合成一個(gè)數(shù)字,然后隨著時(shí)間的推移,你可以使這些點(diǎn)按照你所預(yù)想的方式動(dòng)起來(lái),然后就是倒計(jì)時(shí)的實(shí)現(xiàn)了,這之中設(shè)計(jì)到一些特定的函數(shù)的使用,之前對(duì)這個(gè)的認(rèn)識(shí)比較不足,編譯工具在自己的哭腫其實(shí)已經(jīng)包括了一些固化的函數(shù),比如時(shí)間的函數(shù),Delay函數(shù),可以是你的程序等待一會(huì)兒,而在這一段短暫的時(shí)間內(nèi),我們可以讓程序作出一些改變,就是改變點(diǎn)的排列,然后等到時(shí)間一到,數(shù)字就變化了,內(nèi)置的固化的函數(shù)對(duì)編程時(shí)很有用的(這一點(diǎn)在后面你也將看到)。是的,然后就是貪食蛇的游戲,我發(fā)現(xiàn)通過(guò)些許的代碼,我可以創(chuàng)造出一個(gè)小小的游戲,也許他的界面還是黑白兩色的(這一點(diǎn)必將改變,你馬上就能看到),只是一條抽象化概念上的蛇,但是那種激動(dòng)真的是非常的!如果你也是在這樣的惡地步,你可以想見(jiàn)我當(dāng)時(shí)的興奮!所以說(shuō),編程就是一件這樣神奇的事情,你需要的不多,只是那么一段簡(jiǎn)短的代碼的鼓舞。

順便提一下,像CSDN這樣的網(wǎng)站需要經(jīng)常去看一下,等到有了一定的基礎(chǔ),這些網(wǎng)站對(duì)水平的提高會(huì)有巨大的幫助,不過(guò)對(duì)于前不久的泄密事件我不想說(shuō)啥,這只能說(shuō)明,國(guó)內(nèi)的網(wǎng)絡(luò)環(huán)境本身需要一種凈化和提純。

貪食蛇讓我初次接觸了圖形化的編程,盡管在后來(lái)的眼光中,這根本算不上是圖形化,24點(diǎn)是我們熟悉的游戲,我還能清楚地記得當(dāng)初在那四個(gè)數(shù)字面前的那種糾結(jié),當(dāng)一個(gè)軟件學(xué)院的朋友說(shuō)道正在編寫(xiě)這樣的程序時(shí),我也突然想到,把它交給程序來(lái)做,會(huì)是怎樣的情形呢?毫無(wú)疑問(wèn),最后的成果證明了在計(jì)算機(jī)面前,這就不能算作是游戲了。

對(duì)于24點(diǎn)程序的編寫(xiě)我力求簡(jiǎn)短,而我也做到了這一點(diǎn),至少在一定的程度上做到了,如果有誰(shuí)需要程序,可以聯(lián)系我,qq:970435817.而計(jì)算機(jī)在計(jì)算上的優(yōu)勢(shì),無(wú)疑為計(jì)算機(jī)在我們身邊存在的各種各樣的應(yīng)用中大顯身手,我也一直相信,人工智能,將有巨大的發(fā)展。從中我們可以,或者說(shuō),至少看出來(lái),編寫(xiě)程序有時(shí)對(duì)我們的智力的發(fā)展是有幫助的,或者說(shuō),如果你認(rèn)為自己是聰明的,那就用程序代碼來(lái)證明吧。微軟程序員的《編程之美》,從這個(gè)意義上說(shuō)是一本好書(shū),而對(duì)他的研讀需要一定的功底和時(shí)間,而這一切對(duì)于興趣來(lái)說(shuō)是沒(méi)有問(wèn)題的。說(shuō)到這兒,在網(wǎng)絡(luò)之外,對(duì)于書(shū)籍的閱讀,也是提高水平的一個(gè)重要的途徑,學(xué)習(xí)就是這樣,那無(wú)窮無(wú)盡的知識(shí)會(huì)讓你感到一種失眠的興奮,你會(huì)整個(gè)一個(gè)月都在鉆研這個(gè)東西,而不會(huì)感受到任何的枯燥,如果你有志于科研的道路,這樣的精神是值得保持的。當(dāng)然,也希望中國(guó)會(huì)有越來(lái)越多的人愿意在學(xué)術(shù)的路上真正貢獻(xiàn)和花費(fèi)。

其中也編了不少的小程序,如果想要編寫(xiě)大型的程序,那么小型的程序的數(shù)量必須足夠,而且,當(dāng)編程到了一定的階段,對(duì)于軟件的認(rèn)識(shí)也要有一定的改變,對(duì)于軟件的組件上的理論也要有一定的了解,當(dāng)然,這只是我個(gè)人的看法?;蛟S連參考都不能算上。

之后就應(yīng)該到了真正稱得上圖形化的編程了,由于我使用的編程工具一直沒(méi)有發(fā)生改變,你應(yīng)該能猜想到下面發(fā)生的故事,TURBO C上圖形化界面編程,用最簡(jiǎn)單的例子來(lái)說(shuō),或許就是在屏幕上畫(huà)上一條并不漂亮的直線,或是一個(gè)規(guī)則的四方體,而在這之前,必須要經(jīng)過(guò)某些配置和頭文件(如果看不懂,建立你去百度一下)的添加才行。所以后來(lái)在網(wǎng)上看到別人的惡帖子時(shí)確實(shí)也覺(jué)得該換一個(gè)編程的環(huán)境了,所以接著就走進(jìn)了VC++的環(huán)境,全新的環(huán)境,但是其實(shí)是換湯不換藥,只要你掌握了編程的思想和語(yǔ)法,其實(shí)編程工具真的不會(huì)產(chǎn)生太大的影響,在VC中圖形化的實(shí)現(xiàn)就簡(jiǎn)單和容易多了,而且我也開(kāi)始了對(duì)話框的編程,即一種控件的編程。

對(duì)于控件的編程我要詳細(xì)的講一下,因?yàn)檫@段編程的經(jīng)歷中給我的欣喜是比之前更多的,直到現(xiàn)在,在假期空閑的時(shí)候,我依然會(huì)去手癢的編上幾個(gè)實(shí)用的程序,編程的另一個(gè)好處就在這其中體現(xiàn)出來(lái)了,當(dāng)你需要某種特定程序的時(shí)候,你會(huì)有有這種信心去自己編寫(xiě),當(dāng)然利用現(xiàn)成的VC工具,這個(gè)會(huì)在之后詳細(xì)的講到。

說(shuō)的更為專業(yè)一點(diǎn),就是VC里面的著名的MFC編程,而MFC編程采用的編程思想與之前采用的過(guò)程式的編程思想產(chǎn)生了很大的變化,所以在這之前必須對(duì)這一切做詳細(xì)的了解,興趣就是最好的老師,這句話真的說(shuō)到了點(diǎn)子上,基于事件的結(jié)構(gòu),以及C++中面向?qū)ο蟮乃枷耄际切缕娴?,我也最終掌握了,然后就能真的開(kāi)始編程了。

初次接觸對(duì)話框編程的時(shí)候,你或許會(huì)得到某種巨大的滿足,因?yàn)槟憔帉?xiě)出的程序竟然有了和微軟差不多的界面,僅僅是一個(gè)小小的對(duì)話框,你會(huì)倍受鼓舞,但是也不能忘記,這個(gè)界面是微軟默認(rèn)實(shí)現(xiàn)的,我們只是踩在巨人的肩膀上完成的,當(dāng)有一天能自己獨(dú)立完成這一切的時(shí)候,那種感覺(jué)或許還會(huì)有不同,但是現(xiàn)在的時(shí)代要求我們能夠高速的接觸知識(shí),學(xué)習(xí)知識(shí),然后快速的運(yùn)用知識(shí),所以說(shuō)借助巨人的肩膀已經(jīng)變得必不可少了。也不必感到某種失落,先接著,將來(lái)或許還能還得嘛。

在小小的對(duì)話框中,放上自己定義的控件愛(ài)你,比如一個(gè)小小的按鈕,真的是一件奇妙的事情,VC所見(jiàn)即所得的編程方式,使這一切的誕生伴隨著快捷和方便。在這里賣(mài)弄我編寫(xiě)了不少的程序,比如軟件書(shū)簽,詩(shī)詞閱讀器,又比如文件加密,真的有太多的好玩的應(yīng)用,如果有興趣,可以問(wèn)我要源代碼,而在孫鑫的C++的視頻中,你也可以找到很多可以給你的靈感帶來(lái)幫助的新奇的學(xué)習(xí),從C,到C++,再到匯編,在計(jì)算機(jī)的世界里,充分的領(lǐng)略了人們的聰明才智,這又是何等幸運(yùn)的事情啊。

編程到現(xiàn)在,其中斷斷續(xù)續(xù),已經(jīng)有一個(gè)一個(gè)半的年頭,之后或許我會(huì)去學(xué)習(xí)JAVA,也或許不會(huì),而是在硬件的道路上去更深入的學(xué)習(xí),畢竟是電子專業(yè),而電子對(duì)于編程的貢獻(xiàn),當(dāng)然不言而喻,你的軟件畢竟也需要硬件的良好的運(yùn)轉(zhuǎn)嘛,而且軟件的速度也根本上取決于硬件的速度。

說(shuō)道最后,2012年的第一個(gè)月就要過(guò)去了,新的一年,新的開(kāi)始。如果你喜愛(ài)編程,如果你覺(jué)得自己對(duì)代碼有一種天生的興趣,如果你不干預(yù)平凡,如果你希望某種滿足,那就學(xué)學(xué)編程吧,寫(xiě)寫(xiě)代碼吧,或許哪一天,你會(huì)感謝當(dāng)初的這種選擇。

而我的對(duì)于編程的回憶,也在這里,這個(gè)時(shí)間打上一個(gè)小小的印記。



關(guān)鍵詞: 電子工程師編程回憶

評(píng)論


技術(shù)專區(qū)

關(guān)閉