Kezdőoldal » Számítástechnika » Programozás » Azok a programok amik nem ....

Azok a programok amik nem . NET alatt futnak azok hogy és mivel futnak?

Figyelt kérdés
szóval skype,utorrent ezekhez pl nem kell .NET Framework azokat nem Visual Studioban programozzák? milyen nyelven írják őket és,hogy futnak?
2016. júl. 4. 20:20
 1/8 anonim ***** válasza:
57%
Varázslat. Legyen elég ennyi.
2016. júl. 4. 20:53
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
A .net ha nem tévedek eredetileg a c# hoz készült, hosszú ideig más nyelv nem is használta - a vs meg létezett a c#\.net előtt is, ha feltétlen egyetlen nyelvhez kéne kötni, akkor inkább mondanám a c++ t. De programozhatsz szinte bármilyen nyelvben, csak nem mindenre tud fordítani alapból.
2016. júl. 4. 20:58
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

Na jó, menjünk bele.


Kezdetben volt a gépi kód. Amiben elég bonyolult volt egy kicsit összetettebb programot írni. És rájöttek, hogy ez így nem jó. Azt kell erről a gépi kódról tudni, hogy ez az a nyelv, amit ha beadagolsz a gépednek, azt közvetlenül meg fogja érteni. Mintha valaki neked magyar nyelven magyarázna, mint ahogy most én teszem neked.


Mivel szar volt gépi kódban fejleszteni, kitaláltak olyan nyelveket, amikre ha az ember ránéz, megérti, hogy mi áll ott, anélkül, hogy minden egyes sornál bújnia kellene egy pár ezer oldalas irományt. Így lettek olyan nyelvek, amelyeken ha írnak egy programot:

1) egy fordító gépi kódot állít belőle elő - mintha te kapnál egy angol nyelvű irományt, és azt mondják neked, hogy írd le egy másik lapra, hogy mit jelent magyarul. Ha egy magyar ember el akarja olvasni, elég egyszer lefordítanod, és a magyar példányt annyiszor használják, ahányszor akarják.

2) amit ha elindítanak, egy értelmezőnek nevezett program fogja a forrásfájlt és sorról sorra hajtja végre a vele ekvivalens gépi nyelvű műveletet - mintha te egy szinkrontolmács volnál, valaki pofázik angolul, és azon nyomban tolod át magyarra. Ha valaki ugyanazt akarja hallani még egyszer, megint elkezd az angol pofázni, és te megint fordíthatod magyarra.


Az elsőhöz általában nem kell túl sok dolog, a "gond" általában a másodikkal van. Merthogy ha te odaadod valakinek a programodat, neki szintén fent kell lennie annak az értelmezőnek.


Persze van egy kis csavar, amit a 2) esettel el tudnak követni. Ők azt mondják, hogy képzeljünk el egy teljesen egyedi virtuális processzort (ami valójában szintén az értelmező elvén működik), ami fejlettebben tud működni, mint amit a technológiával fizikailag meg tudunk valósítani. Ez a virtuális processzor megérti az Y nyelvet. A trükk az, hogy a programot továbbra is X nyelven írjuk, szóval valami ilyesmi lesz belőle:

1) Az X nyelven írt programot Y nyelvűre fordítja a fordító. Ha te odaadod valakinek a programot, ezt az Y nyelvű valamit adod oda.

2) Ha valaki elindítja az Y nyelvű programodat, a virtuális processzor utasításról utasításra elkezdi végrehajtani a fizikai processzorodon a vele ekvivalens utasításokat.


Például, ha te írsz C# nyelven egy programot .NET-re, akkor az fog történni, hogy a fordító a C# nyelvű szöveget CIL (Common Intermediate Language) nyelvűre fordítja. Szóval az EXE fájl, amit kapsz, CIL nyelvű utasításokból áll. Itt jön be a .NET "virtuális processzora", a CLR (Common Language Runtime), ami ezt értelmezi és végrehajtja.


Java-val hasonló a helyzet.

2016. júl. 4. 21:08
Hasznos számodra ez a válasz?
 4/8 tabaki ***** válasza:
Teljesen érthetetlen. Én bizony el se hinném, ha a saját szememmel nem láttam volna, hogy egy hagyományos program is képes működni.
2016. júl. 5. 12:09
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:
kösz a válaszokat gondoltam,hogy akkor az gépi kód de azt még mindig nem értem,hogy azt mi kezeli? közvetlenül a processzor nem hinném mivel mégsem platformfüggetlen...
2016. júl. 5. 22:29
 6/8 anonim ***** válasza:
Azért, mert használ olyan dolgokat, amiket az oprendszer ad.
2016. júl. 5. 22:49
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
kösz már értem
2016. júl. 5. 23:28
 8/8 SimkoL ***** válasza:
:) Sajnos sokan azt hiszik, hogy a .NET és a Java a világ. C, C++, C++ Builder, Delphi, Lazarus / Free Pascal, Visual Basic azok a mai napig használatos nyelvek amik önállóan, elengedett kézzel tudnak futni Windows alatt - mármint a fordított program -. A Lazarus / Free Pascal-t kiemelném mivel mára talán már minden platformon fut, képes önállóan futtatható kódot készíteni a fordító és nagyon könnyen kezelhető. A C++ Builder XE.. és Delhi XE.. sorozat sajnos még a mai napig sem kezeli a Linux-ot, de ők is futnak a Linux-on kívül mindenen.
2016. júl. 6. 19:31
Hasznos számodra ez a válasz?

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!