Programiranje

Vodnik za razvijalce za prednosti in slabosti Pythona

Python je založnik Python Software Foundation zaračunal kot enostaven za učenje in izvajanje povsod. Uporabna je za vrsto aplikacij, vključno s spletnim razvojem, znanstvenim računalništvom in izobraževanjem. Google in Instagram sta bila med številnimi uporabniki Pythona, jezik pa se dobro uvršča med indekse priljubljenosti.

Toda Python je imel težave, saj so se zastavljala vprašanja glede njegove zmogljivosti in zasnove. Da bi prišel do dna tega, kaj je prav - in morda ne tako prav - o Pythonu, je urednik Large Paul Krill prosil veljake v skupnosti Python za njihov prispevek.

Python profesionalci

Preberite, uporabite z lahkoto. "Glavne značilnosti programa Python so, da ga je enostavno brati," pravi Pierre Carbonnelle, programer in bloger za Python, ki vodi jezikovni indeks PyPL. "To koristi vam in drugim. Pomaga vam jasneje razmišljati pri pisanju programov in drugim, ki bodo vzdrževali ali izboljšali vaš program. V obeh primerih zahteva manj napora za pisanje programa Python kot za pisanje programa v drugem jeziku, kot sta C ++ ali Java. " Berljivost Pythona olajša odprtokodni razvoj, je dodal Carbonnelle.

Python je enostaven za uporabo in izjemno priljubljen v akademskih krogih, saj ustvarja velik nabor talentov, pravi Sumit Chachra, tehnični direktor podjetja Tivix, svetovalnega podjetja za programsko opremo, specializiranega za razvoj Python / Django. Django in Python Tivix spodbuja pri razvoju spleta in mobilnih naprav, pravi.

Python je zelo produktiven način pisanja kode, pravi Stephen Deibel iz podjetja Wingware, zaradi česar je Wing Python IDE. "Nekaj ​​tega izhaja iz preproste sintakse in berljivosti - praktično sploh ni nobenega" vzorca ". Nekaj ​​tega prihaja iz bogate, dobro zasnovane vgrajene in standardne knjižnice ter razpoložljivosti številnih odprtih kod tretjih oseb knjižnic in modulov. " Ker je koda enostavna za razumevanje, jo je lažje vzdrževati, dodaja.

Python je, pravi Chachra, dinamično natipkan in prilagodljiv, z manj podrobno kodo. Vendar pa kot potencialno negativno navaja dinamično tipkanje (glej spodaj).

Priložnosti interneta stvari. Python lahko postane priljubljen na internetu stvari, saj na njem temeljijo nove platforme, kot je Raspberry Pi, pravi Carbonnelle. V dokumentaciji Raspberry Pi je jezik naveden kot "čudovit in zmogljiv programski jezik, ki je enostaven za uporabo (enostaven za branje in piši) in z Raspberry Pi omogoča, da svoj projekt povežete z resničnim svetom. "

Prednosti asinhronega kodiranja. Python, pravi Deibel, "je odličen za pisanje asinhrone kode, ki namesto navojev uporablja eno zanko dogodkov za delo v majhnih enotah." Po njegovem mnenju je to kodo pogosto lažje napisati in vzdrževati, ne da bi pri tem zmedli prepiranje virov, mrtve blokade itd. "Pythonovi generatorji so odličen način za prepletanje številnih procesorskih zank pri tem pristopu."

Pristop multiparadigme je najboljši na Javi. Pythonov programski pristop ni tako omejen kot Javin, pravi Carbonnelle. "Na primer, ni vam treba ustvariti razreda OO za tiskanje 'Hello world' v Pythonu - to morate storiti v Javi." Za razliko od Jave je Python multiparadigma in podpira OO, proceduralne in funkcionalne sloge programiranja, pravi. (Java je nedavno dodala funkcionalne zmogljivosti v Javi 8.)

"V Pythonu je vse predmet," pravi Brian Curtin, član upravnega odbora Python Software Foundation in glavni sodelavec CPythona. "Aplikacije je mogoče pisati v Pythonu z uporabo več programskih paradigem, vendar omogoča pisanje zelo jasne in razumljive objektno usmerjene kode."

Pythonove slabosti

Hitrost je lahko težava. "Ker gre za tolmačen jezik, je pogosto velikokrat počasnejši od prevedenih jezikov," pravi Curtin. "Vendar se vrne k ločevanju jezika od izvajalnega okolja. Nekatera merila kode Python, ki se izvajajo pod PyPy, delujejo hitreje kot enakovredna koda C ali druga."

"Možna pomanjkljivost Pythona je počasna hitrost izvajanja," pravi Carbonnelle. Toda mnogi paketi Python so bili skozi leta optimizirani in se izvajajo s hitrostjo C, pravi.

Zmogljivost, pravi Chachra, "je počasnejša v primerjavi s starejšimi jeziki, kot je C / C ++, in še novejšimi, kot je Go."

Odsotnost mobilnega računalništva in brskalnikov. "Python je prisoten na številnih strežniških in namiznih platformah, vendar je v mobilnem računalništvu šibek; zelo malo aplikacij za pametne telefone je razvitih s Pythonom," pravi Carbonnelle. "Prav tako je redko viden na odjemalski strani spletne aplikacije."

Python ni v spletnih brskalnikih, ugotavlja Deibel. "To je res škoda. Obstaja brython, vendar mislim, da ni uporaben v resničnem svetu." Python je težko zavarovati in ga zato ni v brskalnikih, dodaja. "Za Python še vedno ni dobrega varnega peskovnika / zapora in mislim, da je v bistvu nemogoče za CPython (standardna izvedba).

Omejitve oblikovanja. Privrženci Pythona so navedli več vprašanj z zasnovo jezika. Ker je jezik dinamično natipkan, zahteva več preizkusov in ima napake, ki se pojavijo samo med izvajanjem, pravi Chachra.

Zaklepanje globalnega tolmača Pythona medtem pomeni, da lahko samo ena nit dostopa do notranjih strani Pythona hkrati, pravi Deibel. "To je v današnjih časih morda manj pomembno, saj lahko naloge zlahka ustvarite za ločevanje procesov z večprocesorskim modulom ali namesto tega napišete asinhrono kodo."

Curtin pravi, da obstaja nekaj pravil glede uporabe Pythona, vendar je velik presledek tisti, ki ga uporabi tolmač. "Struktura programov Python mora biti dosledna, zato, kadar oklepaji ali drugi identifikatorji omogočajo uporabniku več svobode v drugih jezikih, je pri Pythonu pomembno, da je vdolbina."

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