Kezdőoldal » Számítástechnika » Programozás » Miért nincs a python?

Miért nincs a python?

Figyelt kérdés
Azon tűnődöm, hogy a python, mint nyelv, már van vagy 25 éves. Hogy lehet az, hogy ilyen hosszú idő alatt nem írt hozzá senki compilert?

2023. jan. 6. 12:23
1 2 3 4 5 6
 21/55 anonim ***** válasza:
95%

@17:21

"A natív kód az natív kód. Az bármiféle oprendszertől függetlenül az. Meghívhat oprendszer szintjén külső kódot (file megnyitása, lezárása, hozzáfűzés, vagy valamilyen API függvény, memória igénylés), de a futtatható állomány akkor is natív."

Windowsnál maradva (de természetesen a linux-ra a .so-ra is igaz), az adott DLL-en belül meghívott kód annyira natív mint amennyire annak van implenetálva.


A .NET Framework a része a CIL (Common Intermediate Language) ami egy köztes kód. Amely futási időben a jitter (Just in time compiler) fordítja le natív kódra, amelyet a processzor már tud kezelni. A CIL hasonlít a Java bytekódjára.


"Az, hogy egy változó tipusa megváltozhat, nem tesz semmit. Szinte minden ma népszerű nyelvben létezik variant. A tipusvizsgálathoz "[...]

Csak egy két dolgot írtam, igen belekerül még ezeken kívül millió dolog a tényleges futtatható kódba, ahol kaptál kvázi egy python interpreterbe ágyazott köztes kóddal ellátott végrehajtható kódot, windows-ban .exe fájlt.

2023. jan. 6. 17:47
Hasznos számodra ez a válasz?
 22/55 anonim ***** válasza:
0%

"A compiler egyik nyelvről egy másikra fordít."


Az ilyet trans-pilernek hívják. A compiler valamilyen forráskód tartalmából állít elő, közvetlenül a processzor által végrehajtható kódot.

Ez a processzor lehet natív, fizikailag létező, vagy emulált. Utóbbi a VM-ek végrehajtó egysége.


A mindennapi szóhasználatban "compiler" szó alatt jellemzően a vasra, tehát egy számítógép processzorára fordító programokat értjük. Ha ettől eltérő compiler, pl. egy LLVM compilere kerül szóba, akkor, a félreértések elkerülése végett, erre a tényre érdemes kitérnünk.

2023. jan. 6. 17:56
Hasznos számodra ez a válasz?
 23/55 anonim ***** válasza:
5%

"Csak egy két dolgot írtam, igen belekerül még ezeken kívül millió dolog a tényleges futtatható kódba, ahol kaptál kvázi egy python interpreterbe ágyazott köztes kóddal ellátott végrehajtható kódot, windows-ban .exe fájlt."


Na, ez már fájt.

Az veled a gond, hogy te nem vagy tisztában a processzorok és a számítógépek működésével, ezért írsz ilyen zagyvaságokat. Ezért képzelsz baromi bonyolulnak egyszerű dolgokat.


A processzor és a memória együtt, képes bizonyos dolgok megvalósítására. Ezek a dolgok, bár sokan azt hiszik, hogy iszonyúan sok minden, elég kevés valami.


Csak ez a kevés valami, bizony néhány nagyon-nagyon jól kialakított, megválaszott dolog.

Ezek, mint a stack, a két, szeparált memória szegmens (DATA, CODE), a heap és a szimpla processzor bármire képes. Bármire, amit te írsz, említesz. Ha tudnád, hogy működik egy ilyen rendszer, akkor nem is merülnének fel benned ezek a kérdések.

2023. jan. 6. 18:08
Hasznos számodra ez a válasz?
 24/55 anonim ***** válasza:
82%

@18:08

Meg van valósítva ahogy mondtam, ha érted érted, ha nem azaz egyéni problémád. Arra még mindig nem kaptam választ hogy az exec és az eval-t hogy oldod meg intepreter nélkül.

-------------

@17:56

Alapvetően igaz, de valójában ez árnyaltabb annál.

Gondolok itt arra pl.:

Ha van egy számológép program akkor az interpreter vagy nem?:

- ha csak olyan mint egy legegyszerűbb boltba kapható mai számológép, csak window/linux alatt.

- ha input mezőbe beírható matematikai kifejezést kiértékel

- ha ciklusok elágazások, feltételek, változók lehetnek benne

- ha nem lehet ciklusokat, feltételeket megadni neki, de én magam mint egy "humán processzor" hajtom végre egy kód alapján csak hardveres gyorsításnak használom (gyorsabb mint fejbe vagy papíron számolni), akkor interpreter e (velem együtt)?

