Programování

Průvodce vývojáře výhod a nevýhod Pythonu

Pythonu je Python Software Foundation účtován jako snadno naučitelný a běžící všude. Je to užitečné pro řadu typů aplikací, včetně vývoje webu, vědeckých výpočtů a vzdělávání. Google a Instagram patří mezi mnoho uživatelů Pythonu a jazyk dosahuje dobrých výsledků v indexech popularity.

Ale Python má své problémy, s otázkami ohledně jeho výkonu a designových vtípků. Abychom se dostali na konec toho, co je správné - a možná ne tak správné - o Pythonu, požádal redaktor Large Paul Krill hodnostáře v komunitě Pythonu o jejich vstup.

Výhody Pythonu

Přečtěte si ji a snadno ji používejte. „Hlavní charakteristikou programu Python je, že je snadno čitelný,“ říká Pierre Carbonnelle, programátor a blogger v Pythonu, který provozuje index jazyka PyPL. „To má výhody pro vás i pro ostatní. Pomáhá vám to jasněji myslet při psaní programů a pomáhá ostatním, kteří váš program udržují nebo vylepšují. V obou případech to vyžaduje menší úsilí při psaní programu v Pythonu než při psaní jednoho v jiném jazyce, jako je C ++ nebo Java. “ Čitelnost Pythonu usnadňuje vývoj open source, dodal Carbonnelle.

Python je snadno použitelný a na akademické půdě velmi oblíbený, protože vytváří velké množství talentů, říká Sumit Chachra, CTO společnosti Tivix, softwarové poradenské firmy, která se specializuje na vývoj Python / Django. Django a Python využívají Tivix ve vývoji webových a mobilních technologií, říká.

Python je velmi produktivní způsob psaní kódu, říká Stephen Deibel ze společnosti Wingware, která vyrábí Wing Python IDE. „Některé z nich vycházejí z jednoduché syntaxe a čitelnosti - prakticky neexistuje vůbec žádný typový štítek. Některé z nich pocházejí z bohaté, dobře navržené vestavěné a standardní knihovny a dostupnosti mnoha otevřených zdrojů třetích stran. knihovny a moduly. “ Dodává, že díky snadnému pochopení je snazší udržovat kód.

Python, říká Chachra, je dynamicky psaný a flexibilní, s kódem, který je méně podrobný. Cituje však dynamické psaní jako potenciální zápor (viz níže).

Příležitosti internetu věcí. Python se může stát populárním pro internet věcí, protože na něm jsou založeny nové platformy, jako je Raspberry Pi, říká Carbonnelle. Dokumentace Raspberry Pi cituje jazyk jako „úžasný a výkonný programovací jazyk, který se snadno používá (snadno se čte a write) a s Raspberry Pi vám umožní propojit váš projekt se skutečným světem. “

Výhody asynchronního kódování. Python, jak říká Deibel, „je skvělý pro psaní asynchronního kódu, který místo vláken používá jedinou smyčku událostí k práci v malých jednotkách.“ Tento kód, jak říká, je často snazší zapisovat a udržovat, aniž by došlo k záměně sporu o prostředky, zablokování atd. „Generátory Pythonu jsou skvělým způsobem, jak v tomto přístupu prokládat běh mnoha zpracovatelských smyček.“

Multiparadigmový přístup nejlépe vyhovuje prostředí Java. Programovací přístup Pythonu není tak omezený jako Java, říká Carbonnelle. „Například pro tisk‚ Hello world 'v Pythonu nemusíte vytvářet třídu OO - musíte v Javě. “ Na rozdíl od Javy je Python multiparadigmatický a podporuje styly OO, procedurální a funkční programování, říká. (Java nedávno přidala funkční funkce do prostředí Java 8.)

„V Pythonu je všechno objekt,“ říká Brian Curtin, člen představenstva Python Software Foundation a hlavní přispěvatel CPython. „Je možné psát aplikace v Pythonu pomocí několika programovacích paradigmat, ale umožňuje to psát velmi jasný a srozumitelný objektově orientovaný kód.“

Pythonovy nevýhody

Rychlost může být problém. „Protože se jedná o interpretovaný jazyk, je často mnohokrát pomalejší než kompilované jazyky,“ říká Curtin. „Vrací se však k oddělení jazyka od běhového prostředí. Některé standardy kódu Pythonu běží pod PyPy rychleji než ekvivalentní kód C nebo jiné.“

„Možnou nevýhodou Pythonu je jeho pomalá rychlost provádění,“ říká Carbonnelle. Ale mnoho balíčků Pythonu bylo v průběhu let optimalizováno a spouští se rychlostí C, říká.

Výkon, říká Chachra, „je pomalejší ve srovnání se staršími jazyky, jako je C / C ++, a dokonce i novějšími, jako je Go.“

Absence v mobilních počítačích a prohlížečích. „Python je přítomen na mnoha serverových a desktopových platformách, ale v mobilních počítačích je slabý; s Pythonem je vyvíjeno velmi málo aplikací pro smartphony,“ říká Carbonnelle. „Je také zřídka vidět na straně klienta webové aplikace.“

Python není ve webových prohlížečích, poznamenává Deibel. „To je opravdu škoda. Existuje brython, ale nemyslím si, že je použitelný ve skutečném světě.“ Python je těžké zabezpečit, a proto není v prohlížečích, dodává. „Pro Python stále neexistuje opravdu bezpečné zabezpečené karanténa / vězení a myslím si, že pro CPython (standardní implementace) je to považováno za v podstatě nemožné.

Omezení designu. Oddaní v Pythonu citovali několik problémů s designem jazyka. Protože je jazyk dynamicky zadáván, vyžaduje více testování a obsahuje chyby, které se zobrazují pouze za běhu, říká Chachra.

Globální zámek tlumočníka Pythonu mezitím znamená, že k interním součástem Pythonu může mít přístup pouze jedno vlákno najednou, říká Deibel. „V dnešní době to může být méně důležité, protože můžete tak snadno zpracovat úkoly na oddělené procesy pomocí modulu pro více procesů nebo místo toho psát asynchronní kód.“

Curtin říká, že existuje několik konvencí ohledně používání Pythonu, ale významné mezery jsou ty, které vynucuje tlumočník. „Struktura programů v Pythonu musí být konzistentní, takže tam, kde závorky nebo jiné identifikátory umožňují uživateli větší svobodu v jiných jazycích, je při Pythonu důležité odsazení.“