• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 淺談幾種主要編程語言

    淺談幾種主要編程語言

    作者: 時間:2012-12-05 來源:網(wǎng)絡(luò) 收藏

    經(jīng)常聽到有人在抱怨這個語言哪里哪里不好,那個語言又是如何的優(yōu)秀。對于這樣的牢騷,我只是一笑而過。

    就我而言,語言只是工具,沒有好壞之分。只要你采用相應(yīng)的語言,完成對應(yīng)的工作,那你的目標(biāo)就完成了。我們無需抱怨這種語言的缺點(diǎn),而是應(yīng)該抱有接受的態(tài)度。任何語言的存在都有它的合理性,如果不合理是不會經(jīng)受住時間的考驗(yàn)的。世間之物都具有雙面性,只是看利多還是弊大。如果一個東西是十全十美的,那我毫不猶豫的告訴你,一種情況是它不存在,另一種情況是你還沒發(fā)現(xiàn)它的缺點(diǎn)。

    每種語言都有自己得天獨(dú)厚的優(yōu)勢,當(dāng)然缺點(diǎn)同時伴存。C語言是計(jì)算機(jī)界的常青藤。C語言執(zhí)行效率高,用于寫底層的驅(qū)動那是再適合不過。指針是C語言的精華。而C++是很強(qiáng)大的,只要你是個高手,你幾乎可以利用C++完成任何事情。當(dāng)然虛函數(shù)是C++的精華。Java取消了指針,這是應(yīng)該喜還是憂。喜的是,沒有C或者C++那種對內(nèi)存繁瑣的操作,而且也降低了很多致命性的錯誤發(fā)生的概率。憂的是,效率大打折扣,采用虛擬機(jī)的方式使得Java有跨平臺的特性,必然會使得效率降低。另外一個方面,你借別人的東西使用(內(nèi)存),是不是應(yīng)該還回去呢?從這一方面考慮,C或者C++的設(shè)計(jì)思想更有意義。經(jīng)常關(guān)注TIOBE世界排行榜,Java已經(jīng)有很久排名第一,我覺得這樣的排名只是看看而已,無需過多的信奉。下面看看幾種主要語言的優(yōu)缺點(diǎn)。

    C語言

    C語言的優(yōu)點(diǎn):
    1.簡潔緊湊、靈活方便
    2.運(yùn)算符豐富
    3.數(shù)據(jù)結(jié)構(gòu)豐富
    4. C是結(jié)構(gòu)式語言
    5. C語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大
    6. C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作
    7. C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高
    8. C語言適用范圍大,可移植性好
    9. C語言有一個突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX,也適用于多種機(jī)型
    10.有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計(jì)任務(wù)分解成許多易于控制和處理的子任務(wù),便于開發(fā)和維護(hù)

    C語言的缺點(diǎn):
    1. C語言的缺點(diǎn)主要是表現(xiàn)在數(shù)據(jù)的封裝性上,這一點(diǎn)使得C在數(shù)據(jù)的安全性上做的有很大缺陷,這也是C和C++的一大區(qū)別。
    2. C語言的語法限制不太嚴(yán)格,對變量的類型約束不嚴(yán)格,影響程序的安全性,對數(shù)組下標(biāo)越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語言較難掌握。
    3.可重用性差
    4.數(shù)據(jù)安全性差
    5.難以開發(fā)大型軟件和圖形界面的應(yīng)用軟件
    6.把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨(dú)立的實(shí)體
    7.當(dāng)數(shù)據(jù)結(jié)構(gòu)改變時,所有相關(guān)的處理過程都要進(jìn)行相應(yīng)的修改
    8.每一種相對于老問題的新方法都要帶來額外的開銷 9.圖形用戶界面的應(yīng)用程序,很難用過程來描述和實(shí)現(xiàn),開發(fā)和維護(hù)也都很困難


    C++

    C++優(yōu)點(diǎn):
    1.可擴(kuò)展性強(qiáng)
    2.高效 簡潔 快速
    3.可移植性
    4.面向?qū)ο蟮奶匦?br />5.強(qiáng)大而靈活的表達(dá)能力和不輸于C的效率
    6.支持硬件開發(fā)
    7.程序模塊間的關(guān)系更為簡單,程序模塊的獨(dú)立性、數(shù)據(jù)的安全性就有了良好的保障
    8.通過繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開發(fā)和維護(hù)都更為方便

    C++缺點(diǎn):
    1.比較底層,易用性不是很好
    2.多重繼承和友元機(jī)制
    3.標(biāo)準(zhǔn)庫涵蓋范圍不足
    4.開發(fā)周期長
    5.非并行
    6.掌握有難度
    7.粒度封裝不夠


    Java

    Java的優(yōu)點(diǎn):
    1.簡單性
    2.面向?qū)ο笮裕嫦驅(qū)ο蟮某潭瓤梢赃_(dá)到95%)
    3.健壯性
    4.跨平臺性
    5.高性能(自動垃圾回收機(jī)制)
    6.多線程
    7.動態(tài)性
    8.安全性

    Java的缺點(diǎn):
    1.效率低(毋庸置疑)
    2.跨平臺是它最大的優(yōu)點(diǎn)也是最大的缺點(diǎn)
    3.復(fù)雜性(做一個項(xiàng)目需要很多的知識,涉及面廣)

    很多時候,一種語言的優(yōu)點(diǎn)很可能是它的缺點(diǎn),缺點(diǎn)又可能是它的優(yōu)點(diǎn)。這主要看你是從哪方面去考慮。這就印證了那句話,凡事沒有必然。

    不管是哪種語言,就像文章開頭所言,只要你采用他達(dá)到你想要的,那就成功了。無需過多在意它的缺點(diǎn),更無需贊揚(yáng)它的優(yōu)點(diǎn)。所以網(wǎng)上那些關(guān)于哪種語言更好的口水仗,我只能說這樣的爭斗毫無意義。

    語言只是工具,沒有好壞之分。

    本文引用地址:http://www.czjhyjcfj.com/article/185541.htm


    關(guān)鍵詞: 編程語言

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 青龙| 陈巴尔虎旗| 永川市| 响水县| 玉门市| 嘉鱼县| 凤台县| 济宁市| 汝南县| 开远市| 确山县| 平度市| 微博| 海晏县| 平果县| 七台河市| 新平| 合川市| 桦南县| 麻江县| 富源县| 瓦房店市| 开封市| 三穗县| 苏尼特左旗| 金平| 察隅县| 修文县| 颍上县| 广东省| 龙江县| 桂平市| 南召县| 金平| 承德市| 扶风县| 伊金霍洛旗| 尼玛县| 库伦旗| 通化市| 库伦旗|