它的不足是不夠簡(jiǎn)潔,不是底層語(yǔ)言,不能直接操作硬件,有些事情沒(méi)有辦法做的很好,比如硬件編程,嵌入式之類(lèi)的等。
c語(yǔ)言更像是計(jì)算機(jī)程序語(yǔ)言的基礎(chǔ),所以c語(yǔ)言向其他語(yǔ)言轉(zhuǎn)移也是非常簡(jiǎn)單的,c語(yǔ)言是完全底層的語(yǔ)言,比如驅(qū)動(dòng)、通信協(xié)議之類(lèi),在Unix和Linux環(huán)境中也是不可或缺的,另外在嵌入式領(lǐng)域也大有作為,而且c語(yǔ)言效率極高。
c語(yǔ)言也有一些問(wèn)題,因?yàn)槭敲嫦蜻^(guò)程的,所以不像面向語(yǔ)言的Java靈活,尤其在團(tuán)隊(duì)開(kāi)發(fā)的時(shí)候,不是跨平臺(tái)的,具有不可移植性。
由于過(guò)于底層,所以對(duì)硬件依賴(lài)很高,導(dǎo)致一旦硬件環(huán)境變化,會(huì)出現(xiàn)一些問(wèn)題,c語(yǔ)言的輸入輸出相對(duì)復(fù)雜等等問(wèn)題。
c語(yǔ)言和java哪個(gè)比較好?選擇學(xué)習(xí)JAVA還是C
現(xiàn)在JAVA和C都是當(dāng)今熱門(mén)編程語(yǔ)言,但是java與和C語(yǔ)言的技術(shù)特點(diǎn)和方向上還是有所不同,沒(méi)有伯仲之分,主要就是看你個(gè)人的發(fā)展方向了。
如果從學(xué)習(xí)的難易度上來(lái)說(shuō),JAVA語(yǔ)言比C語(yǔ)言要簡(jiǎn)單,因?yàn)镃語(yǔ)言屬于底層開(kāi)發(fā)語(yǔ)言,它的算法邏輯更復(fù)雜,那么C語(yǔ)言應(yīng)用比較廣泛。
C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
而JAVA語(yǔ)言相對(duì)C語(yǔ)言來(lái)說(shuō),學(xué)習(xí)起來(lái)更簡(jiǎn)單,很多書(shū)法基本上都封裝的函數(shù)和類(lèi)庫(kù)里,并需要編程人員自己寫(xiě)。
那么JAVA是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用程序的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。
JAVA技術(shù)具有通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球比較大的開(kāi)發(fā)者專(zhuān)業(yè)社群。