Altnivela programlingvo
Altnivela programlingvo estas programlingvo kun forta abstraktado de la detaloj de la komputilo. En komparo al malaltnivelaj programlingvoj, ĝi povas uzi naturlingvajn elementojn, esti pli facile uzebla, aŭ esti pli portebla trans platformoj. Tiaj lingvoj kaŝas la detalojn de CPU-operacioj — kiel ekzemple, modeloj de memorilo kaj administrado de amplekso.
Tiu pli da abstraktado kaj kaŝejo de detaloj intencas ĝenerale uzantamikigi la lingvon, kiam ĝi inkluzivas konceptojn de la problemdomeno anstataŭe de tiuj de la elektema maŝino. Altnivela lingvo izolas la ekzekutosemantikon da komputila arkitekturo el la programspecifo, do la procezo de programa evoluigado simpliĝas kaj komprenebliĝas kun respekto al malaltnivela lingvo. La kvanto de provizita abstraktado difinas la altnivelemon da programlingvo.
Konrad Zuse kreis Plankalkül, la unua altnivela programlingvo por komputilo. Tamen, oni ne efektivigis ĝin en sia tempo, kaj siaj originaj kontribuoj izoliĝis de aliaj evoluoj.
Lingvotrajtoj
redaktiLa esprimo "altnivela lingvo" ne implicas tion ke la lingvo estas pli bona ol tiu de malaltnivelaj programlingvoj. Fakte, en rilato al la postulata sciprofundo pri kiel komputiloj funkcias, la inversa estus vera. Prefere, "altnivela lingvo" signifas la pli altan nivelon de abstraktado el maŝinlingvo. Produktive programi en antaŭfiksita malaltnivela lingvo povas bezoni detalan scion pri reĝistroj, memoradresoj kaj vokostako. Altnivelaj lingvoj ne traktas optiman programefikecon sed uzeblon — kun variantoj, tabeloj, objektoj, kompleksaj aritmetikaj aŭ buleaj esprimoj, proceduroj kaj funkcioj, maŝoj, fadenoj, ŝlosoj, kaj aliaj abstraktaj komputilsciencaj konceptoj. Krome, ili ne havas opkodojn kiuj rekte kompilas la lingvon en maŝinkodo, male al malaltnivela asembla lingvo. Aliaj ecoj — kiel ekzemple, signoĉenaj rutinoj, objektemaj lingvecoj kaj dosier-enmeto/elmeto — ankaŭ troviĝas.