dbo:abstract
|
- A programozási nyelvek kategóriái Léteznek általános célú és szakterület-specifikus programozási nyelvek.
*
*
*
*
* 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)
*
* ( Command List)
* csh (C-szerű shell a UC Berkeley-i Bill Joy-tól)
*
*
* (a David K(orn)sh(ell) az AT&T-től)
*
*
* 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 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)
* (egy másik lépés a C után…)
* PHP
* R
* Az 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.
* Report Program Generator
*
*
*
* Az 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:
* egy relációs adatbázis-kezelő nyelv
* SQL
* (egy adatbáziskezelésre specializált ANSI standard általános felhasználású nyelv)
* Az azok, melyek logikája hasonló struktúrában található, mint az adataik.
* Lisp és származékai, mint Scheme és , valamint a . Mind listákat használ alapelveinek rendszerezésére.
* FORTH, és Postscript (a műveleteket mind 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
* 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
*
* AutoLisp (a CAD rendszerek klasszikus script-nyelve már hosszú ideje)
* (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
* 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
*
*
* 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 hívják
* APL
*
* Lisp
*
*
*
*
* Scheme
* Haskell (Haskell Curry matematikus nevéből)
*
* É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)
*
* 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) 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 (lásd lejjebb)
*
* Gnu Bison (az FSF Yacc verziója)
* (szóelemzés a Bell Labs-től)
* Gnu FLEX (az FSF Lex verziója)
*
* (yet another compiler compiler a Bell Labs-től)
* A attribútumok halmazát határozzuk meg, melyekből lépések halmazának alkalmazásával kapjuk meg az eredményt.
* Prolog és alapján értékeli ki az adatokat
* 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 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:
*
*
*
* PowerPC
* Intel 8080/8505
* ARM
* StrongARM
* MOS Tech
* National
* Sun SPARC és UltraSPARC
* MIPS
* 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)
*
* COBOL
* (Oberon-2 variáns)
* Object Pascal
* ECMAScript (JavaScript)
* FORTRAN
* Java
* Modula-2
* (továbbfejlesztett Modula-2, kisebb gyorsabb, biztonságosabb)
*
* Pascal
* Perl
*
* (eredetileg IBM mainframes használatra készült)
*
*
* 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)
* (objektum orientált Modula-2)
*
* (objektum orientált Modula-2 alapváltozat)
* Objective C
* Perl 5
* PHP
*
* Python (értelmező)
* R
* Ruby
*
*
* Simula (az első objektum orientált nyelv Norvégiából)
* (Xerox PARC)
* (Microsoft Office makrónyelve)
* Visual Basic
* speciális objektumorientált programozási nyelvek melyekből az osztályok és hivatkozások megkülönböztetése megszűnt.
* ECMAScript (JavaScript)
*
*
* 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.
*
* Prolog
*
*
* A (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
*
*
*
*
*
* Perl
* PHP
* Python
*
* Ruby
*
*
* Számos shell mint például a vagy VMS-en.
* : beágyazott rövid futtatható kód szabadon formázott szövegben.
*
* C Preprocessor
* PHP
*
* olyan , mint amilyen a és a ECMAScript (Javascript) beépülve az alkalmazásokba, úgy viselkednek, mintha makrónyelvvé váltak volna.
* (Nyelvek, melyek Turing-teljesek, ám a közönséges felhasználónak meglehetősen nehéz, vagy szinte lehetetlen értelmezni őket.)
*
* Brainfuck
* INTERCAL
*
* Az XML-alapú nyelvek olyanok, amelyek az XML-en alapulnak, vagy azzal műveleteket tudnak végezni.
* XSLT
* XPath
* A azok, amelyek fő célja és 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 a végrehajtandó üzenetek gyűjteményei.
* (Brinch-Hansen-től)
*
*
* ún. magas szintű nyelvek egy adatbázis-rendszer köré építve.
*
*
*
*
*
* – Klingon
* – Héber
* Brainfuck (hu)
- A programozási nyelvek kategóriái Léteznek általános célú és szakterület-specifikus programozási nyelvek.
*
*
*
*
* 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)
*
* ( Command List)
* csh (C-szerű shell a UC Berkeley-i Bill Joy-tól)
*
*
* (a David K(orn)sh(ell) az AT&T-től)
*
*
* 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 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)
* (egy másik lépés a C után…)
* PHP
* R
* Az 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.
* Report Program Generator
*
*
*
* Az 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:
* egy relációs adatbázis-kezelő nyelv
* SQL
* (egy adatbáziskezelésre specializált ANSI standard általános felhasználású nyelv)
* Az azok, melyek logikája hasonló struktúrában található, mint az adataik.
* Lisp és származékai, mint Scheme és , valamint a . Mind listákat használ alapelveinek rendszerezésére.
* FORTH, és Postscript (a műveleteket mind 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
* 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
*
* AutoLisp (a CAD rendszerek klasszikus script-nyelve már hosszú ideje)
* (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
* 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
*
*
* 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 hívják
* APL
*
* Lisp
*
*
*
*
* Scheme
* Haskell (Haskell Curry matematikus nevéből)
*
* É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)
*
* 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) 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 (lásd lejjebb)
*
* Gnu Bison (az FSF Yacc verziója)
* (szóelemzés a Bell Labs-től)
* Gnu FLEX (az FSF Lex verziója)
*
* (yet another compiler compiler a Bell Labs-től)
* A attribútumok halmazát határozzuk meg, melyekből lépések halmazának alkalmazásával kapjuk meg az eredményt.
* Prolog és alapján értékeli ki az adatokat
* 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 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:
*
*
*
* PowerPC
* Intel 8080/8505
* ARM
* StrongARM
* MOS Tech
* National
* Sun SPARC és UltraSPARC
* MIPS
* 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)
*
* COBOL
* (Oberon-2 variáns)
* Object Pascal
* ECMAScript (JavaScript)
* FORTRAN
* Java
* Modula-2
* (továbbfejlesztett Modula-2, kisebb gyorsabb, biztonságosabb)
*
* Pascal
* Perl
*
* (eredetileg IBM mainframes használatra készült)
*
*
* 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)
* (objektum orientált Modula-2)
*
* (objektum orientált Modula-2 alapváltozat)
* Objective C
* Perl 5
* PHP
*
* Python (értelmező)
* R
* Ruby
*
*
* Simula (az első objektum orientált nyelv Norvégiából)
* (Xerox PARC)
* (Microsoft Office makrónyelve)
* Visual Basic
* speciális objektumorientált programozási nyelvek melyekből az osztályok és hivatkozások megkülönböztetése megszűnt.
* ECMAScript (JavaScript)
*
*
* 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.
*
* Prolog
*
*
* A (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
*
*
*
*
*
* Perl
* PHP
* Python
*
* Ruby
*
*
* Számos shell mint például a vagy VMS-en.
* : beágyazott rövid futtatható kód szabadon formázott szövegben.
*
* C Preprocessor
* PHP
*
* olyan , mint amilyen a és a ECMAScript (Javascript) beépülve az alkalmazásokba, úgy viselkednek, mintha makrónyelvvé váltak volna.
* (Nyelvek, melyek Turing-teljesek, ám a közönséges felhasználónak meglehetősen nehéz, vagy szinte lehetetlen értelmezni őket.)
*
* Brainfuck
* INTERCAL
*
* Az XML-alapú nyelvek olyanok, amelyek az XML-en alapulnak, vagy azzal műveleteket tudnak végezni.
* XSLT
* XPath
* A azok, amelyek fő célja és 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 a végrehajtandó üzenetek gyűjteményei.
* (Brinch-Hansen-től)
*
*
* ún. magas szintű nyelvek egy adatbázis-rendszer köré építve.
*
*
*
*
*
* – Klingon
* – Héber
* Brainfuck (hu)
|