Programozási nyelvek kategóriák szerint
Megjelenés
|
Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. |
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
- Batch nyelvek
- 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:
- dBase egy relációs adatbázis-kezelő nyelv
- SQL
- M (egy adatbáziskezelésre specializált ANSI standard általános felhasználású nyelv)
- 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
- 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).
- 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.
- Nem angol alapú programozási nyelvek
Szabványos programozási nyelvek
[szerkesztés]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 |