Programozási nyelvek kategóriák szerint

Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. A felmerült kifogásokat a szócikk vitalapja részletezi (vagy extrém esetben a szócikk szövegében elhelyezett, kikommentelt szövegrészek). Ha nincs indoklás a vitalapon (vagy szerkesztési módban a szövegközben), bátran távolítsd el a sablont!
Csak akkor tedd a lap tetejére ezt a sablont, ha az egész cikk megszövegezése hibás. Ha nem, az adott szakaszba tedd, így segítve a lektorok munkáját!

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
    • BASIC (számos változattal)
    • C++ (számos változattal)
    • Delphi (Borland Object Pascal fejlesztői rendszer)
    • Java (a Sun Microsystemstől)
    • Perl (Larry Wall-tól; általában értelmező)
    • Visual Basic (a Microsofttól)
    • RPG programozási nyelv (még számítógép ugyan nem volt, de már használták)
    • FORTRAN (az első magas szintű fordítós nyelv John Backustól, IBM)
    • Scheme (számos változattal, például Bigloo)
    • Lisp (számos változattal)
    • COBOL („lényeg az egyszerűség”)
    • Algol (a második magas szintű fordítós nyelv)
  • 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.
    • Lisp és származékai, mint Scheme és Tcl, valamint a TRAC. Mind listákat használ alapelveinek rendszerezésére.
    • FORTH, Poplog és Postscript (a műveleteket mind verem adatstruktúra alapján végzi)
    • APL (az adatokat és a kódot is tömbként kezeli – Kenneth Iversontól)
    • Sokak szerint az assembly programozási nyelvek is ide tartoznak
  • 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.
    • Ada
    • BASIC
    • C
    • C++ (C objektumokkal és más egyebekkel)
    • C# (a Microsofttól, továbbfejlesztett C a .NET-hez)
    • CFM
    • COBOL
    • Component Pascal (Oberon-2 variáns)
    • Object Pascal
    • ECMAScript (JavaScript)
    • FORTRAN
    • Java
    • Modula-2
    • Oberon-2 (továbbfejlesztett Modula-2, kisebb gyorsabb, biztonságosabb)
    • M
    • Pascal
    • Perl
    • PL/C
    • PL/1 (eredetileg IBM mainframes használatra készült)
    • Rapira
    • VBScript
    • Visual Basic
  • 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.
    • Ada 95
    • Asymptote (grafikus mértani ábrákat előállító nyelv)
    • C++
    • C#
    • Common Lisp
    • Object Pascal
    • ECMAScript (JavaScript a Netscape-től)
    • Eiffel
    • Java (közeli rokona a C++-nak, szemétgyűjtéssel, nem biztonságos alkotórészek eltávolításával, platformfüggetlen „bájtkód”, homokozó a biztonságért – a Sun Microsystemstől)
    • Modula-2 (adat absztrakció, információ elrejtés, erős tipizálás, teljes modularitás – N. Wirth-től)
    • Modula-3 (objektumorientált Modula-2)
    • NewtonScript
    • Oberon (objektumorientált Modula-2 alapváltozat)
    • Objective C
    • Perl 5
    • PHP
    • PowerBuilder
    • Python (értelmező)
    • R
    • Ruby
    • Sather
    • Self
    • Simula (az első objektumorientált nyelv Norvégiából)
    • Smalltalk (Xerox PARC)
    • VBScript (Microsoft Office makrónyelve)
    • Visual Basic
  • 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

  1. https://en.wikipedia.org/wiki/Turing_tarpit

Külső hivatkozások

  • Programozási nyelvek kategóriái
  • Módszeres programozás (Fábián Zoltán)[halott link] (Pdf)
  • [1] Archiválva 2009. július 12-i dátummal a Wayback Machine-ben
  • ISO Standards: Programming languages, their environments and system software interfaces
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap