Programozási nyelvek kategóriák szerint

A programozási nyelvek kategóriái

Léteznek általános célú és szakterület-specifikus programozási nyelvek.

  • Szerkesztő (authoring) programozási nyelvek
    • Tutor
    • Coursewriter
    • PILOT
  • Batch nyelvek
    • sh (a (Stephen) Bourne shell az AT&T-től)
    • Bash (a b(ourne)a(gain)sh(ell) a Gnu Project része)
    • Zsh
    • CLIST (MVS Command List)
    • csh (C-szerű shell a UC Berkeley-i Bill Joy-tól)
    • EXEC
    • EXEC2
    • ksh (a David K(orn)sh(ell) az AT&T-től)
    • REXX
  • Fordítós (compiler) nyelvek
  • A Kapcsos zárójeles nyelvek szintaxisában a kifejezés-blokkokat a kapcsos zárójelek ({ és }) határolják. Túlnyomórészt C stílusú nyelvekről van szó, mint például
    • Asymptote (grafikus mértani ábrákat előállító nyelv)
    • C (1970-től D. Ritchie és K. Thompson fejlesztésében a Bell Labs-től – közeli kapcsolatban van a Unix operációs rendszerrel)
    • C++
    • C# (C++ ill. java szerű nyelv a .NET projekthez)
    • ECMAScript (avagy JavaScript)
    • Java
    • Perl
    • Coyote (C változat programozási hibák elkerülésére kiélezve)
    • D (egy lépéssel a C után Walter Brighttól)
    • Pike (egy másik lépés a C után…)
    • PHP
    • R
  • Az Adatfolyam programozási nyelvek virtuálisan leképezik a valós adatfolyamokat, amelyeket specifikálni szeretnénk programunkban. Általában különálló események kezelésére vagy adatfolyamok feldolgozására használjuk.
  • Az Adatorientált programozási nyelvek hatékony eszközök relációs adatok keresésére vagy módosítására, melyek általában táblákba rendezve, és különböző relációkkal összekapcsolva találhatók. Ilyenek:
  • Az Adatstruktúrált programozási nyelvek azok, melyek logikája hasonló struktúrában található, mint az adataik.
  • Kiterjesztő (extension) programozási nyelvek egy másik rendszerbe beágyazott, azt kiegészítő nyelvek, és a bővítőszkriptek funkcióinak kihasználására használják. Gyakran valamilyen speciális célú hardver vagy segéd-processzor(ok) kihasználására készülnek
    • Guile
    • AutoLisp (a CAD rendszerek klasszikus script-nyelve már hosszú ideje)
    • Emacs Lisp (az Emacs szövegszerkesztőn belül működő, a rendszer bővítésén (bővítő-szkriptelésén) kívül akár általános célokra is használható nyelv
    • SQL
    • OpenCL egy C és C++ bővítés, amely a sokmagos grafikus-kártyák extrém sebességét nem csupán grafikai, hanem rengeteg számítást igénylő matematikai, statisztika vagy elemzési feladatokhoz használja, leginkább az illető feladat algoritmusában látható vagy megbújó párhuzamosságok hatékony kihasználásával
    • OptimJ
    • Tcl/Tk
  • A Funkcionális programozási nyelvek a programokat és szubrutinokat mint matematikai függvényeket definiálják. Általában ezek a nyelvek más, nem-funkcionális elemeket is tartalmaznak, ezen elemek működését, maradandó hatását mellékhatásnak hívják
  • Értelmező programozási nyelvek
    • BASIC (és változatai)
    • C++ (főként korai változatai, újabban csak a tesztelési fázishoz használnak értelmezőt)
    • Perl (legtöbb változata)
    • VBScript
    • Lisp (főleg a korai változatok voltak interpreterek, később gépi kódra fordító rendszerek készültek, újabban (kb.15-20 éve) bájtkódra történik a fordítás, amit gyors értelmezőprogramok hajtanak végre)
    • R
    • Scratch (a programozással ismerkedő gyerekek számára készült vizuális környezet)
    • A legtöbb szkriptkezelő programozási nyelvek (lásd lejjebb)
  • Szóelemző programozási nyelvek
    • Gnu Bison (az FSF Yacc verziója)
    • Lex (szóelemzés a Bell Labs-től)
    • Gnu FLEX (az FSF Lex verziója)
    • M4
    • Yacc (yet another compiler compiler a Bell Labs-től)
  • A Logikai programozási nyelvekben attribútumok halmazát határozzuk meg, melyekből lépések halmazának alkalmazásával kapjuk meg az eredményt.
    • Prolog Horn logika és logikai döntés alapján értékeli ki az adatokat
    • Mercury a Prolog alapján készült
  • Gépi kódú programozási nyelveket közvetlenül hajtja végre a központi egység (CPU). Tipikusan oktális vagy hexadecimális bitmintákkal dolgozik. Minden mintacsoport (egy vagy több bájt) végrehajt egy hardveres alapműveletet. Általában processzorfüggő nyelv, nem vihető át más rendszerbe. Hivatalosan a processzor gyártója szállítja. "Gépi-kódban programozni" elsősorban assembly-nyelven programozást jelent. Az Assembly a közvetlen gépi kódú programozás megkönnyítésére készült szimbolikus jelöléseket használó kódrendszer. Ezek a szimbolikus jelölések alkalmasabbak emberi megértésre a gépi kódnál. Lehetőségünk van szimbolikus címek használatára, amit az assembler abszolút címekre cserél. A legtöbb assembler alkalmas makrók, valamint szimbolikus konstansok kezelésére is. Általában egy családba tartozó processzorokhoz ugyanaz a nyelv használható. A következők számítanak egy-egy család alapjának:
  • Az Eljáráselvű programozási nyelvek (másképp "Procedurális nyelvek")alapja a modularitás és a hatókör. Egy eljáráselvű program egy vagy több egységből (unit) vagy modulból (module) áll, minden egyes felhasználó egy kódkönyvtárból dolgozik. Minden modul egy vagy több eljárásból - függvényből, rutinból, szubrutinból, metódusból (az elnevezés az adott programozási nyelvtől függ) áll.
  • Objektumorientált programozási nyelvekben az adatok objektumosztályokban vannak definiálva, melyek végrehajtható kódot is tartalmaznak (metódusok). Az örökléssel az egyes objektumosztályok kibővíthetők.
  • Prototipizáló programozási nyelvek speciális objektumorientált programozási nyelvek melyekből az osztályok és hivatkozások megkülönböztetése megszűnt.
  • Szabályalapú programozási nyelvek melyek szabályokat használnak egyes adathalmazok feltételeinek aktiválásához. A kiválasztott adathalmaz aktiválásakor a megfelelő szabály végrehajtódik.
  • A Szkriptkezelő programozási nyelvek (másképpen "Szkriptnyelvek") gyakran ismétlődő folyamatok automatizálása érhető el akár külső programok végrehajtása által. Számos összetett alkalmazásprogram (pl. grafikai-, műszaki tervező- vagy akár táblázatkezelő-, szövegszerkesztő-program) olyan beépített szkriptnyelvet biztosít, amelyek lehetővé teszik az alkalmazás fő feladatainak automatizált megoldását (más megközelítésből ezeket hívjuk alkalmazásprogramozási felületeknek, azaz API-nak).
    • Awk
    • AppleScript
    • EXEC
    • EXEC2
    • CLIST
    • FBSL
    • Perl
    • PHP
    • Python
    • REXX
    • Ruby
    • Tcl
    • VBScript
    • Számos shell mint például a UNIX shell vagy DCL VMS-en.
  • Makrónyelv: beágyazott rövid futtatható kód szabadon formázott szövegben.
    • M4
    • C Preprocessor
    • PHP
    • Stage 2
    • olyan Makrónyelvek, mint amilyen a Tcl és az ECMAScript (Javascript) beépülve az alkalmazásokba, úgy viselkednek, mintha makrónyelvvé váltak volna.
  • Turing tarpits (Nyelvek, melyek Turing-teljesek, ám a közönséges felhasználónak meglehetősen nehéz, vagy szinte lehetetlen értelmezni őket.[1])
  • Az XML-alapú nyelvek olyanok, amelyek az XML-en alapulnak, vagy azzal műveleteket tudnak végezni.
  • A Konkurens programozási nyelvek azok, amelyek fő célja processzek és szálak párhuzamos végrehajtása. Korábban erre ún. monitorokat használtak (ld.még szemaforok), ma már főleg szálspecifikus tárolók segítségével üzenetként adják a parancsokat a folyamatoknak. A folyamatok a végrehajtandó üzenetek gyűjteményei.
    • Concurrent Pascal (Brinch-Hansen-től)
    • Occam2
    • Pict
  • Negyedik generációs programozási nyelvek ún. magas szintű nyelvek egy adatbázis-rendszer köré építve.
    • BuildProfessional
    • Today
    • GEMBASE
    • LINC
  • Nem angol alapú programozási nyelvek

Szabványos programozási nyelvek

Nyelv Szabvány Elérhető
ADA ISO 8652:1995
APL ISO 8485:1989
C ISO 9899:1990 Letöltés
COBOL ISO 1989:2002
C++ ISO 14882:1998
C# ISO 23270:2006
Common Lisp ANSI INCITS 226-1994 (R2004)
ECMAScript ISO 16262:2002
Extended Pascal ISO 10206:1991 Letöltés Archiválva 2009. augusztus 15-i dátummal a Wayback Machine-ben
FORTH ISO 15145:1997
FORTRAN ISO 1539-1:2004
Full Basic ISO 10279:1991
M ISO 11756:1999
Modula-2 ISO 10514-1:1996
Pascal ISO 7185:1990 Letöltés Archiválva 2016. január 27-i dátummal a Wayback Machine-ben
PL/1 ISO 6160:1979
Prolog ISO 13211-1:1995

Jegyzetek

Külső hivatkozások