C proti C | C Sharp proti C Jeziki
Od leta 1950 je bilo uvedenih veliko programskih jezikov, medtem ko so nekateri čisto novi, drugi pa različice obstoječih, ki podpirajo številne programske paradigme. Tako C kot C sta programska jezika, ki sta bila predstavljena kot različici obstoječih jezikov. Znano je, da je predhodnik C-ja B, ki ga je prvotno razvil Ken Thompson s prispevki Dennisa Ritchieja, C pa je bil zasnovan z mislijo na koncept C-ju podobnega objektno usmerjenega jezika. C se uporablja za razvoj sistemske in aplikacijske programske opreme, medtem ko je C veliko boljši za razvoj aplikacijske programske opreme.
Jezik C
C je programski jezik za splošne namene, ki ga je prvotno razvil pokojni Dennis Ritchie v Bell Labs leta 1972. Čeprav je bila zamisel jezika podpirati uporabniku prijazno sistemsko programiranje, se je uporabljal za glavne programe v različnih domene.
C je tipiziran jezik, kjer so prisotni osnovni in izpeljani tipi podatkov, izrazi pa so oblikovani iz operatorjev in operandov. C je strukturni programski jezik, ki zagotavlja temeljne konstrukcije nadzornega toka z if-else, switch, while in itd. Poleg tega je mogoče vhod in izhod usmeriti v terminal ali v datoteke, povezane podatke pa je mogoče shraniti skupaj v nizih ali strukturah. Program je podprt s funkcijami, ki vračajo vrednosti osnovnih tipov, struktur, unij ali kazalcev. In funkcije so rekurzivno klicane.
C je lahek jezik, program C pa je sestavljen iz izvornih in naslovnih datotek. Prevajanje C se začne s predprocesorjem C, ki nadomesti makre v programskih datotekah. Nato prevajalnik C pretvori kodo v zbirno kodo. Sestavljalnik pretvori zbirno kodo v objektno kodo, preden urejevalnik povezav združi funkcije knjižnice ali funkcije, definirane v drugih izvornih datotekah, na katere se sklicuje izvorna koda programa (z main()), da ustvari izvršljivo datoteko.
C Jezik
C je razvil Microsoft, katerega razvojno skupino je vodil Anders Hejlsberg. C je objektno usmerjen programski jezik, ki ponuja zelo dobre funkcije, kot so preverjanje meja polja, močno preverjanje tipa in samodejno zbiranje smeti. To je resnično jezik na visoki ravni za razvijalce zaradi robustnosti programske opreme, vzdržljivosti in produktivnosti programerja.
Programi C so organizirani z uporabo imenskih prostorov, ki ponujajo hierarhično sredstvo za organiziranje elementov enega ali več programov.
Jezik podpira predvsem dva tipa: vrednostne tipe in referenčne tipe. Podpira boksanje in razklapljanje s svojo implementacijo spremenljivk kot objektov. Prek Generics podpira predloge C++, ki so zelo pomembne pri generičnem programiranju. Čeprav jezik nima eksplicitnega predprocesorja, je podprta definicija simbola na osnovi predprocesorja C.
V C je izvorna koda prevedena v kodo CIL (skupni vmesni jezik), med izvajanjem pa se ta koda CIL pretvori v strojno kodo s prevajalnikom JIT (pravočasno). To prevajanje pred časom izvajanja mora potekati na računalniku, v katerem naj bi se program izvajal, ker bo ovrednotil značilnosti stroja (procesor, pomnilnik itd.), da bi ustvaril kodo, ki je učinkovitejša.
Kakšna je razlika med C in C?
• C je objektno usmerjen programski jezik, medtem ko je C strukturni jezik.
• C lahko dostopa do funkcij OS na nizki ravni, zaradi česar je boljša v primerjavi s C.
• C je "upravljan" jezik, kar pomeni, da se koda prevede v vmesno obliko, ki se nato izvaja na virtualnem računalniku. Ta poseben VM je znan kot "CLR" ali Common Language Runtime. Toda C je "neupravljan" jezik, kjer je koda prevedena v izvorno obliko.
• V sedanjem kontekstu se C uporablja za sistemsko programiranje in programe, kritične za zmogljivost, medtem ko C ponuja rešitve za splet, namizne računalnike in mobilne naprave.
• C ponuja močno manipulacijo s kazalcem in aritmetiko, medtem ko C ponuja samo kazalce v nevarnem načinu.
• Upravljanje pomnilnika ni programerjeva dolžnost v C, ki ga podpira Garbage Collection.
• C podpira makro, C pa ne.
• Konceptu globalnih spremenljivk, funkcij in konstant se v C izognemo tako, da ga nadomestimo s statičnimi člani javnih razredov.
• C dovoljuje privzete argumente za parametre funkcije.
• V C so prisotni preverjanje vezave polja in definirani tipi velikosti.
• C ponuja napredne informacije o vrsti izvajalnega okolja in refleksijo.
• C je dokaj lahek jezik, medtem ko je C ogromen.
• C ima vgrajeno podporo za navoje.
• V aritmetičnih operacijah C je mogoče preveriti prelive.
• C konceptualizira vse tipe podatkov v objekte, kar nato podpira veliko manipulacij s tipi podatkov.