Vissza a blogra

A 3 legnagyobb tévhit a Python programozással kapcsolatban

Érdekel a Python programozás? Az egyik leggyorsabban fejlődő programozási nyelvvel kapcsolatban több tévhit is terjed: összeszedtük a 3 leggyakoribbat.

(Monty) Python

Amikor 1989 végén Guido van Rossum nekiállt összerakni egy új programozási nyelvet, valószínűleg nem gondolta, hogy harminc évvel később a Monty Pythonról elnevezett karácsonyi hobbiprojektjéből a szakma egyik legfelkapottabb nyelve lesz. És a leggyorsabban fejlődő is. A Google keresési statisztikái szerint az elmúlt egy évben Amerikában a Python több embert érdekelt, mint például Kim Kardashian, és ellentétben a vetélytársakkal, a „Python programozás” kulcsszóra a keresések száma konkrétan triplájára nőtt. A Stack Overflow fejlesztők körében végzett idei felmérése is hasonló képet mutat: a programozók 68%-a szeret vele dolgozni, és azok közül, akik még nem használják, 25% tervezi megtanulni (ezzel a Python már második éve vezeti a „wanted” listát, a JavaScriptet is jócskán megelőzve).

De népszerűség ide vagy oda, még mindig számos tévhit él a köztudatban a Python programozással kapcsolatban. Ezek közül szedtük össze a három leggyakoribbat.

1. A Pythont csak adatbányászatra és gépi tanulásra használják

A Python rendkívül felhasználóbarát, könnyen olvasható és tanulható, és szinte bármilyen feladatra bevethető. Nem csoda, hogy sok helyen – így a Codecoolban is – az első fontos általános programozási nyelvként szoktuk tanítani. Ráadásul a pythonisták aktív közösségének hála dokumentációból és segítségből sosincs hiány, és elérhető egy folyamatosan bővülő, több mint 150 ezres program-és modulgyűjtemény is hozzá. Ez a gyakorlatban azt jelenti, hogy mivel egy csomó feladatra már rég megírta valaki az általános kódot, nekünk csak annyi a teendőnk, hogy beimportáljuk az aktuális feladathoz passzoló modult és hozzácsapjuk a saját pár soros kódunkat. Így akkor is pikk-pakk össze tudunk dobni egy programot, ha még nem vagyunk veterán programozók vagy csak nem mélyültünk el az adott szakterületben.

Az persze igaz, hogy a Python az utóbbi években a mesterségesintelligencia-kutatók első számú programozási nyelvévé vált: például a Google Streetview is Python-kóddal írt algoritmussal ismeri fel a házszámokat, a Spotify pedig így ajánl nekünk zenét. És amióta pár éve a Google megjelentette nyílt forrású könyvtárát, a TensorFlow-t, mindenki számára elérhető egy olyan keretrendszer, ami a különböző gépi tanulás alapú képelemzési, szövegértési és mintafelismerési képességek fejlesztését segíti. A Python-rajongók táborát erősítik az adatelemzők is, hiszen megbízhatósága és könnyű elsajátíthatósága miatt ez egy programozói háttér nélkül is könnyen megtanulható és hatékonyan alkalmazható nyelv. Nem véletlen, hogy az adattárolási struktúrákat és egyéb adatelemzési eszközöket biztosító pandas project könyvtár volt a Stack Overflow leggyorsabban növekvő pythonos tagje 2017-ben. De sokak kedvence a programnyelveken átívelő Project Jupyter is (az elnevezés maga is a Julia, Python és R nyelvekből lett összerakva), amivel interaktív környezetben lehet fejleszteni, kísérletezni és akár publikálni is a munkafolyamatunkat.

2. Kevés munkahelyen kell a Python programozás

Attól még, hogy egy pozícióban nem a Python a fő programozási nyelv, nehéz lesz nélküle megélni. Rengeteg cégben a belső eszközök ebben vannak megírva, még olyan techóriásoknál is, mint a Google. Gyakori az is, hogy bár egy terméket valamilyen másik nyelvben, például C++-ban kódolunk, a tesztelés az elejétől a végéig Pythonban történik. Iyenkor nem annyira fontos, hogy hibatűrő legyen a tesztkörnyezet: mivel a csapatunkon kívül senki nem fog hozzányúlni, nem kell arra felkészülni, hogy valaki véletlenül rosszul használná. Cserébe pillanatok alatt lehet a kódot bővíteni vagy ha épp arra van igény, írni egy vadiúj tesztet.

A Python-tudás nagyon kelendő, és a mesterséges intelligencia és a gépi tanulás rohamos terjedésével ez valószínűleg egy jó darabig így is marad. Azt se felejtsük el, hogy a Python mennyire sokszínű nyelv, és hogy ezzel a munkáltatók is tisztában vannak. Ezért a Python programozás gyakran az alapelvárások között szerepel web- és asztali fejlesztők, rendszergazdák és DevOps-szakértők esetében is.

3. Pythonban nem lehet nagy projekteket csinálni

Van bőven ellenpélda: a Mercurial verziókezelőtől kezdve az olyan terjedelmes keretrendszerekig, mint a Django. A Python 3.5 óta könnyedén lehet típusokkal annotálni a kódunkat, ami sokat dob annak fenntarthatóságán. Egy nagy projekthez kulcsfontosságú, hogy modulárisan tudjuk tartani, hiszen a különböző feladatokat ellátó részeken gyakran több csapat dolgozik egyszerre. Az is fontos, hogy ha változik az egyik építőelem, ne kelljen minden mást módosítani hozzá, de ha nem ússzuk meg a változtatást, legalább tudjuk, pontosan melyik kódrészeket érinti. Statikus nyelveknél ez sokszor már fordítás közben kiderül, míg dinamikus nyelveknél sokszor csak futás közben. Ilyenkor segít rajtunk a unittesztelés, amihez a Pythonnak van egy remek modulja, de rengeteg külső megoldás is létezik, például a Nose. Arról nem is beszélve, hogy ha hinni lehet a jóslatoknak, a Python új verzióiban még nagyobb szerepet fog kapni a statikus analízis. Ennek lehet előszele a Type Hints feature (aminek amúgy maga Guido az egyik írója), és az olyan eszközök terjedése, mint a mypy.

A Codecoolban az egyik többhetes, átfogó projektünk is jórészt Pythonban készül: egy olyan közösségi weboldalt készítünk, ahol hasonlóan a Stack Overflow-hoz, mindenféle programozással kapcsolatos témát meg lehet majd vitatni. Kérdésekkel és válaszokkal indítunk, majd a következő hetekben kiegészítjük mindenféle plusz funkcióval a kommentektől a felhasználókezelésen át az információk adatbázisban tárolásáig.

Még mindig maradtak kételyek? Akkor inspirációnak érdemes megnézni a tavalyi 30 legizgalmasabb Python-projektet.

Úgy érzed, belevágnál a programozásba? Jelentkezz a Codecool kéthetente induló programozóképzésére és szerezz piacképes, biztos tudást egy év alatt!

szerző:
Fábián Bence
Megosztás