Kezdőoldal » Számítástechnika » Programozás » Mit jelent a java programozás?

Mit jelent a java programozás?

Figyelt kérdés

2015. jún. 19. 21:54
 1/9 |Orfeusz| ***** válasza:
100%
Programozás Java nyelven.
2015. jún. 19. 22:20
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
41%

Mikor elkészítették az első gépet, akkor még a gép saját nyelvén kellett megírni a programokat, hogy megértse. A processzor képes bizonyos műveletekre,ezekhez a műveletekhez egy-egy szám volt hozzárendelve. Például egy összeadás így nézett ki:

108 12 24

Például a 108 volt az összeadás művelethez rendelt szám, a 12 és 24 pedig két, a processzorban lévő memória (regiszter) száma. Ezt átírták bináris számrendszerbe, és ezt etették meg a processzorral:

01101100 00001100 00011000

Ezt betöltötték a memóriába, és megszületett az első program.


Ezzel csak az volt a baj, hogy nagyon nehezen olvasható, és még nehezebb megírni, mivel minden számot ismerni kellett, amit a gép tudott. Nagy hátránya, hogy csak azon a gépen futott, amire megírták, mivel egy másik számítógépen az egyes műveletekhez más szám tartozott. Erre kitalálták az Assembly nyelvet. Ez annyival volt másabb, hogy a gép által támogatott utasításokhoz szöveget rendeltek, pl. így:

ADD EAX EBX

Egy, még gépi nyelven írt program (nevezzük Assemblernek) ezt visszaalakította erre a bináris számos alakra. Így már könnyebb volt megírni egy programot, és a forráskód az ember számára olvashatóbb volt. De még mindig meg volt az a hátránya, hogy amit megírtak egy gépre, az nem biztos, hogy futott a másik gépen. Bár az assembler megoldotta, hogy egy utasításhoz más szám tartozik, de mi volt akkor, ha egy adott utasítást a másik gép egyáltalán nem ismerte?


Az Assembly-t követték az ún. magas szintű nyelvek, mint pl. a Fortran, Cobol, C, stb. Megjelentek az első operációs rendszerek is. Azért kell operációs rendszer, hogy ha arra a rendszerre megírok egy programot, akkor az összes olyan számítógépen fusson, amin az adott rendszer fut, függetlenül attól, hogy milyen utasításokat támogat, illetve nem támogat az adott processzor. Ezért van az, ha például valamit megírunk Windows rendszerre, az ugyanúgy fog futni AMD és Intel processzoron is.


Ugyanakkor az idők során nem egy operációs rendszer fejlődött ki. Létezik Windows, létezik Linux, MacOS, IOS, Android, stb. Az a probléma, hogy a program, amit megírok Windows-ra, az nem fog futni más operációs rendszeren. Ennek a problémának a megoldására jött létre a Java, a Microsoft .NET Framework, stb. Az a lényege, hogy egy futtatókörnyezetet telepítünk az operációs rendszer felé, és a Java-ra, illetve a Microsoft .NET Framework-re írt programokat ez a futtatórendszer hajtja végre az operációs rendszer helyett. Mivel ez a környezet emulált, így a kód végrehajtása bár lassabb, ugyanakkor újrafordítás nélkül futni fog minden operációs rendszeren (elméletben legalábbis). Én megírom egyszer a programot a futtatókörnyezetre, a futtatórendszer pedig megoldja az operációs rendszer eltérései által okozott problémákat. Ez a lényege a Java programozásnak.


16/L

2015. jún. 20. 13:45
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

Alapvetően a Java programozás a nyelvre vonatkozik. A Java virtuális gép programozását is jelentheti, mert ez nem egyértelmű.


> Azért kell operációs rendszer, hogy ha arra a rendszerre megírok egy programot, akkor az összes olyan számítógépen fusson, amin az adott rendszer fut, függetlenül attól, hogy milyen utasításokat támogat, illetve nem támogat az adott processzor. Ezért van az, ha például valamit megírunk Windows rendszerre, az ugyanúgy fog futni AMD és Intel processzoron is.


Ezt légyszíves ne terjeszd az iskolán kívül. Ugyanis ezer sebből vérzik. Az operációs rendszerek nem ezért jöttek létre és nem is erre vannak. A program amit megírsz (natív alkalmazásnál) egyaránt függ a processzorod utasításkészletétől és a rendszertől pl. a futtatható formátum miatt. Nincs semmi ami eltűnteti a különbségeket, mivel engedélyezhetek processzor specifikus optimalizálást a C fordítón és azt nem tudod olyan gépen futtatni, amin olyan utasítások nincsenek (pl. mert túl régi procid van). Ez egy fals szemlélet, amit bizonyos intézményekben végzettek (nem akarok ujjal mutogatni) terjesztenek. Másrészt az Intel és AMD processzorok nem tartoznak ugyanabba a processzor architektúrába szerinted (x86)? Nem lehet, hogy ezért kompatibilisek bizonyos szinten?


A Java futtatásával kapcsolatban sincs igazad, de az nem zavar annyira. A Java hordozható kódot használ, ezért nem kell újrafordítanod egy másik rendszeren/processzoron. Illetve egy JIT fordító alakítja majd a hordozható kódot át, és az fog futni.

2015. jún. 20. 15:00
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
köszönöm az érthető válaszokat :) mennyire érdemes ezt megtanulni ? találtam egy 1 éves tanfolyamot
2015. jún. 21. 00:55
 5/9 A kérdező kommentje:
22/F
2015. jún. 21. 00:56
 6/9 anonim ***** válasza:
Hát, egy 1 éves tanfolyamnak önmagában semmi értelme.
2015. jún. 21. 07:47
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
miert ?
2015. jún. 22. 01:30
 8/9 anonim ***** válasza:
Mert nem ad használható tudást.
2015. jún. 22. 07:55
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

#2 hozzászóló utolsó bekezdése hibás!


.NET Framework és a Java környezetet teljesen összekeveri ill. összemossa. Tehát míg az alacsony szinten rendesen leírta, addig a JRE-t teljesen összemossa a .NET-el. Ráadást így maga a Framework fogalmával sincs tisztában.


Nos akkor:

Kezdjük akkor magával a "Framework" szóval .NET nélkül. Maga a framework magyarul keretrendszer arra használatos, hogy általános rutinokat ill. az adott környezetben leggyakrabban használt elemeket tartalmazza.

Így a fejlesztőnek a rutin szerű feladatokkal nem kell foglalkoznia, ami meggyorsítja a fejlesztési időt.


.NET a Microsoft által írt keretrendszer Windows környezetre, így magától értetődő, hogy OSX/IOS/Linux/Android-on NEM képes futni.


-------


Nézzük a JAVA részét. Java nyelv NEM Framework, bár vannak hozzá fejlesztett keretrendszerek. A .NET-el ellentétben valóban képes futni több környezeten. Ezt egy Virtuális Számítógép (interpreter) segítségével teszi. Ehhez szükséges az adott rendszerre fejlesztett JRE (Java Runtime Environment) telepítve lennie. Bár ez a platformfüggetlenséget nem teljesen igaz, mivel magától értetődő, hogy amire nincs JRE azon nem is tud futni.


Maga a Java nyelvet természetesen .class-ra le kell fordítani, amit képes értelmezni a JRE. Innentől kezdve, a JRE gondoskodik az adott rendszerre való átültetéséről.

2015. jún. 22. 08:24
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!