Mire jó a Python programozás?

A Python az utóbbi években az egyik legfeltörekvőbb kódolási nyelvvé nőtte ki magát. Napjainkra ez lett az egyik legismertebb és legnagyobb felhasználói bázissal rendelkező programozási nyelv. Az egyik neves fejlesztői portálon végzett kimutatások szerint – ahol programozók tehetnek fel és válaszolhatnak meg egymásnak kérdéseket a világ minden pontjáról – a felhasználók a legtöbb kérdést a Python-nal kapcsolatban teszik fel, megelőzve például a JavaScript-et is. De miben is rejlik a Python ereje?

Honnan jön a Python programozási nyelv?

A Python nyelvet Guido van Rossum holland programozó kezdte el fejleszteni, először csak amolyan kedvtelésből. A Python nevet ráadásul nem az óriáskígyó, hanem a népszerű Monty Python sorozat ihlette. Rossum ekkoriban egyébként már széleskörű programozói tapasztalattal rendelkezett, célja pedig az volt, hogy egy kellően tömör, logikus, könnyen megtanulható és átlátható új programozási nyelvet alkosson meg. Rossum a fejlesztést az 1989. év végén kezdte meg, majd 1991-ben hozta először nyilvánosságra Python 0.9.0 verzió néven. Ezt követte később az 1.0, a 2.0, majd 2008-ban a jelenleg is aktuális verzió, a Python 3.0.

A Python programozási nyelv fejlesztési filozófiájának alapja azóta is a könnyű megértés és tanulhatóság, az olvashatóság szem előtt tartása. Ha összehasonlítasz egy Pythonban írt kódot egy más kódnyelvben, akár Pascalban, Javaban vagy C-ben írt kóddal, laikusként is szembetűnik annak tagoltsága, átláthatósága és mindenféle speciális karakterektől való mentessége. Ráadásul egy azonos feladatra Python nyelven megírt program hossza nagyjából negyede az előbbi nyelveken megírtakéhoz képest, ami értelemszerűen sokkal rövidebb fejlesztési időt, ezáltal kevesebb költséget is igényel. 

A Python az egyike az úgynevezett „magas-szintű” programozási nyelveknek. Ahhoz, hogy megértsük mit jelent a magas-szintű, értenünk kell, hogyan működik a számítógép. A computerek a gépi nyelvet vagy gépi kódot értik, ami nem más 1-esek, 0-ák és egyéb karakterek egyedi mintázata. Ez az ember számára nem igazán érthető és nagyon nehezen megtanulható. Ha felállítunk egy képzeletbeli létrát a gépi kód és az emberi nyelv között, akkor az „alacsony-szintű” nyelvek azok, amelyek a gépi kódhoz állnak közelebb, a „magas-szintű” nyelvek pedig azok, amelyek az emberi nyelvhez.

Itt egy példa a gépi kódra:

        b8    21 0a 00 00
        a3    0c 10 00 06
        b8    6f 72 6c 64
        a3    08 10 00 06
        b8    6f 2c 20 57
        a3    04 10 00 06
        b8    48 65 6c 6c
        a3    00 10 00 06
        b9    00 10 00 06
        ba    10 00 00 00
        bb    01 00 00 00
        b8    04 00 00 00
        cd    80
        b8    01 00 00 00
        cd    80

És egy az „alacsony-szintű” nyelvre:

        global  _main

            extern  _printf

            section .text
        _main:
            push    message
            call    _printf
            add     esp, 4
            ret
        message:
            db  ‘Hello, World’, 10, 0

Ugyanez Pythonban:

        print(“Hello World”)

A fenti három program mindegyike ugyanazt csinálja: kiírja, hogy Hello, Világ!

Python programozás – kezdőknek kiváló választás

A nyelv könnyű megértését és megtanulását annak egyszerű szintaxisa adja. A szintaxis lényegében egy programozási nyelvnek a formai szabályait jelenti. Például a magyar nyelv formai szabálya, hogy felszólító mondatot nagy kezdőbetűvel és a végén felkiáltójellel (!) kell helyesen leírni. Ellenben a spanyol nyelv formai szabálya, hogy a felszólító mondatot nagy kezdőbetűvel, valamint nyitó- (¡) és záró-felkiáltójellel (!) kell írni. Tehát a magyar nyelv formai szabályai szerint írt felszólító mondatot a spanyol nyelv „szintaxisa” nem fogja tudni értelmezni, hiszen az sem a kijelentő, sem a kérdő, sem a felszólító mondat formai szabályainak nem fog megfelelni.

