Python programmatūras fonds izsaka rēķinu, ka Python ir viegli iemācāms un darbojas visur. Tas ir noderīgs dažādu veidu lietojumiem, tostarp tīmekļa izstrādei, zinātniskajai skaitļošanai un izglītībai. Google un Instagram ir bijuši starp daudzajiem Python lietotājiem, un valoda labi novērtēta popularitātes rādītājos.
Bet Python ir bijuši savi jautājumi, izvirzīti jautājumi par tā veiktspēju un dizaina dīvainībām. Lai nonāktu pie tā, kas ir pareizi - un varbūt ne tik pareizi - par Python, redaktors lielajā Paulā Krilā lūdza Python kopienas amatpersonām viņu ieguldījumu.
Python profesionāļi
Izlasiet to, izmantojiet to viegli. "Galvenās Python programmas īpašības ir tās, ka to ir viegli lasīt," saka Pjērs Karbonnels, Python programmētājs un emuāru autors, kurš vada PyPL valodas indeksu. "Tas dod labumu jums un citiem. Tas palīdz skaidrāk domāt, rakstot programmas, un palīdz citiem, kas uzturēs vai uzlabos jūsu programmu. Abos gadījumos tas prasa mazāk pūļu, lai uzrakstītu Python programmu, nekā to uzrakstīt. citā valodā, piemēram, C ++ vai Java. " Python lasāmība atvieglo atvērtā koda attīstību, piebilda Karbonnelle.
Python ir viegli lietojams un ārkārtīgi populārs akadēmiskajā vidē, radot lielu talantu kopu, saka Sumit Chachra, programmatūras konsultāciju firmas Tivix CTO, kas specializējas Python / Django izstrādē. Viņš saka, ka Django un Python Tivix izmanto Web un mobilo ierīču attīstībā.
Python ir ļoti produktīvs veids, kā rakstīt kodu, saka Stephen Deibel no Wingware, kas padara Wing Python IDE. "Daži no tiem nāk no vienkāršās sintakses un lasāmības - praktiski nav" katlu plāksnes ". Daži no tiem nāk no bagātīgas, labi izstrādātas iebūvētās un standarta bibliotēkas un daudzu trešo pušu atvērtā koda pieejamības. bibliotēkas un moduļi. " Kods ir viegli saprotams, un kodu ir vieglāk uzturēt, viņš piebilst.
Python, saka Chachra, ir dinamiski drukāts un elastīgs, ar kodu, kas ir mazāk izteikts. Tomēr viņš kā dinamisku drukāšanu norāda kā potenciālu negatīvu (skatīt zemāk).
Lietu interneta iespējas. Python var kļūt populārs lietu internetā, jo uz tā ir balstītas jaunas platformas, piemēram, Raspberry Pi, saka Karbonnelle. Raspberry Pi dokumentācijā valoda tiek minēta kā "brīnišķīga un spēcīga programmēšanas valoda, kuru ir viegli lietot (viegli lasāma un rakstīt) un ar Raspberry Pi ļauj savienot savu projektu ar reālo pasauli. "
Asinhronās kodēšanas priekšrocības. Pitons, saka Deibels, "ir lieliski piemērots asinhrona koda rakstīšanai, kas, nevis pavedieni, izmanto vienu notikumu cilpu, lai veiktu darbu mazās vienībās". Šo kodu, pēc viņa teiktā, bieži ir vieglāk rakstīt un uzturēt, nesajaucot resursu apstrīdēšanu, strupceļus utt. "Python ģeneratori ir lielisks veids, kā šajā pieejā iesaistīt daudzu apstrādes cilpu darbību."
Daudzparadigmas pieeja vislabāk nodrošina Java. Python programmēšanas pieeja nav tik ierobežota kā Java, saka Carbonnelle. "Piemēram, lai izveidotu" Hello world "Python, jums nav jāizveido OO klase - jums tas jādara Java valodā." Atšķirībā no Java, Python ir daudzparadigms un atbalsta OO, procesuālos un funkcionālos programmēšanas stilus, viņš saka. (Java nesen pievienoja Java 8 funkcionālās iespējas.)
"Programmā Python viss ir objekts," saka Braiens Kurtins, Python Software Foundation direktoru padomes loceklis un galvenais CPython līdzstrādnieks. "Ir iespējams rakstīt lietojumprogrammas Python, izmantojot vairākas programmēšanas paradigmas, taču tas padara ļoti skaidru un saprotamu objektorientēta koda rakstīšanu."
Pitona mīnusi
Ātrums var būt problēma. "Tā kā tā ir interpretēta valoda, tā bieži ir daudzkārt lēnāka nekā apkopotās valodas," saka Kurtiņš. "Tomēr tas atgriežas pie valodas nodalīšanas no izpildlaika. Daži Python koda etaloni, kas darbojas zem PyPy, darbojas ātrāk nekā ekvivalents C kods vai citi."
"Iespējamais Python trūkums ir tā lēns izpildes ātrums," saka Karbonnelle. Bet daudzas Python paketes gadu gaitā ir optimizētas un tiek izpildītas ar C ātrumu, viņš saka.
Veiktspēja, saka Chachra, "ir lēnāka, salīdzinot ar vecākām valodām, piemēram, C / C ++, un vēl jaunākām valodām, piemēram, Go."
Nav mobilo skaitļošanas ierīču un pārlūkprogrammu. "Python ir pieejams daudzās serveru un darbvirsmu platformās, taču mobilajā skaitļošanā tas ir vājš; ar Python tiek izstrādātas ļoti maz viedtālruņu lietojumprogrammas," saka Karbonnelle. "Tas ir reti redzams arī tīmekļa lietojumprogrammas klienta pusē."
Python nav tīmekļa pārlūkprogrammās, atzīmē Deibel. "Tas ir īsts kauns. Ir brython, bet es nedomāju, ka tas ir reāli lietojams." Python ir grūti nodrošināt, un tāpēc tas nav pārlūkprogrammās, viņš piebilst. "Python joprojām nav īsti laba droša smilšu kaste / cietums, un es domāju, ka tas parasti tiek uzskatīts par neiespējamu CPython (standarta ieviešana).
Projektēšanas ierobežojumi. Python bhaktas minēja vairākus jautājumus saistībā ar valodas dizainu. Tā kā valoda tiek rakstīta dinamiski, tā prasa vairāk testu un tajā ir kļūdas, kas parādās tikai izpildlaikā, saka Čačra.
Tikmēr Python globālā tulka bloķēšana nozīmē, ka tikai vienam pavedienam vienlaikus var piekļūt Python iekšējiem, saka Deibels. "Mūsdienās tas var būt mazāk svarīgi, jo jūs varat tik viegli veikt uzdevumus, lai procesus nošķirtu, izmantojot daudzapstrādes moduli, vai arī tā vietā rakstīt asinhrono kodu."
Kurtins saka, ka ir dažas konvencijas par Python lietošanu, taču ievērojams atstarpe ir tāda, kuru izpilda tulks. "Python programmu struktūrai jābūt konsekventai, tādēļ, ja iekavās vai citos identifikatoros lietotājam tiek piešķirta lielāka brīvība citās valodās, tad, kad runa ir par Python, svarīga ir atkāpe."