Kezdőoldal » Számítástechnika » Programozás » Milyen nyelveken érdemes...

Milyen nyelveken érdemes programozni?

Figyelt kérdés
Eddig visual basicben készítettem programokat, de most kicsit ki akarok lépni a környezetéből, és más nyelveken akarnék programozni. Az lenne a kérdésem, hogy melyik nyelveken, mivel érdemes leginkább programozni? Mert pl a visual basichez kell fordító külön.
2011. szept. 30. 21:44
1 2
 11/13 anonim ***** válasza:
Semmilyen javás fordító nem gépi kódra fordít, hanem egy köztes nyelvre, amit a Java VM tud futtatni :)
2011. okt. 1. 07:28
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:
100%

"Mert pl a visual basichez kell fordító külön."

Mindenhez kell forditó, hacsak nem gépi kódban programozol, úgyhogy eme kritérium alapján gyakorlatilag semmilyen programnyelv nem felel meg neked, kivéve a már emlitett gépi kódot.

Pár dolgot azért tegyünk tisztába:

1. Vannak olyan programnyelvek, amelyek nativ kóddá forditódnak le. Ez azt jelenti, hogy forditó gépi kódot csinál a forráskódból. Ezt a gépi kódot a memóriába töltve a processzor közvetlenül tudja értelmezni és végrehajtani. Ilyen pl. a hagyományos C++. Vagy a C. Vagy a Pascal.

2. Vannak az olyan nyelvek, amiknek a forditója nem gépi kódot generál, hanem egy, a gépihez közeli köztes nyelvre fordit, amit aztán egy futtató környezet értelmez, és csinál belőle gépi kódot.

Ilyen pl. a JAVA, ami úgynevezett Byte Code nyelvre forditja a programodat, majd amikor futtatod a programod, azt a JAVA Virtual Machine(ami gyakorlatilag egy sima program) tölti be, értelmezi, és generálja a CPU számára végrehajtható nativ kódot.

És ilyen az összes .NET alapú nyelv, pl. C#, Visual Basic .NET, a managed C++, stbstb. A Windows-os világban a köztes nyelvet IL-nek vagy CIL-nek hivják(Intermediate language, vagy Common Intermediate Language).

Ez bináris kód, de visszafejthető egy assembly-hez hasonló nyelvre(kivéve, hogy nincsenek register-ek, csak stack)

A "virtuális gép"-et pedig, ami végrehajtja az IL kódot(azaz átforditja tényleges nativ kóddá), CLR-nek, azaz Common Language Runtime-nak nevezik.


Hogy valami kézzelfogható példa is legyen: Mondjuk,hogy a CPU egy török vendégmunkás, aki csak törökül ért, bármilyen más nyelven szólsz hozzá, nem hajtja végre az utasitásaidat, mert nem érti.

Ezért te elmagyarázod a müszakvezetőnek németül, hogy mit akarsz, és ő leforditja azt törökre.(A müszakvezető lenne tulajdonképpen a nativ forditó, aki csak németül, és törökül ért)

Ha te nem tudsz németül(ezt megfeleltethetjük a C++-nak), csak magyarul(ez legyen mondjuk a Pascal), akkor kell neked egy olyan müszakvezető(forditó), aki tud magyarról törökre forditani.

Ez kb. megfelel a nativ kódot generáló programozási nyelvek modelljének.


A virtuális gépes móka annyiban más, hogy a müszakvezető csak eszperantóul ért, viszont bármelyik vendégmunkás nyelvére le tudja azt forditani.

Innentől kezdve a müszakvezető lesz a virtuális gép, az eszperantó a köztes nyelv, az angol, német, stb. meg a magas szintü nyelvek, amik mind eszperantóra forditódnak, amit a müszakvezető fordit le az adott vendégmunkás nyelvére.

Kicsit persze sántit a dolog, de valami ilyesmi a lényeg.

2011. okt. 1. 17:09
Hasznos számodra ez a válasz?
 13/13 anonim ***** válasza:

"Semmilyen javás fordító nem gépi kódra fordít"

meggondolatlan kijelentés, létezhet, illetve készíthető egy olyan fordító, ami egyből gépi kódra fordít :D

2011. okt. 2. 16:44
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!