- ha ugyanez csak nem én hanem egy külső hardverrel összekötve csinálom ugyanezt?



Ha csináltam egy c++-ban egy sejtautomatát végrehajtó kódot amit lefordítottam exe-re az interpeter e, ha megadható a kezdeti állapot és egy állapotátmenteti táblázat neki, hogy mi szerint kerüljön a következő állapotba?


Hol a határ hogy ez még interpreter az már nem?

2023. jan. 6. 18:36
Hasznos számodra ez a válasz?
 25/55 A kérdező kommentje:

"Hol a határ hogy ez még interpreter az már nem?"


Ez a te korlátozottságodat jelzi, nem az enyémet. :)


Egy program, amit compiler fordított gépi kódra, az natív kód.

Ha az a natív kód meghív külső kódot (.dll) akkor az már bármilyen is, nem a hívót minősíti, nem teszi interpretálttá sem. Ennyit azért tudni kéne.


Meg azt is, hogy egy kalkulátor program, ha azt compiler fordította gépi kódra, akkor natív, ha meg interpretálva van, akkor nem az. Ahogy egy basic interpreter is natív, ha mondjuk C-ben írták és gépi kódra fordult. Csak az nem lesz natív, ami programot ez a basic interpreter futtatni fog.


El kéne tudnod választani a programot és azt, hogy az mit csinál.

Gondolok itt a sejtautomatára meg a kalkulátorra, mint példára.

2023. jan. 6. 18:51
 26/55 anonim ***** válasza:
92%

Hagyjátok szegényt...

Ez van, amikor apa és anya tesók. Nem tehet róla.

2023. jan. 6. 19:21
Hasznos számodra ez a válasz?
 27/55 anonim ***** válasza:
97%

A legnagyobb baj, hogy ez a "kérdés" nem kérdés. A "kérdező" tett egy kérdésnek álcázott kijelentést, amire nem válast vár, hanem megerősítést. Függetlenül attól, hogy az adott kijelentés megállja-e a helyét. És miután ezt az önigazolást nem kapta meg - tekintve, hogy a kérdésnek álcázott álíltása hamis -, ezért frusztrációjában más, az értelmi szintjének megfelelő módon próbál önigazolást keresni.

Innentől fogva kedves moderátor urak, lehet törölni a "kérdést".

2023. jan. 6. 19:47
Hasznos számodra ez a válasz?
 28/55 anonim ***** válasza:
93%

#22 @18:08

A Compilers: Principles, Techniques, and Tools című könyvet ajánlom figyelmedbe. Ez az idevágó szakirodalom egyik alapműve.

Had idézzek két definíciót:


1. Introduction

1.1 Language processors

"a compiler is a program that can read a program in one language - the source language - and translate it into an equivalent program in another language - the target language"


"[...] instead of producing a target program as a translation, an interpreter appears to directly execute the operations specified in the source program on inputs supplied by the user"


szóval nem, a compiler nem attól compiler, hogy gépi kódot ad ki

2023. jan. 6. 20:00
Hasznos számodra ez a válasz?
 29/55 A kérdező kommentje:

27, nem öreg. Te el vagy tévedve. De nagyon. Én nem megerősítést várok, hanem az érdekel, hogy sok programozó, vagy unalmában, vagy kihívásnak megfelelve, sok sok munkaórát beleöl relatív értelmetlen dolgokba és lekódol ezt azt. Köztük compilereket, programnyelvi fordítókat is.

A python egy nagyon népszerű nyelv, amin még lendítene az, ha nem lenne olyan kib*** lassú. Ez a lassúság az interpreteres mivoltából következik. Ebből meg az következik, hogy egy python compiler népszerűbbé tenné ezt a nyelvet, csak azt nem értem, hogy miért is nincs erre a dologra, aminek igen komoly erkölcsi, anyagi hozadéka lenne, jelentkező?


Néhány kollegámmal kezdtünk el ezen töprengeni és a kérdést azért írtam ki, hogy tájékozottabb legyek. Hátha van valami, ami a mi figyelmünket elkerülte. Sajnos a válaszadók között jószerivel csak olyan akadt, aki a szükséges kompetenciának híján van. Ez nem sértés, csak egy megállapítás.

2023. jan. 6. 20:10
 30/55 A kérdező kommentje:

28, ne erőlködj. Tőlem akár fel is dughatod ezt az 1986-os keltezésű, eredendően shit definciót. Na meg azt a fogalmat is, hogy "alapmű".


Ma ez van, ha tetszik neked, ha nem:


Compiler is a program that translates a programming language's source code into machine code or bytecode.

2023. jan. 6. 20:18
1 2 3 4 5 6

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!