一種簡捷的編程語言——C++語言
作為比C語言更簡捷的語言,C++語言提供了更好的機(jī)制來增強(qiáng)程序的安全性,C++編譯器具有嚴(yán)格的類型安全檢查功能,它幾乎能找出程序中所有的語法問題,這點(diǎn)大大的幫助了開發(fā)人員。
據(jù)考察,沒有一種命名規(guī)則可以讓所有的程序員贊同,程序設(shè)計(jì)教科書一般都不指定命名規(guī)則。命名規(guī)則對軟件產(chǎn)品而言并不是“成敗悠關(guān)”的事。我們不要化太多精力試圖發(fā)明世界上最好的命名規(guī)則,而應(yīng)當(dāng)制定一種令大多數(shù)項(xiàng)目成員滿意的命名規(guī)則,并在項(xiàng)目中貫徹實(shí)施。
具備上述特征越多,越顯得水平高,資格老。所以別奇怪,程序員的很多缺點(diǎn)竟然可以被當(dāng)作優(yōu)點(diǎn)來欣賞。就象在武俠小說中。那些獨(dú)來獨(dú)往、不受約束且?guī)c(diǎn)邪氣的高手最令人崇拜。我曾經(jīng)也這樣信奉,并且希望自己成為那樣的“真正”的程序員,結(jié)果沒有得到好下場。
我從讀大學(xué)到博士畢業(yè)十年來一直勤奮好學(xué),累計(jì)編寫了數(shù)十萬行 C++/C 代碼。有這樣的苦勞和疲勞,我應(yīng)該稱得上是編程老手了吧? 我開發(fā)的軟件都與科研相關(guān)(集成電路 CAD 和 3D 圖形學(xué)領(lǐng)域)。
動輒數(shù)萬行程序,技術(shù)復(fù)雜,難度頗高。這些軟件頻頻獲獎(jiǎng),有一個(gè)軟件獲得首屆中國大學(xué)生電腦大賽軟件展示一等獎(jiǎng)。在 1995 年開發(fā)的一套圖形軟件庫到 2000 年還有人買。羅列出這些“業(yè)績”,可以說明我算得上是編程高手了吧?
他雖然從未涉足過 3D 圖形領(lǐng)域,卻在幾十分鐘內(nèi)指出該軟件多處重大設(shè)計(jì)錯(cuò)誤。讓人感覺那套軟件是用紙糊的華麗衣服,扯一下掉一塊,戳一下破個(gè)洞。我目瞪口呆地意識到這套軟件毫無實(shí)用價(jià)值,一年的心血白化了,并且害死了自己的軟件公司。
人的頓悟通常發(fā)生在最心痛的時(shí)刻,在沮喪和心痛之后,我作了深刻反省,“面壁”半年,重新溫習(xí)軟件設(shè)計(jì)的基礎(chǔ)知識。補(bǔ)修“內(nèi)功”之后,又覺得腰板硬了起來。博士畢業(yè)前半年,我曾到微軟中國研究院找工作,接受微軟公司一位資深軟件工程師的面試。他讓我寫函數(shù) strcpy 的代碼。
C++是個(gè)強(qiáng)大的語言,可以用于做別的語言做不了的工作。但是,這種強(qiáng)大功能是有代價(jià)的。開始使用C++語言時(shí),你可能會遇到內(nèi)存溢出和訪問失效等問題,使程序死機(jī)。這里用最簡短的篇幅介紹C++語言基礎(chǔ)。
C++語言本身有專著介紹,這種書還特別厚,所以別指望我能用三言兩語說清楚。讀者學(xué)完本書并使用C++ Builder一般時(shí)間之后,最后對C++語言再作更深入的了解。 C++可以最充分地利用面向?qū)ο缶幊?OOP)的優(yōu)勢。
OOP不只是一個(gè)新名詞,而有它的實(shí)際意義,可以生成可復(fù)用的對象。新術(shù)語 對象(object),和前面介紹的構(gòu)件一樣,是完成特定編程任務(wù)的軟件塊(構(gòu)件是對象,但對象不全是構(gòu)件,稍后會解釋這點(diǎn))。
對象只向用戶(使用對象的編程人員)顯示必須的部分,從而簡化對象的使用。用戶不必知道的所有內(nèi)部機(jī)制都隱藏在幕后。這一切都包括在面向?qū)ο缶幊痰母拍钪小OP可以用模塊化方法進(jìn)行編程,從而避免每次從頭開始。C++ Builder程序是面向OOP的,因?yàn)?FONT size=+0>C++ Builder大量使用構(gòu)件。
生成構(gòu)件后(你生成的或C++ Builder內(nèi)置的構(gòu)件),C++語言就可以在任何C++ Builder程序中重復(fù)使用。構(gòu)件還可以擴(kuò)展,通過繼承生成具有新功能的新構(gòu)件。最妙的是,構(gòu)件隱藏了所有內(nèi)容細(xì)節(jié),使編程人員能集中精力充分利用構(gòu)件。
【編輯推薦】