Ohjelmointi

Kehittäjän opas Pythonin eduista ja haitoista

Python Software Foundation laskuttaa Pythonin olevan helppo oppia ja ajaa kaikkialla. Se on hyödyllinen useille sovellustyypeille, mukaan lukien verkkokehitys, tieteellinen laskenta ja koulutus. Google ja Instagram ovat olleet Pythonin monien käyttäjien joukossa, ja kieli sijoittuu hyvin suosioindekseihin.

Mutta Pythonilla on ollut ongelmia, ja sen suorituskyvystä ja muotoiluhermoista on esitetty kysymyksiä. Päästäksesi siihen, mikä on oikein - ja ehkä ei niin oikeassa - Pythonista, Suurten Paul Krillin toimittaja pyysi Python-yhteisön arvohenkilöitä antamaan panoksensa.

Python-ammattilaiset

Lue se, käytä sitä helposti. "Python-ohjelman pääominaisuudet ovat se, että se on helppo lukea", sanoo PyPL-kieli-indeksiä ylläpitävä Python-ohjelmoija ja bloggaaja Pierre Carbonnelle. "Tästä on hyötyä sinulle ja muille. Se auttaa ajattelemaan selkeämmin kirjoittaessasi ohjelmia, ja se auttaa muita, jotka ylläpitävät tai parantavat ohjelmasi. Molemmissa tapauksissa Python-ohjelman kirjoittaminen vaatii vähemmän vaivaa kuin yhden kirjoittaminen. muulla kielellä, kuten C ++ tai Java. " Pythonin luettavuus helpottaa avoimen lähdekoodin kehittämistä, Carbonnelle lisäsi.

Python on helppokäyttöinen ja erittäin suosittu akateemisessa ympäristössä, mikä luo suuren kykyjä, kertoo Sumit Chachra, Python / Django-kehitykseen erikoistuneen ohjelmistokonsultointiyrityksen Tivixin teknologiajohtaja. Django ja Python ovat Tivixin hyödyntämiä web- ja mobiilikehityksessä, hän sanoo.

Python on erittäin tuottava tapa kirjoittaa koodia, sanoo Wingwaren Stephen Deibel, joka tekee Wing Python IDE: stä. "Osa tästä johtuu yksinkertaisesta syntaksista ja luettavuudesta -" kattilaa "ei ole käytännössä ollenkaan. Osa siitä tulee rikkaista, hyvin suunnitelluista sisäänrakennetuista ja vakiokirjastosta sekä monien kolmansien osapuolten avoimen lähdekoodin saatavuudesta. kirjastot ja moduulit. " Koska koodi on helppo ymmärtää, sitä on helpompi ylläpitää, hän lisää.

Python, sanoo Chachra, on dynaamisesti kirjoitettu ja joustava, ja sen koodi on vähemmän sanallinen. Hän kuitenkin mainitsee dynaamisen kirjoittamisen mahdolliseksi negatiiviseksi (katso alla).

Esineiden internetin mahdollisuudet. Pythonista voi tulla suosittu esineiden Internet, koska uudet alustat, kuten Raspberry Pi, perustuvat siihen, Carbonnelle sanoo. Raspberry Pi: n dokumentaatiossa kieli mainitaan "ihana ja tehokas ohjelmointikieli, jota on helppo käyttää (helppo lukea ja kirjoittaa) ja Raspberry Pi: n avulla voit yhdistää projektisi todelliseen maailmaan. "

Asynkronisen koodauksen edut. Python, Deibel sanoo, "sopii mainiosti asynkronisen koodin kirjoittamiseen, joka ketjuttamisen sijaan käyttää yhtä tapahtumasilmukkaa tekemään työtä pienissä yksiköissä". Hänen mukaansa tätä koodia on usein helpompi kirjoittaa ja ylläpitää sekoittamatta resurssikilpailua, umpikujaan jne. "Pythonin generaattorit ovat loistava tapa lomittaa monia käsittelysilmukoita tässä lähestymistavassa"

