Programavimas

Kūrėjo vadovas apie „Python“ privalumus ir trūkumus

„Python“ programinės įrangos fondas pateikia sąskaitą, kad jį lengva išmokti ir jis veikia visur. Tai naudinga įvairiems programų tipams, įskaitant žiniatinklio kūrimą, mokslinį skaičiavimą ir švietimą. „Google“ ir „Instagram“ buvo tarp daugybės „Python“ vartotojų, o kalba populiarumo rodikliuose yra geri.

Tačiau „Python“ turėjo problemų, kilo klausimų apie jo našumą ir dizaino ypatumus. Norėdami sužinoti, kas yra teisinga - o gal ir ne taip - apie „Python“, „Large“ redaktorius Paulas Krillas paprašė „Python“ bendruomenės aukšto rangovų pateikti savo indėlį.

„Python“ profesionalai

Perskaitykite, lengvai naudokite. „Pagrindinės„ Python “programos savybės yra tai, kad ją lengva perskaityti“, - sako „Python“ programuotojas ir tinklaraštininkas, vadovaujantis „PyPL“ kalbos indeksui, Pierre'as Carbonnelle'as. "Tai turi naudos jums ir kitiems. Tai padeda aiškiau mąstyti rašant programas, taip pat kitiems, kurie prižiūrės ar patobulins jūsų programą. Abiem atvejais norint parašyti„ Python “programą reikia mažiau pastangų nei parašyti kita kalba, pavyzdžiui, C ++ ar Java. " „Python“ skaitomumas palengvina atvirojo kodo kūrimą, pridūrė Carbonnelle.

„Python“ yra lengvai naudojamas ir itin populiarus akademinėje aplinkoje, sukuriantis didelį talentų fondą, sako „Sumit Chachra“, programinės įrangos konsultavimo įmonės „Tivix“ CTO, kuri specializuojasi Python / Django kūrimo srityje. Pasak jo, „Tivix“ naudoja Django ir „Python“, naudodamas žiniatinklio ir mobiliojo ryšio plėtrą.

„Python“ yra labai produktyvus būdas rašyti kodą, sako Stephenas Deibelis iš „Wingware“, kuris sukuria „Wing Python IDE“. "Kai kurie iš jų atsiranda dėl paprastos sintaksės ir įskaitomumo - praktiškai nėra" katilo ". Kai kurie iš jų gaunami iš turtingos, gerai suprojektuotos įmontuotos ir standartinės bibliotekos bei galimybės naudotis daugeliu trečiųjų šalių atvirojo kodo. bibliotekos ir moduliai. " Kodas yra lengvai suprantamas, jį lengviau prižiūrėti, priduria jis.

„Python“, sako „Chachra“, yra dinamiškai įvestas ir lankstus, jo kodas yra mažiau išsamus. Tačiau jis nurodo dinaminį spausdinimą kaip galimą neigiamą variantą (žr. Toliau).

Daiktų interneto galimybės. „Python“ gali tapti populiarus daiktų internete, nes juo remiasi naujos platformos, tokios kaip „Raspberry Pi“, sako Carbonnelle. „Raspberry Pi“ dokumentuose kalba minima kaip „nuostabi ir galinga programavimo kalba, kurią lengva naudoti (lengva skaityti ir rašyti) ir su „Raspberry Pi“ leidžia jums susieti savo projektą su realiu pasauliu “.

Asinchroninio kodavimo privalumai. „Python“, sako Deibelis, „puikiai tinka rašyti asinchroninį kodą, kuris, o ne sriegimas, naudoja vieną įvykių kilpą darbui atlikti mažais vienetais“. Šį kodą, jo teigimu, dažnai yra lengviau rašyti ir prižiūrėti, nesupainiojant ginčų dėl išteklių, aklavietės ir pan. „„ Python “generatoriai yra puikus būdas įveikti daugelio apdorojimo kilpų veikimą šiuo požiūriu“.

„Multiparadigm“ metodas geriausiai palaiko „Java“. „Python“ programavimo metodas nėra toks ribotas kaip „Java“, sako Carbonnelle. "Pavyzdžiui, norint sukurti" Hello world "Python, jums nereikia sukurti OO klasės - jūs turite tai padaryti" Java "." Skirtingai nuo „Java“, „Python“ yra daugiaparadigmas ir palaiko OO, procedūrinius ir funkcinius programavimo stilius, sako jis. („Java“ neseniai pridėjo funkcines „Java 8“ galimybes.)

„„ Python “viskas yra objektas“, - sako Brianas Curtinas, „Python Software Foundation“ direktorių tarybos narys ir pagrindinis „CPython“ bendradarbis. "Programas" Python "galima rašyti naudojant kelias programavimo paradigmas, tačiau tai leidžia rašyti labai aiškų ir suprantamą į objektą orientuotą kodą."

„Python“ minusai

Greitis gali būti problema. „Kadangi tai yra aiškinama kalba, ji dažnai yra daug kartų lėtesnė nei sudarytos kalbos“, - sako Curtinas. "Tačiau grįžtama prie kalbos atskyrimo nuo vykdymo laiko. Tam tikri" Python "kodo etalonai, paleisti naudojant" PyPy ", veikia greičiau nei lygiavertis C kodas ar kiti."

„Galimas„ Python “trūkumas yra lėtas vykdymo greitis“, - sako Carbonnelle. Tačiau daugelis „Python“ paketų per daugelį metų buvo optimizuoti ir vykdomi C greičiu, sako jis.

Našumas, pasak Chachra, „yra lėtesnis, palyginti su senesnėmis kalbomis, tokiomis kaip C / C ++, ir dar naujesnėmis kalbomis, tokiomis kaip„ Go “.

Mobiliųjų kompiuterių ir naršyklių nebuvimas. "Python yra daugelyje serverio ir darbalaukio platformų, tačiau mobiliajame skaičiavime jis yra silpnas; su Python sukurta labai nedaug išmaniųjų telefonų programų", - sako Carbonnelle. "Tai taip pat retai pastebima žiniatinklio programos kliento pusėje."

„Python“ nėra žiniatinklio naršyklėse, pažymi „Deibel“. "Tai tikra gėda. Yra" brython ", bet nemanau, kad jis yra realus." „Python“ sunku apsaugoti, todėl jis nėra naršyklėse, priduria jis. "" Python "vis dar nėra geros saugios smėlio dėžės / kalėjimo, ir manau, kad tai iš esmės neįmanoma" CPython "(standartinis diegimas).

Projektavimo apribojimai. „Python“ bhaktos nurodė keletą kalbos dizaino klausimų. Kadangi kalba rašoma dinamiškai, ją reikia išbandyti daugiau ir joje yra klaidų, kurios pasirodo tik vykdymo metu, sako Chachra.

Tuo tarpu pasaulinis „Python“ vertėjo užraktas reiškia, kad vienu metu prieigą prie „Python“ vidinių elementų gali pasiekti tik viena gija, sako Deibelis. "Šiais laikais tai gali būti ne taip svarbu, nes jūs galite taip lengvai atlikti užduotis, kad atskirtumėte procesus naudodami daugiaprocesorinį modulį, arba vietoj to parašyti asinchroninį kodą."

Curtinas sako, kad yra keletas susitarimų, susijusių su „Python“ naudojimu, tačiau reikšmingą tarpą taiko vertėjas. "Python programų struktūra turi būti nuosekli, taigi, kai skliausteliuose ar kituose identifikatoriuose vartotojui suteikiama daugiau laisvės kitomis kalbomis, kalbant apie" Python ", svarbi įtrauka."