java和c語(yǔ)言的區(qū)別 有人說(shuō)c語(yǔ)言開(kāi)發(fā)效率比java低是哪些因素導(dǎo)致的?
有人說(shuō)c語(yǔ)言開(kāi)發(fā)效率比java低是哪些因素導(dǎo)致的?由于標(biāo)準(zhǔn)C語(yǔ)言不提供操作系統(tǒng)的內(nèi)容,如果您想為系統(tǒng)開(kāi)發(fā)應(yīng)用程序,需要使用系統(tǒng)提供的API。比如微軟的系統(tǒng)是MFC,使用起來(lái)很麻煩,不能跨平臺(tái)。但是,J
有人說(shuō)c語(yǔ)言開(kāi)發(fā)效率比java低是哪些因素導(dǎo)致的?
由于標(biāo)準(zhǔn)C語(yǔ)言不提供操作系統(tǒng)的內(nèi)容,如果您想為系統(tǒng)開(kāi)發(fā)應(yīng)用程序,需要使用系統(tǒng)提供的API。比如微軟的系統(tǒng)是MFC,使用起來(lái)很麻煩,不能跨平臺(tái)。但是,Java在虛擬機(jī)中運(yùn)行。只要使用虛擬機(jī)提供的類庫(kù)來(lái)完成應(yīng)用程序,就不需要再學(xué)習(xí)系統(tǒng)API,只要操作系統(tǒng)支持Java虛擬機(jī),跨平臺(tái)非常方便。還有封裝效率的問(wèn)題。Java提供的類庫(kù)相對(duì)簡(jiǎn)單,使用方便。這與C的MFC有關(guān),也與開(kāi)發(fā)環(huán)境有關(guān)。用VC6.0開(kāi)發(fā)Windows應(yīng)用程序是用C語(yǔ)言編寫的,我不認(rèn)為這是所見(jiàn)即所得。研究Java的組織結(jié)構(gòu)對(duì)您來(lái)說(shuō)是很費(fèi)時(shí)的。但是,Java環(huán)境要簡(jiǎn)單得多。最后,C在語(yǔ)言方面不支持面向?qū)ο蟮腏ava,但我認(rèn)為這不是重點(diǎn),因?yàn)槿绻悴恍枰獜念^開(kāi)始構(gòu)建Java,你就不需要C來(lái)方便
這很容易學(xué)習(xí),因人而異,窮人不要太大。但是一般來(lái)說(shuō),Java沒(méi)有C難,要學(xué)好這兩種語(yǔ)言幾乎同樣困難。
Java:
其開(kāi)源生態(tài)鏈系統(tǒng)非常龐大,各種框架涵蓋了所有開(kāi)發(fā)領(lǐng)域、各種衍生技術(shù)和業(yè)務(wù)應(yīng)用領(lǐng)域。然而,與C語(yǔ)言相比,它的入門難度要小一些,但更難深入、準(zhǔn)確地學(xué)習(xí)。一般來(lái)說(shuō),三五年沒(méi)有坑,所以很難被稱為大神。
此外,Java和C不是主要的正面競(jìng)爭(zhēng)關(guān)系。Java的主要競(jìng)爭(zhēng)語(yǔ)言是C#、PHP、pyhton等,因?yàn)橹饕獞?yīng)用領(lǐng)域不同。
C:
基本上,計(jì)算機(jī)的底層是C/C,C系統(tǒng)更復(fù)雜,分支更多。除了常規(guī)的桌面程序開(kāi)發(fā)外,只要對(duì)性能、計(jì)算速度等方面有要求,基本上都適合C,應(yīng)用領(lǐng)域更廣。但學(xué)好C語(yǔ)言需要三五年的時(shí)間。
總結(jié):
一般來(lái)說(shuō),Java比較容易入門,但很難深入學(xué)習(xí)和很好地使用。
一般來(lái)說(shuō),C進(jìn)入的難度相對(duì)適中。同樣,要學(xué)好和用好它也是很困難的。
祝你學(xué)習(xí)成功
學(xué)技術(shù),學(xué)java好還是C 好,兩個(gè)之間有何區(qū)別???
Java的啟動(dòng)速度確實(shí)很慢,但是在系統(tǒng)穩(wěn)定運(yùn)行后,JIT編譯器可以大大提高Java的運(yùn)行速度。在使用了專業(yè)定制的商業(yè)JDK之后,Java的運(yùn)行速度不再是問(wèn)題,比如alijdk。而且,對(duì)于互聯(lián)網(wǎng)企業(yè)來(lái)說(shuō),可以通過(guò)虛擬化技術(shù)大規(guī)模增加機(jī)器,也可以使用云計(jì)算,機(jī)器的性能還不夠?,F(xiàn)在有了一種混合技術(shù),甚至機(jī)器資源都可以共享。一般來(lái)說(shuō),Java的效率并不是瓶頸。
另一方面,Java的生態(tài)已經(jīng)非常成熟。通用的框架、大量的程序員、各大公司的商業(yè)應(yīng)用都是Java的芯片。Java最成功的技術(shù)是虛擬機(jī)技術(shù),現(xiàn)在kotlin和其他基于JVM的語(yǔ)言誕生了??梢哉f(shuō),Java的地位在短時(shí)間內(nèi)是不可撼動(dòng)的。
Java誕生于C之后,它解決了C的許多問(wèn)題,如指針引起的安全問(wèn)題。已經(jīng)做了很多優(yōu)化,比如去掉完全面向?qū)ο蟮慕Y(jié)構(gòu)化編程,添加垃圾回收機(jī)制以避免內(nèi)存泄漏。如果你不需要操作底層,比如修改內(nèi)存數(shù)據(jù)和操作硬件,但是做純粹的上層應(yīng)用程序,C就不如Java好。分享學(xué)習(xí)筆記和技術(shù)總結(jié),涵蓋Java技術(shù)、軟件架構(gòu)、前沿技術(shù)、開(kāi)源框架、數(shù)據(jù)結(jié)構(gòu)與算法、編程感悟等領(lǐng)域,歡迎使用微信公眾號(hào)“程序心”。