C (programlingvo): Malsamoj inter versioj

44 bitokojn aldonis ,  antaŭ 6 jaroj
e
→‎Propraĵoj: gramatiko; klareco
[nekontrolita versio][nekontrolita versio]
(informkesto programlingvo; rearanĝoj)
e (→‎Propraĵoj: gramatiko; klareco)
== Propraĵoj ==
 
C estas meznivela komputillingvo, kio signifas, ke la fonta kodo de programo povas esti tajpita sen detala kono de la [[CPU]]-speco de la komputilo. Antaŭ keol oni povas uzi la programon, la fonta kodo devas esti tradukita al la necesa maŝinkodo per tradukilo. Kontraste, programoj verkitaj en simbola maŝinkodo (malaltnivela) povas esti plenumitaj nur per unu speco de CPU. Kontraste kun altnivelaj programlingvoj, C devigas la programiston okupiĝi pri la asignadon kaj malasignadon de memoro.
 
La kernaj ecoj de C estas:
 
* Fokusofokuso al ordenemaordonema programado, kun iloj por programi jelaŭ struktura stilo.;
* Aliroaliro al malaltnivelaj propraĵoj de la maŝino, ekz. la uzo de [[referenco]]j por montri al lokoj en memoro.;
* Parametrojtransdonado estasde ĉiam transdonitajparametro al funkcioj jeĉiam kiel valoro, ne laŭkiel referenco.;
* Leksikaleksika regionumadoamplekso de variabloj (sed neniu subteno por fermoj aŭ funkcioj difinitaj ene de funkcioj).;
* Normanorma aro de bibliotekaj subprogramoj, kiuj donas ilojn kiuj estas utilajutilajn, sed ne strikte necesaj.necesajn;
* Uzouzo de [[antaŭtraktilo|antaŭtraktila]] komputillingvo, la [[C-antaŭtraktilo]], por taskoj kiel ekz. difini makroojn kaj heredi plurajn dosierojn de fontkodo.
 
Iuj el ĉi tiuj ecoj ne estas garantiitaj de la diversaj C-normoj. Ekzemple, la C-antaŭtraktilo estas ĝenerale aparta programo, kio permesas, ke dosieroj antaŭtraktiĝu, sen devitio ke ili devas esti plene tradukitaj, sed ĉi tio ne nepras. Tamen, la plejparto de realigoj de C havas ĉi tiujn ecojn, kaj la komunumo de C-programistoj atendas, ke ili ĉeestu.
 
Kvankam C estas altnivelameznivela komputillingvo, ĝi dividas iujn similaĵojn kun [[asembla komputillingvo]], kaj estas tremalpli pli malaltnivelaaltnivela ol la plejparto de aliaj komputillingvoj. Plej elstare, la programisto povas prizorgi la enhavojn de memoro: defaŭlte, C donas neniujn ilojn por kontroli la limojn de tabeloj kaj aŭtomatapor rubkolektoaŭtomata ([[senrubigilo|senrubigo]]). Libera prizorgado de memoro donas al la programisto pli da libereco por ĝustigi la kvalitojn de programo, kio estas aparte grava por programoj kiel peliloj. Tamen, tio ankaŭ faciligas la aperon de cimoj fontantaj el eraraj operacioj je memoro, ekz. bufraj trofluoj (transbordiĝoj). Oni jam verkis ilojn por eviti ĉi tiajn erarojn, i.a. bibliotekojn por kontroli la limojn de tabeloj kaj por rubkolekto, kaj la programon ''lint'' por kontroli fontan kodon.
 
IujKelkaj el la "mankoj" de C jam estis prizorgitaj de pli novaj komputillingvoj, kiuj heredas de C. La programlingvo [[Cyclone (programlingvo)|Cyclone]] havas ilojn por gardi kontraŭ eraraj uzoj de memoro. [[C Plus Plus|C++]] kaj [[Objective C]] donas ilojn celitajn por helpi objekteman programadon. [[Java]] kaj [[C dieso (programlingvo)|C#]] aldonas objektemajn ilojn kaj ankaŭ pli altan nivelon de abstrakteco, ekz. aŭtomatanper prizorgadonaŭtomata prizorgado de memoro.
 
== Historio ==
1 720

redaktoj