Programovanie

Sprievodca vývojárom výhod a nevýhod Pythonu

Za Python je softvérová nadácia Python účtovaná ako ľahký na učenie a fungovanie všade. Je to užitočné pre celý rad typov aplikácií vrátane vývoja webu, vedeckých výpočtov a vzdelávania. Google a Instagram patrili k mnohým používateľom jazyka Python a jazyk má dobré skóre v indexoch popularity.

Ale Python mal svoje problémy a nastolili sa otázky týkajúce sa jeho výkonu a dizajnérskych vychytávok. Aby sme sa dostali na koniec toho, čo je správne - a možno nie také správne - o Pythone, požiadal redaktor Large Paul Krill o hodnosť v komunite Python.

Výhody pre Python

Prečítajte si ho, používajte ho s ľahkosťou. „Hlavnou charakteristikou programu Python je, že je ľahko čitateľný,“ hovorí Pierre Carbonnelle, programátor a blogger Pythonu, ktorý prevádzkuje index jazyka PyPL. "To má výhody pre vás aj pre ostatných. Pomáha vám to pri písaní programov myslieť jasnejšie a pomáha ostatným, ktorí váš program udržia alebo vylepšia. V obidvoch prípadoch si vyžaduje napísanie programu v jazyku Python menšie úsilie ako jeho napísanie." v inom jazyku ako C ++ alebo Java. “ Čitateľnosť jazyka Python uľahčuje vývoj otvoreného zdroja, dodal Carbonnelle.

Python je ľahko použiteľný a na akademickej pôde mimoriadne populárny, pretože vytvára veľké množstvo talentov, hovorí Sumit Chachra, technický riaditeľ spoločnosti Tivix, softvérová poradenská spoločnosť, ktorá sa špecializuje na vývoj Python / Django. Django a Python využívajú Tivix na vývoj webových a mobilných technológií, tvrdí.

Python je veľmi produktívny spôsob písania kódu, hovorí Stephen Deibel zo spoločnosti Wingware, ktorá vyrába Wing Python IDE. „Niektoré z nich vychádzajú z jednoduchej syntaxe a čitateľnosti - prakticky neexistuje vôbec žiadny„ štandardný štítok “. Niektoré z nich pochádzajú z bohatej, dobre navrhnutej vstavanej a štandardnej knižnice a dostupnosti mnohých otvorených zdrojov tretích strán. knižnice a moduly. “ Dodáva, že vďaka ľahkému pochopeniu sa kód ľahšie udržuje.

Podľa Chachra je Python dynamicky písaný a flexibilný, s menej verným kódom. Cituje však dynamické písanie ako potenciálne záporné slovo (pozri nižšie).

Internet vecí príležitostí. Python sa môže stať populárnym pre internet vecí, pretože nové platformy ako Raspberry Pi sú založené na ňom, hovorí Carbonnelle. Dokumentácia Raspberry Pi cituje tento jazyk ako „úžasný a výkonný programovací jazyk, ktorý sa ľahko používa (ľahko sa číta a write) a pomocou Raspberry Pi vám umožní prepojiť váš projekt so skutočným svetom. “

Výhody asynchrónneho kódovania. Python, hovorí Deibel, „je vynikajúci na písanie asynchrónneho kódu, ktorý na prácu v malých jednotkách namiesto vlákna používa jedinú slučku udalostí.“ Tento kód je podľa neho často ľahšie napísateľný a udržiavateľný bez toho, aby zamieňal spory o zdroje, zablokovania atď. „Generátory Pythonu sú v tomto prístupe skvelým spôsobom, ako vložiť beh mnohých spracovateľských slučiek.“

Multiparadigmový prístup najlepšie vyhovuje Jave. Programovací prístup Pythonu nie je taký obmedzený ako program Java, hovorí Carbonnelle. „Napríklad nemusíte tlačiť triedu OO, aby ste mohli tlačiť„ Hello world “v Pythone - musíte v Jave.“ Na rozdiel od Javy je Python multiparadigmatický a podporuje štýly OO, procedurálne a funkčné programovanie, hovorí. (Java nedávno pridala funkčné možnosti do Java 8.)

„V Pythone je všetko predmetom,“ hovorí Brian Curtin, člen predstavenstva Python Software Foundation a hlavný prispievateľ do CPythonu. „Aplikácie v Pythone je možné písať pomocou niekoľkých programovacích paradigiem, ale umožňuje to písať veľmi jasný a zrozumiteľný objektovo orientovaný kód.“

Pythonove zápory

Problémom môže byť rýchlosť. „Pretože je to tlmočený jazyk, je často mnohokrát pomalší ako kompilované jazyky,“ hovorí Curtin. „Vráti sa to však k oddeleniu jazyka od runtime. Určité štandardy kódu Pythonu bežiace pod programom PyPy bežia rýchlejšie ako ekvivalentný kód C alebo iné.“

„Možnou nevýhodou Pythonu je jeho pomalá rýchlosť vykonávania,“ hovorí Carbonnelle. Ale veľa balíčkov Pythonu bolo v priebehu rokov optimalizovaných a spúšťajú sa rýchlosťou C, hovorí.

Výkon, hovorí Chachra, „je pomalší v porovnaní so staršími jazykmi, ako je C / C ++, a ešte novšími, ako je Go.“

Absencia mobilných počítačov a prehľadávačov. „Python je prítomný na mnohých serverových a desktopových platformách, ale v mobilných počítačoch je slabý; s Pythonom je vyvinutých len veľmi málo aplikácií pre smartphony,“ hovorí Carbonnelle. „Je tiež zriedka viditeľný na strane klienta webovej aplikácie.“

Python nie je vo webových prehliadačoch, poznamenáva Deibel. "To je naozaj veľká škoda. Existuje bryton, ale nemyslím si, že je to v reálnom svete použiteľné." Python je ťažké zabezpečiť, a preto nie je v prehľadávačoch, dodáva. „Pre Python stále neexistuje skutočne bezpečné karanténa / väzenie a myslím si, že pre CPython (štandardná implementácia) je to v podstate nemožné.

Dizajnové obmedzenia. Oddaní v Pythone uvádzali niekoľko problémov týkajúcich sa dizajnu jazyka. Pretože je jazyk dynamicky písaný, vyžaduje viac testovania a obsahuje chyby, ktoré sa zobrazujú iba za behu, hovorí Chachra.

Globálny zámok tlmočníka Pythonu medzitým znamená, že k vnútorným častiam Pythonu môže mať prístup iba jedno vlákno naraz, hovorí Deibel. „To môže byť v dnešnej dobe menej dôležité, pretože pomocou modulu na viac procesorov môžete úlohy tak ľahko rozdeliť do samostatných procesov alebo namiesto nich napísať asynchrónny kód.“

Curtin hovorí, že okolo používania Pythonu existuje niekoľko konvencií, tlmočník však vynucuje značné medzery. „Štruktúra programov v Pythone musí byť konzistentná, takže tam, kde zátvorky alebo iné identifikátory umožňujú používateľovi väčšiu slobodu v iných jazykoch, je pri Pythone dôležité odsadenie.“

$config[zx-auto] not found$config[zx-overlay] not found