C vs C | C Sharp vs C Languages
Txij li xyoo 1950, ntau hom lus programming tau raug tsim, thaum qee qhov yog cov tshiab thiab lwm tus yog qhov sib txawv ntawm cov uas twb muaj lawm los txhawb ntau lub programming paradigms. Ob leeg C thiab C yog cov lus programming, uas tau qhia ua ntau hom lus uas twb muaj lawm. Nws paub tias C tus thawj coj yog B, Ameslikas tsim los ntawm Ken Thompson, nrog kev koom tes los ntawm Dennis Ritchie, thiab Ctau tsim nrog lub tswvyim C-zoo li Object Oriented Language hauv siab. C yog siv rau kev tsim kho thiab kev siv software, qhov C yog qhov zoo dua rau kev txhim kho daim ntawv thov software.
C Language
C yog hom lus programming dav dav, uas yog thawj zaug tsim los ntawm lig Dennis Ritchie ntawm Bell Labs hauv 1972. Txawm hais tias lub tswv yim ntawm hom lus yog los txhawb cov neeg siv kev sib raug zoo system programming, nws tau siv rau cov kev pab cuam loj hauv kev sib txawv. domains.
C yog ib hom lus uas muaj ob hom ntaub ntawv tseem ceeb thiab muab tau los, thiab cov lus qhia tau tsim los ntawm cov tswv lag luam thiab cov neeg ua haujlwm. C yog ib hom lus programming, uas muab kev tswj hwm-kawm tsim nrog yog-lwm, hloov, thaum thiab lwm yam. Tsis tas li ntawd, cov tswv yim thiab cov zis tuaj yeem raug coj mus rau lub davhlau ya nyob twg lossis rau cov ntaub ntawv, thiab cov ntaub ntawv cuam tshuam tuaj yeem khaws cia ua ke. hauv arrays lossis cov qauv. Qhov kev zov me nyuam tau txais kev txhawb nqa nrog kev ua haujlwm, uas yuav rov qab qhov txiaj ntsig ntawm hom pib, cov qauv, cov koom haum lossis cov taw qhia. Thiab cov haujlwm tau hu rov qab tau.
C yog hom lus hnyav, thiab C qhov kev pab cuam muaj cov ntaub ntawv hauv paus thiab header. C compilation pib nrog C preprocessor hloov macros hauv cov ntaub ntawv program. Ces tus C compiler converts cov code rau lub rooj sib txoos code. Lub assembler hloov cov cai sib dhos rau cov khoom code ua ntej Link Editor sib txuas cov tsev qiv ntawv ua haujlwm lossis cov haujlwm uas tau teev tseg hauv lwm cov ntaub ntawv siv los ntawm qhov program code (nrog lub ntsiab ()) los tsim cov ntaub ntawv ua tiav.
C lus
C yog tsim los ntawm Microsoft, uas nws pab pawg txhim kho tau coj los ntawm Anders Hejlsberg. C yog hom lus hais txog kev ua haujlwm uas muaj cov yam ntxwv zoo heev xws li kev txheeb xyuas cov array ciam teb, kuaj xyuas hom muaj zog, thiab tsis siv neeg cov khib nyiab. Nws yog ib hom lus siab tiag tiag rau cov neeg tsim tawm vim yog software robustness, durability, thiab programmer productivity.
C cov kev pab cuam tau teeb tsa siv lub npe, uas muaj cov txheej txheem hierarchical ntawm kev teeb tsa ntawm ib lossis ntau qhov kev pab cuam.
hom lus txhawb nqa ob hom: hom nqi thiab hom siv. Nws txhawb nqa boxing thiab un-boxing los ntawm nws qhov kev siv ntawm kev hloov pauv raws li cov khoom. Nws txhawb C ++ templates ntawm Generics, uas yog ib qho tseem ceeb heev nyob rau hauv generic programming. Txawm hais tias hom lus tsis muaj tus txheej txheem ua ntej, C preprocessor raws li lub cim txhais tau txais kev txhawb nqa.
Nyob rau hauv C, lub hauv paus code yog muab tso ua ke rau ib tug CIL (ib nrab hom lus) code, thiab nyob rau hauv runtime, no CIL code yog hloov dua siab tshiab rau tshuab code siv JIT (Just In Time) compiler. Qhov kev ua tiav ua ntej-lub sij hawm muab tso ua ke no yuav tsum muaj nyob rau hauv lub computer uas qhov kev pab cuam yuav tsum raug tua, vim hais tias nws yuav soj ntsuam cov yam ntxwv ntawm lub tshuab (processor, nco, thiab hais txog) thiaj li yuav tsim code uas yog npaum li cas.
C thiab Cqhov sib txawv yog dab tsi?
• C yog hom lus taw qhia qhov programming, thaum C yog hom lus.
• C tuaj yeem nkag mus rau qib qis OS ua haujlwm ua kom nws ua haujlwm zoo dua piv rau C.
• C yog hom lus 'tswj', uas txhais tau hais tias cov lej suav nrog rau daim ntawv nruab nrab uas tom qab ntawd khiav ntawm lub tshuab virtual. Qhov tshwj xeeb VM no hu ua "CLR" lossis Common Language Runtime. Tab sis C yog ib hom lus 'tsis muaj kev tswj hwm' qhov twg cov cai tau muab tso ua ke rau nws daim ntawv ib txwm muaj.
• Hauv cov ntsiab lus tam sim no, C yog siv rau kev ua haujlwm thiab kev ua haujlwm tseem ceeb, thaum C muaj kev daws teeb meem rau lub vev xaib, desktop thiab mobile.
• C muaj zog pointer manipulation thiab lej lej, thaum C tsuas yog muab cov pointers hauv hom tsis zoo.
• Kev tswj hwm nco tsis yog tus programmer lub luag haujlwm hauv C, uas tau txais kev txhawb nqa los ntawm Kev Sau khib nyiab.
• C txhawb macro, uas C tsis.
• Lub tswv yim ntawm lub ntiaj teb hloov pauv, kev ua haujlwm, thiab qhov tsis tu ncua yog zam hauv C los ntawm kev hloov nws nrog cov tswv cuab zoo li qub ntawm cov chav kawm pej xeem.
• C tso cai rau kev sib cav ua ntej ntawm kev ua haujlwm tsis ua haujlwm.
• Hauv C, array bound checking thiab txhais hom loj yog tam sim no.
• C muaj cov ntaub ntawv ua haujlwm siab tshaj plaws thiab kev xav.
• C yog ib hom lus yooj yim, qhov C loj.
• C muaj kev txhawb nqa hauv xov.
• Hauv C kev ua lej lej tuaj yeem kuaj xyuas kom dhau.
• C conceptualizes tag nrho cov ntaub ntawv hom rau cov khoom uas nyob rau hauv lem txhawb ntau hom ntaub ntawv manipulations.