Know-how, előadás, általános gondolatok a java nyelvéről
1.1. Java és egyéb programozási nyelvek. Rendszer és alkalmazások programozása
Kezdetben a számítógépes programozás gépi kódokba került. Ezután megjelentek az ASSEMBLER nyelvek. amely helyettesítette a processzor parancsokat mnemonikus rövidítésekkel, sokkal inkább kényelmesebb egy személynél, mint a nullák és a szekvenciák. Általában alacsony szintű programozási nyelveket (azaz közel a hardver szinthez) tekintünk, mivel az egyes processzorok sajátos jellemzőire irányulnak. Éppen ezért az ASSEMBLER nyelven írt programok. Nem lehetett átvenni más típusú processzorokkal rendelkező számítógépekre - a processzorok összeférhetetlen parancskészletekkel rendelkeztek. Vagyis a forráskód szinten elviselhetetlen volt.
A gépi kódokban írt programok, vagyis a nullák és a feldolgozói utasításoknak megfelelő adatok és a számukra szükséges adatok, nincs szükség átalakításra. Átmásolhatók a számítógép memóriájába a kívánt helyre, és az első programparancs vezérléséhez továbbíthatók (adja meg a program belépési pontját).
A programozási nyelven írt programokat először lefordítják egy formáról (szöveges) a másikra (bináris, vagyis gépi kódokra). Az ilyen fordítás folyamatát fordításnak nevezzük (angol fordítástól - "fordítás", "mozgás"). Nem szükséges lefordítani egy programot szöveges formáról bináris kódokra, lefordítható egy programozási nyelvről a másikra. Vagy egyfajta processzor kódjaitól eltérő típusú kódokká.
A fordítás két fő típusa - fordítás és értelmezés.
Összeszereléskor az utasítások kezdeti készletét egyszer lefordítják a végrehajtható formanyomtatványra (gépi kódok), majd csak akkor használják ezeket a kódokat, amikor a program fut.
A szükséges utasítások minden egyes hívásánál értelmezhető, minden alkalommal, amikor először az utasításokat lefordítják egy formáról (szöveg vagy bináris) egy másikra - a számítógép feldolgozójának végrehajtható kódjaiból. És csak ezek a kódok kerülnek végrehajtásra. Természetesen az értelmezett kódokat lassabban hajtják végre, mint a fordított, mert az utasítások egyik formából a másikra történő átszámítása általában többször vesz igénybe, mint a kapott utasítások végrehajtása. De az értelmezés nagyobb rugalmasságot biztosít, mint a fordítás, és bizonyos esetekben nem kerülhető el.
1956-ban volt egy nyelvet FORTRAN - az első magas szintű programozási nyelv (vagyis nem egy specifikus hardver végrehajtása a számítógépen). Ő biztosította a hordozhatóság a forráskódját programok, hanem a magas árat. Először a FORTRAN-ban írt programok sebességét. többször kevesebb volt, mint az összeszerelőnél. Másodszor, a program kb kétszer annyi helyet a számítógép memóriájában, mint szerelő. És végül, volt elhagyni támogatja a funkciók perifériák - a kapcsolatot a „külvilággal” kellett korlátozni csak egy lehetőség, hogy a program egyaránt végrehajtják IO segítségével punch-kártya olvasó, billentyűzet, nyomtató, szöveges kijelző, stb Ugyanakkor a magas szintű programozási nyelv fokozatosan váltja nyelv ASSEMBLER. mert nem csak a programok hordozhatóságát, hanem sokkal nagyobb megbízhatóságukat is biztosították. és az összetett szoftverek fejlesztésének ütemének nagyságrendje is nagyobb. FORTRAN még mindig a legfontosabb programozási nyelv a nagy teljesítményű numerikus tudományos számításokat.
A számítógépek hardver-kapacitásának növekedése (a memória mennyisége, a teljesítmény, a nagy lemezterületek megjelenése), valamint a különféle perifériák megjelenése miatt szükség volt a programok működésének felülvizsgálatára. A számítógépek tömeges gyártása a programoktól a különböző eszközökhöz való hozzáférés egységesítését igényelte. Volt egy ötlet, hogy a programból lehetõség van arra, hogy az eszközzel foglalkozzon, anélkül, hogy figyelembe venné a hardver implementációjának sajátosságait. Ez akkor lehetséges, ha a készülékhez való hozzáférés nem közvetlenül, hanem a csatolt programon keresztül - az eszközmeghajtón keresztül történik (angolul a meghajtó azt jelenti, hogy "meghajtó"). Volt olyan operációs rendszer - olyan illesztőprogramok és programok, amelyek számítógépes erőforrásokat terjesztenek a különböző programok között. Ennek megfelelően a szoftvert rendszerre és alkalmazásra osztották. Rendszer szoftver - közvetlenül hozzáfér a hardverhez, az alkalmazáshoz - bármilyen alkalmazási feladat megoldása és a számítógép hardver képességének használata nem közvetlenül, hanem az operációs rendszer programjaihoz intézett hívásokon keresztül. Az alkalmazási programok az operációs rendszer alkalmazásai, vagy röviden az alkalmazások. Ez a kifejezés azt jelenti, hogy a program csak az operációs rendszer alatt futhat. Ha egy másik operációs rendszert telepít ugyanarra a számítógépre, az alkalmazás - az első operációs rendszer alkalmazása nem fog működni.
Az alkalmazási programok követelményei alapvetően eltérnek a rendszerprogramok követelményeitől. A rendszer szoftverének megköveteli a maximális sebességet és a minimális erőforrások számát, valamint a szükséges hardverforrások elérését. Alkalmazott - maximális funkcionalitás egy adott tématerületen. Ugyanakkor a teljesítmény és az erőforrások irrelevánsak, amíg nem befolyásolják a funkcionalitást. Például nincs semmi különbség, a program válaszol a billentyűzet billentyűinek egy tizedik vagy egy milliomod másodpercre történő megnyomásakor. Igaz, hogy az alkalmazáskészítés kezdeti szakaszában még a program céljára szánt alkalmazások is szisztematikusak voltak a megvalósítás során, mivel kénytelenek voltak közvetlenül elérni a berendezést.
C nyelv jött létre 1972-ben az egyik kutatócsoport Bell Laboratories a fejlesztés a Unix operációs rendszer. Először megpróbálták az operációs rendszert az ASSEMBLER-hez írni. de miután az új számítógépek a csoportban volt, hogy hozzon létre egy platform-független, magas szintű programozási nyelv, amellyel meg lehetett írni az operációs rendszer. Így a C nyelv jött létre, mint a nyelv létrehozására a rendszer szoftver, ezért a mai napig. Ő ideológiája és szintaktikai szerkezetek összpontosít a lehető legközelebb a hardver szintjén a műveletek végrehajtásához - olyan mértékben, hogy ez lehet biztosítani a készülék-független szinten. Ebben az esetben a fő követelmény volt az a maximális sebesség és a minimális számú elfoglalt források, valamint hozzáférést biztosít az összes hardver erőforrásokat. A C nyelv az eljárási programozási nyelv. mivel alapkonstrukciói szubrutinok. Általában a rutinok hívják alprogramok kezelések (ahonnan jön a neve a „procedurális”) és szubrutinok, funkciók. De a C-ben csak szubroutines funkciók vannak. Általában egyszerűen csak funkcióknak hívják őket.
A C nyelv valódi forradalmat váltott ki a szoftverfejlesztés területén, széles körben elterjedt és ipari szabványsá vált. Még mindig használják az operációs rendszerek írására és a mikrokontrollerek programozására. De nagyon kevesen ismerik fel teljesen népszerűségének okait. Mik voltak? - Azzal, hogy tudta biztosítani a szoftver szükséges funkcióit az alacsony számítógép teljesítmény, az extrém korlátozott erőforrások és a fejletlen perifériák esetén. Ugyanakkor ugyanaz a történet is megismétlődött, mint a FORTRAN-nal. de most a rendszerprogramozás nyelvére. A magas szintű programozási nyelvre történő áttérés, de a termelékenység és az erőforrások minimális vesztesége miatt nagy előnyt jelentett.
Nagy hatással fejlődését az elmélet a programozási nyelv adott PASCAL kifejlesztett 1974-ben a svájci professzor Niklaus Wirth. Ebben a fejlődésben két rész volt. Az első volt a tényleges nyelvi PASCAL programozási célja, hogy megtanítsa a gondolatok a strukturált programozás. A második a virtuális gép ötlete volt. Niklaus Wirth felajánlotta, hogy a hordozhatóság írt programok PASCAL miatt fordítanod egy sor parancs egy absztrakt P-gép (P- rövidítés PASCAL), ahelyett, hogy futtatható kódot adott hardver platform. És minden hardverplatformon a programnak működnie kell. e kódok értelmezését. Azt mondják, hogy egy ilyen program utánozza (azaz szimulálja) egy nem létező rendszer parancs processzor. És magát a programot virtuális gépnek nevezik.
Mivel a korlátozott erőforrások és a hiányzó számítógépek PASCAL: a rendszer programozási nyelv, amely nem tudott versenyezni a C nyelv, mert szinte minden ipari programozás közepéig az elmúlt évtizedben a huszadik század volt, hogy végre a rendszer. A P-gép ötleteit tovább használták és jelentősen javították a Java-ban.
A programozás elméletének és gyakorlatának kialakulása 1967-1972-ben új irány-tárgy programozáshoz vezetett. alapja az osztályokkal és tárgyakkal való munka. Alapvetően új lehetőségeket biztosított az eljáráshoz képest. Kísérleteket tettek arra, hogy különböző nyelveket terjesszenek be objektum programozási konstrukciókat. 1982-ben, Bjarne Stroustrup, a C nyelv ilyen kiterjesztése révén létrehozott egy olyan nyelvet, amelyet "C osztályokkal" nevezett. 1983-ban a következő fejlesztések után létrehozta az első C ++ fordítót. A két plusz a "C-t nagyon sok kiegészítéssel" jelenti. A C + + a C nyelv feletti szupersett - programokat írhat rajta, mint a "clean C", anélkül, hogy bármilyen objektum programozási konstrukciót használna. E tekintetben, valamint az objektum-programozás további előnyeivel gyorsan népszerűségnek örvendett, és az iparági szabványká vált, először de facto, majd de jure. Tehát a C ++ a rendszerprogramozás alapnyelve. Hosszú ideig alkalmazási programokat írtak. De ahogy már tudjuk, az alkalmazásprogramokra vonatkozó követelmények egybeesnek a rendszer követelményeivel, csak abban az esetben, ha a számítógép sebessége alacsonynak tekinthető, és a számítógépes erőforrások - kicsiek. Ezenkívül a C és a C ++ -nak két másik fő hátránya van: a) alacsony megbízhatóság mind a forráskód szintjén, mind pedig a végrehajtható kód szinten; b) a hordozhatóság hiánya a végrehajtható kód szintjén. Számítógépes hálózatok megjelenésével ezek a hiányosságok igen jelentős korlátozó tényezővé váltak, mivel a helyi, és különösen a globális hálózatokban végzett munka során felmerülő biztonsági problémák elsődleges fontosságúak.
Java vált az első univerzális C-figuratív nyelv alkalmazás programozás. amely előírta, hogy megkönnyítsék az átmenetet a nyelv számos programozó ismeri a C és C ++ nyelven. És a rendelkezésre álló eszközök szigorú típus ellenőrzése, orientáció dolgozni számítógépes hálózatok, a tolerancia szintje végrehajtható kódot és támogató platform-GUI, valamint a tilalom a direkt hardver elérés végrehajtásának biztosítása érdekében a legtöbb követelményeket az alkalmazás programozási nyelv. Minél nagyobb a sebesség és a memória a számítógépek, annál nagyobb szükség van a szétválasztás alkalmazás és rendszer szoftver. Ennek megfelelően, az alkalmazás szükségtelenné teszi a közvetlen hozzáférést a memória és egyéb számítógépes hardver eszközök. Ezért, többek között a pályázatok évről-évre növekszik a részesedése a szoftver Java nyelven írt és nyelvek. Net. Azonban mind a száma programozók, és az eszközök számát a megfelelő platform, Java jelenleg vezető egy nagy mozgásteret.