Multiparadigm-lähestymistapa on paras Java. Pythonin ohjelmointitapa ei ole yhtä rajoitettu kuin Java, Carbonnelle sanoo. "Esimerkiksi sinun ei tarvitse luoda OO-luokkaa tulostaaksesi" Hello world "Pythonissa - sinun on tehtävä Java-ohjelmassa." Toisin kuin Java, Python on multiparadigma ja tukee OO-, menettelytapoja ja toiminnallisia ohjelmointityylejä, hän sanoo. (Java lisäsi äskettäin Java 8: n toiminnalliset ominaisuudet.)

"Pythonissa kaikki on esine", sanoo Brian Curtin, Python Software Foundationin hallituksen jäsen ja CPythonin keskeinen avustaja. "Pythonissa on mahdollista kirjoittaa sovelluksia useilla ohjelmointiparadigmoilla, mutta se tekee erittäin selkeän ja ymmärrettävän olio-koodin kirjoittamisen."

Pythonin haitat

Nopeus voi olla ongelma. "Koska se on tulkittu kieli, se on usein monta kertaa hitaampi kuin käännetyt kielet", Curtin sanoo. "Palataan kuitenkin kielen erottamiseen ajonaikaisesta ajasta. Tietyt PyPy-ohjelmassa suoritettavat Python-koodin vertailuarvot toimivat nopeammin kuin vastaava C-koodi tai muut."

"Pythonin mahdollinen haitta on sen hidas suoritusnopeus", Carbonnelle sanoo. Mutta monet Python-paketit on optimoitu vuosien varrella ja ne toteutetaan C-nopeudella, hän sanoo.

Suorituskyky, Chachra sanoo, "on hitaampaa verrattuna vanhempiin kieliin, kuten C / C ++, ja vielä uudempiin kieliin, kuten Go."

Poissaolo mobiililaskennasta ja selaimista. "Python on läsnä monilla palvelin- ja työpöytäympäristöillä, mutta se on heikko mobiililaskennassa; Pythonilla kehitetään hyvin vähän älypuhelinsovelluksia", Carbonnelle sanoo. "Se näkyy myös harvoin verkkosovelluksen asiakaspuolella."

Python ei ole verkkoselaimissa, Deibel toteaa. "Se on todellinen häpeä. Brython on olemassa, mutta en usko, että se olisi reaalimaailmassa käyttökelpoinen." Pythonia on vaikea turvata, ja siksi sitä ei ole selaimissa, hän lisää. "Pythonille ei ole vieläkään hyvä suojattu hiekkalaatikko / vankila, ja mielestäni sitä pidetään periaatteessa mahdottomana CPythonille (tavallinen toteutus).

Suunnittelurajoitukset. Python-harrastajat mainitsivat useita kysymyksiä kielen suunnittelussa. Koska kieli kirjoitetaan dynaamisesti, se vaatii enemmän testausta ja siinä on virheitä, jotka näkyvät vain ajon aikana, Chachra sanoo.

Samaan aikaan Pythonin yleinen tulkkilukko tarkoittaa, että vain yksi ketju voi käyttää Pythonin sisäosia kerrallaan, Deibel sanoo. "Tämä voi olla vähemmän tärkeää näinä päivinä, koska voit helposti synnyttää tehtäviä erillisiin prosesseihin käyttämällä moniprosessointimoduulia tai kirjoittaa asynkronisen koodin sen sijaan."

Curtin sanoo, että Pythonin käytössä on muutama käytäntö, mutta tulkki noudattaa merkittävää tyhjää tilaa. "Python-ohjelmien rakenteen on oltava johdonmukainen, joten jos suluissa tai muissa tunnisteissa käyttäjä saa enemmän vapautta muilla kielillä, sisennyksellä on merkitystä Pythonissa."