以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- C++語言開發(fā) (http://www.hufushizhe.com/bbs/list.asp?boardid=63) ---- 編程語言之兵器譜(六) (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=63&id=2445) |
-- 作者:wangxinxin -- 發(fā)布時間:2010-12-10 15:29:28 -- 編程語言之兵器譜(六) 微機史上最強的編程語言是C/C++。C最大的特色就是指針,指哪兒打哪兒,如果把指針做到應用自如,那就是無往而不勝了, C/C++對應兵器譜上第3位小李飛刀,刀無虛發(fā),畢竟現(xiàn)在的Web時代,后來居上的JAVA和.Net成為主流的開發(fā)語言,所以只能把它屈居第三位了。
但就其語言本身來看,JAVA和.Net更多的象是在C++之上減減增增。我感覺C/C++能夠稱的上編程語言史上最有影響力的語言,而它的成功完全是在其自身的優(yōu)秀特證所決定的,后面的JAVA和C#的成功是完全在C/C++的基礎上,它們站在了C/C++這個巨人的肩膀上。
C是Combined的縮寫,產生于1972年,C在DOS時代以其語句簡潔,代碼執(zhí)行速度快,既可編寫底層代碼,又可輕松實現(xiàn)GUI的繪制,脫穎而出,成為最適合于系統(tǒng)底層程序和游戲開發(fā)的語言,被譽為中級語言,是表示它兼有高級語言和低級語言的特證。C的出現(xiàn)讓人們看到了一種新的語言風格,感覺C語法最大的特點是簡潔,靈活,比如分號代表語句的結束,可以讓程序的一條語句不拘于寫在一行中,這比BASIC和Fortran好,用大括號來代替Begin和End要比Pascal在書寫上省下很多。同樣一段程序,用C可以做到代碼比別的語言短,而運行速度通常要比別的語言快。C語言中更可以調用一些DOS系統(tǒng)中斷功能,Bios中斷功能,直接訪問硬件,讀寫端口,Dos時代的C是無所不能的,比如把Dos系統(tǒng)中斷改了,讓Dos在處理例行事務時,作些程序指定的操作,那是挺容易的,所以Dos下面病毒很多,不過那個時代寫底層代碼時的限制少,Windows下很多直接對硬件的訪問都限制了,Web時代更是以虛擬機和跨平臺為榮了。C/C++傾向于系統(tǒng)開發(fā),還有游戲設計,只要這兩個領域還在,它就是永遠的日不落帝國。
DOS時代最流行的開發(fā)工具是Turbo C,Borland公司的優(yōu)秀產品,Turbo C是DOS時代C開發(fā)工具的霸主,我個人上是非常喜歡Turbo C,至今電腦上還裝著Turbo C2.0,也就2M左右,有時懷念起當年在大學機房里用Turbo C運行代碼的時光,還可以打開看下那熟悉的藍色界面,相信很多朋友都用過它。微軟推出的是Quick C(Windows 3.x上還有個Quick C For windows,其實也真挺好用的),但總還是比Turbo C用起來感覺差一些。從Simula,Smalltalk等面向對象的語言的成功中吸取了經驗,加入了面向對象的元素后,C++面世了。
C++工具的早期的主流是Borland C/C++和Microsoft C/C++,在開發(fā)平臺從DOS平臺轉換到Window平臺的背景下,各大C/C++開發(fā)工具廠商紛紛推出Windows應用的開發(fā)工具,出現(xiàn)了兩大類庫OWL和MFC,把面向對象技術在Windows應用開發(fā)中充分利用,正是面向對象技術簡化了Windows應用的開發(fā),在Windows應用開發(fā)過程中展現(xiàn)了面向對象技術的威力后,面向對象技術也得以更加的流行和推廣,編程領域進入OO和Windows的時代。這時的開發(fā)工具更是相當?shù)呢S富的,Borland C/C++3.0版可以開發(fā)DOS和windows兩個平臺的程序,因為使用Win API寫Windows程序很麻煩,Borland推出了OWL(object windows library),用類庫封裝了windows API,與其相似的是微軟推出的MFC(Microsoft Function class)。
編程平臺開始向Windows平臺轉移的時候,想成為Windows平臺上C/C++開發(fā)工具的霸主的卻不只Borland和微軟兩家,李維的《Borland 傳奇》中描述了一場壯觀的開發(fā)工具的“圣戰(zhàn)”(也可以稱為四國大戰(zhàn)),它們是Borland C/C++, Microsoft Visual C/C++, Watcom C/C++(是否記得DOS 4GW 保護模式嗎,其實DOS時代很多游戲都是Watcom C/C++開發(fā)的,而它的運行必須要在DOS 4GW 保護模式下,這樣解決了DOS系統(tǒng)中直接訪問的內存不同超過1M的問題,當年幾乎所有的DOS版的游戲都是它開發(fā)的,比如古墓麗影,仙劍奇?zhèn)b傳等), Symantec C/C++(著名的殺毒軟件諾頓的公司Symantec啊,其實它也是一家資深編程工具開發(fā)公司呢,后來的JAVA開發(fā)工具中Symantec也不甘寂寞的)四大工具閃亮登場,而最終勝出的是Borland C++ 3.1,在Window早期,Borland C++ 3.x是最好的windows應用的開發(fā)工具了,Borland C++ 開發(fā)出的Windows應用是很有特色的,因為按鈕和圖標都有點和microsoft的風格不太一樣的,當年用Borland C++開發(fā)的應用,現(xiàn)在一看仍能分辨出來,不過現(xiàn)在已經難見到這種應用程序了。Visual C++的統(tǒng)治開始了,當微軟在這個領域異軍突起時,Borland趕緊推出Borland C++4.0時,已經無法改變形勢了,后來的Borland C++5.0仍是優(yōu)秀的作品(記不得4.0,4.5還是5.0的Borland C++了,安裝它時,屏幕上卻是開賽車時的第一視角的情景,用戶看到車內的行程指示計指示從0%升到100%后安裝就結束了,挺有創(chuàng)意的,不過那象是一條下坡路了)。
Visual C++是后來的王者,現(xiàn)在能見到的Visual C++都是5.0而6.0的,喜歡Visual C++的Wizard,點幾下鼠標一個Windows Application就產生了,Microsoft提供各種SDK,為用戶服務,其中最喜歡的SDK當然是Direct X,夢想用C++開發(fā)個SuperMario出來,至少也要俄羅斯方塊什么的,不過入IT行業(yè)工作后,整天項目做的累夠嗆,沒有時間去實現(xiàn)夢想了,入行IT后沒有機會參加C/C++項目,很大的遺憾了。當年在機械行業(yè),最美好的回憶是02年為公司的閥門為一個控制系統(tǒng),兩米多高的閥門,研究生畢業(yè)的胡老師組織好硬件線路,我用一臺奔II來控制閥門的開啟和運作,程序上由我一人開發(fā),主界面上點擊按鈕來讓閥門運動(也可在自動模式自動運行),屏幕中間的最大區(qū)域是閥門當前的狀態(tài)圖。當系統(tǒng)接好,我第一個上來操作,一點鼠標看到那么巨大的機械被我的程序控制運作,真是很有成就感呢。我是用Win API+Direct X技術做的,DOS下全屏幕的800x600的分辨率,背景圖、按鈕、狀態(tài)圖都是我用Corel PhotoPaint , AutoCAD等工具制作的,剛啟動時閥門的照片以一個向下縱伸展開的動畫方式出現(xiàn)的創(chuàng)意還真有點意思,當時伊拉克客戶看閥門時,把我的程序(不與硬件連接的演示版)考了一份回去了,我感覺是我的程序出國了。
C/C++的魅力在于它的長盛不衰,除了Visual C++,Borland的C++ Builder是和VB,Delphi一樣的好用的屬于C++的RAD工具,Microsoft的.Net中Visual C++.Net是其不可缺少的一部分,Linux、Unix的Shell中C Shell是重要的一個,Mainframe應用開發(fā)中C應用廣泛。相信C/C++做為IT編程領域永遠的傳奇會繼續(xù)展現(xiàn)它的魅力的。
下篇介紹當今Web應用開發(fā)的主流----Java。雖然JAVA最早不是為Web開發(fā)而產生的,但它在語言方面的特色,與Web時代的驅勢不謀而合了,于是成就了一個屬于JAVA的時代。Java對應排行第二的上官金虹的子母龍鳳環(huán),雖說Java就一種語言,可如今的Java 1.5(tiger版),1.6(mustang版),語言上已經和原來的Java 1.2~1.4不一樣了,它添加了對泛型,枚舉,元數(shù)據等的支持,流行很久的1.2版為基礎的Java2(母環(huán))和吸取了C#.Net的一些優(yōu)點后產生的Java5(子環(huán))構成了Java的雙環(huán)。
|