Más nyelvekkel ellentétben, ahol a kód „tagolása”, azaz az egyes parancsok elhatárolása különböző utasításokkal, speciális írásjelekkel (mint például {}, begin/end, ’’;’’) történik, addig a Python nem páros jelekkel, hanem behúzásokkal jelöli a blokkokat (azaz határolja el egymástól a különböző parancsokat, mint ezt a fenti képen is láthatod), ezáltal pedig sokkal tagoltabb, laikus számára első ránézésre is sokkal átláthatóbb. Szintaxisában angol szavakat használ kulcsszóként (if, else, import, stb.). Nagyjából negyven ilyen kulcsszó létezik, amelyekkel lényegében parancsokat tudsz adni a programnak. Ez pedig egy angol nyelvben kicsit is jártas felhasználó számára minden további nélkül könnyen megérthető, feldolgozható és tanulható. Ez a tényleg nem sok kulcsszó pedig a megfelelő módon felhasználva rengeteg funkció leírására alkalmas.

Java vagy Python?

Kicsit hasonló a kérdés ahhoz, hogy Messi vagy Ronaldo, esetleg Ferrari vagy Lamborghini? A különböző platformokon végzett felmérések alapján mind a két nyelv harcban van a legnépszerűbb kódolási nyelv pozíciójáért, ezért kétség kívül riválisoknak tekinthetőek. A Java és a Python sok mindenben hasonlítanak egymáshoz.  A Java egy objektum-orientált és platform független, magas szintű, általános célú programozása nyelv, amit jellemzően különféle applikációk fejlesztésére használnak. A Java szakmai elemzése helyett azonban inkább vessük össze ezt két népszerű programozási nyelvet bizonyos szempontok szerint.

Sebesség

Ez az a pont, amiben a Java biztosan veri a Pythont. A technikai részletek ismertetése nélkül annyit ismét megjegyeznénk , hogy a Python magas szintű programozási nyelv, azaz közelebb áll az emberi nyelvhez. Ezáltal azonban valamennyivel távolabb áll a „gépi” nyelvtől, mint az egyébként szintén magas szintű programozási nyelvnek számító Java. Ezért valamennyivel időigényesebb a program nyelvét gépi nyelvre fordítani, mint a Java esetében. Tehát, amikor fut a program, akkor a Pythonban írt kódot folyamatos fordítani kell olyan nyelvre, hogy azt a gép is megértse – és ez valamennyire a sebesség rovására megy.

Kód és szintaxis

Az egyszerű nyelvezet a Python egyik legnagyobb és legegyértelműbb előnye bármelyik más programozási nyelvvel szemben, így van ez a Javaval való összevetésben is. A Java sokkal hosszabb kódokból áll, mint a Python. Python nyelvben ugyanazt a funkciót kevesebb kódolással is el lehet érni. A Javaban mindent meg kell határozni, olyan dolgokat is, amiket a Python magától is felismer. Például, ha be szeretnéd írni egy értéknek a „20” számot, a Pythonban elég, ha megadod, hogy x = 20. Míg a Java esetében először meg kell határoznod, hogy az „X” az egy egész szám, nem pedig tört szám vagy betű – ezután tudod csak megadni, hogy x = 20.

A „szabad szemmel” való olvasást szintén nehezíti a Java esetében, hogy utasítás végére pontosvesszőt (;) kell tenni – ellenben a Pythonban egy enter is be tudja ezt a funkciót tölteni. Korábban már említettük azt is, hogy az egyes parancsokat Pythonban behúzásokkal, tabulátorokkal kell elhatárolni. Vegyünk példának egy napi feladatlistát. Valahogy így fog kinézni:

Házimunka elvégzése:

        tisztítás (ablakok)

        felmosás (előszoba)

Bevásárlás elintézése:

        vásárlás (zöldség)

                6 db paradicsom,

                2 kg burgonya.

        vásárlás (élelmiszer)

                2 l tej,

        ha van kenyér

                2 kg kenyér

        ha nincsen kenyér
                4 db zsemle, 5 db kifli.

Természetesen ezt a kódot a Pythonba másolva nem kerül az ajtód elé a két liter tej és a hat paradicsom, de talán tudtuk vele szemléltetni a behúzásokkal való tagolást. Ezzel szemben ez Javaban valahogy így nézne ki:

        feladat házimunka {

                feladat tisztítás {
                                ablakok;
                }

               feladat felmosás {
                                előszoba;
                }

        }

        feladat (bevásárlás) {

                helyszín [zöldséges] {
                        6 db paradicsom;
                        2 kg burgonya;
                }

                helyszín [élelmiszerbolt] {
                        2 l tej;

                        ha (van kenyér) 

                                2 kg kenyér;

                        más esetben
                                4 db zsemle, 5 db kifli;
                }

        }

