Programozási Nyelvek és Paradigmák
A programozási nyelvek alapvető elképzeléseit paradigmának nevezzük. Az alább felsoroltak közül mindet támogatja részben vagy egészében a Python.
Imperatív Paradigma:
Ez a paradigm a gépi utasítások közvetlen megadásán alapul. A kódok egymás utáni végrehajtására épül, amely módosítja az adatok állapotát.
Deklaratív Paradigma:
Ezzel a paradigmával a programozó az általános problémára koncentrál, nem pedig a részletes utasításokra. A program leírja, hogy milyen eredményt akarunk, nem pedig azt, hogy hogyan érjük el.
Egy példa:
Nézd meg hány tojás van a konyhában.
Ha kevesebb, mint 15, akkor vegyél annyit, hogy 15 tojás legyen a konyhában
Ez egy imperatív megfogalmazás.
A konyhában mindig legyen 15 tojás
Ez ez egy deklaratív megfogalmazás. A programozásban inkább így írjuk:
A konyhában mindig legyen nem kevesebb, mint 10 nem több, mint 15 tojás
Funkcionális Paradigma:
E szerint a paradigma szerint a számításokat függvények, eljárások alkalmazásával hajtjuk végre.
Objektumorientált Paradigma:
Ebben a paradigmában az adatok és az azokkal végzett műveletek egy egységként vannak kezelve, amelyeket „objektumoknak” nevezünk. Az objektumoknak saját tulajdonságaik és metódusaik vannak.
Történeti Kontextus:
A programozási nyelvek fejlődése hosszú és változatos úton ment keresztül. Kezdetben az alacsony szintű gépi kódokat használták, majd az assembly nyelvek jelentek meg, amelyek könnyebbé tették a programozást, azonban csak az addigi byte kódokhoz rendelt úgynevezett memonikokat, ami könnyebbé tette az olvasást és hibakeresést. Az első magas szintű nyelvek között volt a FORTRAN és a COBOL, amelyek főként mérnöki számítások és üzleti alkalmazások számára voltak alkalmasak. A BASIC programozási nyelvet kimondottan a programozás tanulásához dolgozta ki Kemény János György Dartmouth Főiskolán.
Az 1970-es években megjelent a C nyelv, amely azóta is egyik legnépszerűbb programozási nyelv. A C nyelv hatással volt sok más programozási nyelvre, például a C++-ra, amely objektumorientált funkciókat is tartalmaz. A 90-es években a Java és a C# jelent meg, amelyek szintén objektumorientáltak, és nagy hangsúlyt fektetnek a platformfüggetlenségre.
A Python
A Python egy „nagyon magas szintű„, interpretált, dinamikus típusú programozási nyelv, amelyet Guido van Rossum hozott létre az 1980-as évek végén. Az első kiadás 1991-ben jelent meg. A Python egy általános célú nyelv, amely lehetővé teszi a fejlesztők számára az egyszerű, de hatékony kódszerkesztést.
A Python támogatja az objektumorientált, a funkcionális és az imperatív programozási paradigmákat is. Ezáltal sokoldalú eszköz a fejlesztők számára. Könnyen olvasható, tiszta szintaxisa és széles körű moduljai miatt nagyon népszerű a kezdők és a tapasztalt fejlesztők körében egyaránt. Gyakran okoz zavart, hogy egy-egy feladatot több modullal is meg lehet oldani, azonban a hasonló nevű és célú modulok használata gyakran eltér.
Python használható webfejlesztéshez (pl. Django, Flask), adatelemzéshez (pl. Pandas, NumPy), gépi tanuláshoz (pl. TensorFlow, PyTorch), automatizáláshoz, szkripteléshez és sok más területen. A Python közössége nagyon aktív, és folyamatosan fejleszti a nyelvet és a hozzá kapcsolódó eszközöket.
Összességében a Python egy sokoldalú és erőteljes programozási nyelv, amely a sok különböző paradigmát ötvözi, és lehetővé teszi a fejlesztők számára, hogy különböző típusú alkalmazásokat fejlesszenek.
Megfelelő modulokkal lehetőség van különböző mesterséges intelligenciákhoz csatlakozni.
A tervezéskor a gyors futást teljes mértékben alá rendelték a gyors fejlesztés és az olvasható kód követelményeinek, Ezek ellenére vannak olyan megoldások, amelyekkel a Python programok futási ideje jelentősen csökkenthető.
Ilyen a @jit decorator (a használatáról a későbbiekben váratóan lesz egy cikk), amikor az ezzel megjelölt függvényt az első futtatáskor lefordítja gépi kódra, így a futása olyan 50X 100X gyorsabban fog futni, azonban a kódra komolyabb megkötések vonatkoznak, mint az általános függvényekre.
Lehetőség van programok futtatására videokártyán is. Ez bizonyos esetekben jelentős teljesítményt jelent. A programnak azonban figyelembe kell venni, hogy a videokártya processzora másként működik, mint a PC központi processzora.