Vissza a blogra

Python programozás kezdőknek: a 3 legnagyobb tévhit

É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 a Pythonnal 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ás terén.

Ezek közül szedtük össze a három leggyakoribbat. Miközben eloszlatjuk a tévhiteket, bevezetünk a legfontosabb tudnivalókba is, amikkel nem árt, ha kezdőként tisztában vagy.

1. tévhit: A Python programozás csak adatbányászatra és gépi tanulásra jó

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 Python programozók vagy csak nem mélyedtü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 Street View 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égnél a belső eszközöket Pythonban programozták, még olyan tech óriásoknál is, mint például 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 programozás nagyon kelendő skill, és a mesterséges intelligencia és a gépi tanulás rohamos terjedésével ez valószínűleg még 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

Erre is van bőven ellenpélda, a Mercurial verziókezelőtől kezdve az olyan terjedelmes keretrendszerekig, mint a Django. A Python 3.5 óta ugyanis könnyedén lehet típusokkal annotálni a kódunkat, ami sokat dob annak fenntarthatóságán. Márpedig 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á, és ha mégsem ú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 unit tesztelé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 közösen a diákokkal, 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 nézd át ezt a listát a 42 izgalmasabb Python-projekt ötletről.

Ú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