Ez egy nagyon leegyszerűsített példa, de azt hivatott szemléltetni, hogy egy Javaban megírt feladatlistához különböző speciális karaktereket, úgy, mint pontosvesszőket (;) vagy kapcsos zárójeleket ({}) kell tenni, hogy azt a számítógép megértse. Bizonyos utasítások esetén Pythonban is szükséges hasonló karakterek használta, de a „szöveg” általánosságban sokkal tagoltabb és átláthatóbb, mint más nyelvek esetében.

Gyakorlati felhasználás

A Javat jellemzően mobilos applikációk és webalkalmazások (a webalkalmazásokról részletesen ebben a cikkünkben olvashatsz) készítésére használják. Az androidos applikációk nagyrésze is Java nyelvben készül, szóval ha például saját, vállalati applikációt szeretnél fejlesztetni, akkor valószínűleg egy Java programozóra lesz szükséged.

A Pythonról már említettük, hogy feltörekvő és egyre népszerűbb programozási nyelv; jellemző felhasználási területei pedig hasonló módon innovatív, feltörekvő iparágak / tudományágak. A Python olyan területeken nagyon népszerű és hatékony programozási nyelv, mint a mesterséges intelligencia, a gépi tanulás, a robotika, de kiválóan hasznosítható a webfejlesztés és a különböző adattudományok területén is (maga is Python ugyanis kiváló nagy mennyiségű adathalmaz feldolgozására. A Python nyelvet használja például az egyik legnagyobb pénzügyi intézmény, a Goldman Sachs is az általuk kezelt nagy mennyiségű adat feldolgozására is.)

Ha Python programozáson töröd a fejed…

Ha korábban még nem tanultál semmilyen programozási nyelvet, a Python kiváló választás lehet. Minden kódolási nyelvnek megvannak az előnyei és ugyanúgy a hátrányai is, valamint minden nyelvet különböző területeken használnak. Például, egy weboldal készítés esetén teljesen más nyelvekkel dolgozik a back-end fejlesztő, akinek az a dolga, hogy az adatbázis megfelelően működjön, mint a front-end fejlesztő, aki a weboldal vizuális megjelenítéséért felel. De ahhoz, hogy legalább megismerkedj a programozás világával, a Python tanulása remek lehetőség. Később aztán ugyanúgy tökélyre fejlesztheted Python ismereteidet, mint ahogy válthatsz más, neked testhezállóbb programozási nyelvre is.

A Python nyelv ráadásul egyre népszerűbb és a mesterséges intelligencia, valamint a gépi tanulás (a mesterséges intelligencia egyik ága, az erről részletesebben itt olvashatsz) jövőbeli térhódításával valószínűleg továbbra is nőni fog a Python programozók iránti kereslet. Különböző statisztikák készültek a Python és a Java programozók fizetéséről is. Bár mintát első sorban Indiából és az Egyesült Állomokból vették, az látható, hogy már most jobban keres egy kezdő Python programozó, mint egy kezdő Javas. A tendencia nagyjából a 6+ év szakmai tapasztalat után fordul meg, innentől fizetnek meg jobban egy úgynevezett senior (azaz 3+ év tapasztalattal rendelkező) Java fejlesztőt, mint egy Python fejlesztőt.

… akkor hogyan legyél Python fejlesztő?

A Python mára a legnagyobb felhasználói bázissal rendelkező programozási nyelv lett az egész világon, ezért hatalmas támogatottsággal rendelkezik. Már kezdők számára is számos oktatási anyag (oktatóvideók, kézikönyvek) áll rendelkezésre. Ráadásul kis internetes kereséssel szinte minden problémára, hibaüzenetre hamar megtalálhatod a választ. 

Maga az alkalmazás ingyenesen letölthető, használható és felhasználható (a www.python.org weboldaról), ugyanúgy, mint a rendelkezésre álló számtalan dokumentáció és kézikönyv, illetve az úgynevezett keretrendszerek is.  Ezeknek a keretrendszereknek a használatával lényegében már kész kódokkal dolgozhatsz – ha szeretnél valami funkciót készíteni (pl. jelszavas bejelentkezés), lehet, hogy a keretrendszerben ez már készen van, neked csak be kell illesztened a megfelelő helyre. Szóval, ha érdeklődsz a programozás iránt és korábban még nem tanultál semmilyen fejlesztői nyelvet, csak bíztatni tudunk, hogy bátran vágj bele és ismerkedj meg a kódolás világával a Python nyelven keresztül! 

 

  

Start typing and press Enter to search

mi-az-a-qr-kodezzel-szamolj-ha-egyedi-fejlesztesu-honlapot-szeretnel