Melyek a Python népszerű mémjei?


Legjobb válasz

Ellenőrizze ezt a python mémet

Válasz

Néhány ok:

  1. Egy bizonyos ponton az emberi agy nem érzékeli a sebesség javulását. Ha újból megvalósítom a Python kódomat C-ben, és 200x gyorsabban fut, akkor a felhasználó észre sem veszi, ha az eredeti kód már 0,01 másodperc alatt lefutott. Hé, valószínűleg nem is veszik észre, ha az eredeti kód csak 0,1-ben futott másodpercig. A 0,1 másodperc és a 0,0005 másodperc közötti különbség a legtöbb ember számára gyakorlatilag észrevehetetlen. Még azok számára is, akik valóban felismerik, még mindig úgy érzi , hogy teljesen figyelemre méltó.
  2. Lassúsága nagymértékben függ attól, hogy hogyan használod. Az igazi kérdés az, hogy sokan szenvednek az idő előtti optimalizálás problémájától. Igen, a Python lassú, de valószínű, hogy a kód a Python miatt valójában nem lassú; lassú, mert a kód helytelen adatszerkezeteket és algoritmusokat használ az adott probléma kezelésére. A C-hez hasonló fordított nyelv használata csak elrejti a problémát. Igen, gyorsabb, de nem hatékony algoritmus esetén csak gyorsabb. A helyes adatstruktúrák és algoritmusok használata skálázni fog, nagyjából függetlenül attól, hogy milyen nyelven valósítja meg őket, és attól függetlenül, hogy mennyi adattal foglalkozik. A gyorsabb nyelv csak rövid távú nyereséget eredményez. Az O (n!) algoritmus még mindig O (n!) algoritmus, még akkor is, ha C-ben valósítja meg! Valóban hozzáértő mérnökök tudják ezt, és képesek olyan alkalmazásokat készíteni, amelyek több mint elég gyorsak és ez a skála jól működik, függetlenül a megvalósítási nyelvtől, mert a megfelelő struktúrákat és algoritmusokat használják.
  3. A Python elsősorban (ragasztható) nyelv volt (és valószínűleg továbbra is az lesz); nagyon jó a kapcsolathoz szoftverek, amelyek nem voltak eredetiek Lly azt jelentette, hogy közvetlenül működjenek együtt egymással. Ez jó olyan feladatok automatizálásában is, amelyeket általában kézzel végeznének. Ezekre a célokra több mint elég gyors, mivel a fő munka egyébként máshol történik. Az olyan “gyorsabb” nyelvek esetében, mint a C, ez a fajta ragasztómunka olyan fájdalmasan lassú és hibára hajlamos a kódolásra, hogy aligha éri meg az erőfeszítést. A végrehajtási sebesség bármilyen növekedését több mint ellensúlyozza a fejlesztő munkájára fordított időveszteség. Ez az egyik hatalmas oka annak, hogy továbbra is ilyen népszerű.
  4. Néhány palacknyak egyszerűen kívül esik a végrehajtási nyelv közvetlen ellenőrzésén. Az IO gyakori. Jelenleg egy olyan alkalmazással foglalkozom, ahol a Pythonban minden több mint elég gyors. Csak akkor lassulnak a dolgok, amikor a hálózatot elérjük az adatbázis lekérdezéséhez. Az én profilozásom azt mutatja, hogy a Python-kód leglassabb darabjai is teljesen jelentéktelenek ahhoz képest, hogy a hálózati IO-n várakozással töltött idő. Most megpróbálom megtalálni a módját, hogy kevesebbet érjek el az adatbázisban (kliensoldali gyorsítótár, elkerülve az adatok felesleges észszerűség-ellenőrzését stb.). Még akkor is, ha az alkalmazást az assemblerben írtam, ez még mindig kérdés. A probléma megoldása a Python segítségével valójában gyorsabb és egyszerűbb, mert a standard könyvtárban lévő (nagyon robusztus) könyvtárak profilozásával jár. Sok “gyorsan” összeállított nyelv hagyományosan nem kerül ezzel a dobozból.

A történet erkölcse: a fejlesztői idő szinte mindig megdönti a gépi időt. Amikor ez nem történik meg, tartás, a lassúság általában pontosan meghatározható bizonyos szűk keresztmetszeteken, amelyek elég könnyen optimalizálhatók egy külső könyvtárba vagy szolgáltatásba. Elképesztően ritkák azok az idők, amikor valami valóban nem optimalizálható külső könyvtárba vagy szolgáltatásba. Mint mindig, szinte nincs is.

Kivételt képez az az eset, ha a kezdetektől fogva tudja, hogy alkalmazásához szükséges a lehető legközelebb a valós idejű teljesítményhez, és a kód nagy része számítási központú lesz. Jó példa erre a videojátékok vagy a DCC alkalmazások. Ezek jobb, ha a lehető legközelebb állnak a valós idejűhöz, vagy nincs felhasználója alap, amiről beszélni kell.

Azonban, hacsak nem ez a helyzet, sok fejlesztő a Python termelékenységének növekedését részesíti előnyben, még ha csak prototípusok készítésére is.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük