官术网_书友最值得收藏!

5-8 對比Pascal語言和C語言中函數使用的差異

Pascal語言往往作為一門程序設計的教學語言使用,現在在計算機奧賽中等教學領域也有一定的使用,讀者將來也可能會用Delphi這種基于Pascal變化而來的快速開發工具,所以這里對比一下。

記得當年學習程序設計語言的時候。我們班也和現在的網絡上一樣,有喜歡Pascal語言的,有喜歡C語言的。兩邊爭得不亦樂乎。其實Turbo C和Turbo Pascal在Borland的調教之下,功能相差無幾。

其實我是先用Turbo Pascal再轉入Borland C++的。中途只是考試用了一下Turbo C。

要說兩種語言,我也是先親近Pascal語言,后來愛上C語言的。

開始我喜歡Pascal語言的嚴謹,每一個語法都有嚴格的語法圖示。Turbo Pascal編譯速度很快。后來更喜歡C語言一些,源于它們對函數處理的區別。

C語言是不能在函數中定義一個函數的。雖然也可以嵌套。

但Pascal語言可以,可以在定義部分,定義一個這個函數使用的函數。

我仔細對比了之后,認為C語言這種做法使得C語言更簡潔、更精巧。

原因如下:

(1)在函數體外定義一個函數,需要的時候,調用即可,顯得更簡潔,好理解。

(2)Pascal語言的這個機制,給Pascal語言的學習帶來困擾,理解這樣的嵌套函數,也很費力。

實際上,我更喜歡Turbo Pascal提供的unit這個功能。

一個單元就是一個模塊。在任何一個單元中,分為接口和實現兩個部分。我們要用這個模塊,只需要理解接口中的調用函數用法就可以了。

和C語言/C++的頭文件的實現文件機制非常像。

但是,unit單元文件編譯后,對接口不可見,不像C語言,讀一下頭文件,基本上能掌握十之八九。

不可見,就需要另外提供開發文檔給使用者,好像也不是很好。但是unit單元提供的這種接口/實現相分離的機制,一直給我留下了非常深刻的印象。

所以,Pascal語言更適合作為教學語言,給剛剛接觸結構化編程的學生建立嚴格代碼規范的訓練。可以避開C和C++的一些簡單陷阱,先專注于理解程序語法規則。而C/C++適合作為以為開發技能的訓練。當然,本書提供了一種思路,你可以先學習最核心的C語法,然后再學習C語言的一些技巧,跨過這些缺陷。現在直接用C語言作為教學的情況也多了起來,其實這是一件好事情,可以讓學生直接接觸工業級實際開發代碼,對就業和直接上手都很有幫助,就是學習的時候,要注意C語言的學習臺階。

所以,讀者們請多注意語言特性的區別,這個特性能有什么好的用處?甚至思考一下有些程序設計語言為什么要有這個特性?以及這個語言帶給你開發程序上的實際意義。如果你都能對這些加以思考,并不斷尋找答案,相信你會更上一層樓的。

主站蜘蛛池模板: 锡林郭勒盟| 石嘴山市| 平定县| 中山市| 类乌齐县| 庆城县| 丹棱县| 云安县| 岳普湖县| 麦盖提县| 抚宁县| 塔河县| 鞍山市| 巴彦淖尔市| 穆棱市| 南雄市| 公主岭市| 滕州市| 无极县| 凤庆县| 尼勒克县| 华安县| 姚安县| 池州市| 龙山县| 磴口县| 丰镇市| 盐亭县| 建水县| 集安市| 香港 | 科技| 黄浦区| 闽侯县| 溧阳市| 奉节县| 清苑县| 方山县| 澜沧| 麻江县| 海淀区|