A hétvégén be kellett ugranom egy Python-os munkába. Hát érdekes tapasztalataim voltak.
Eddig még csak hírből ismertem a Pythont, de most egy gyorstalpalón meg kellett vele ismerkednem.
Szerencsére nem volt olyan nehéz, persze azért nem gondolom, hogy mostantól Python guru leszek.
A hétvége alatt tapasztalt dolgokból nagyjából kirajzolódott egy kép erről a nyelvről.
Nem ismerem a történetét, nem tudom, hogy honnan származik, de a Visual Studio biztonságos környezete után egy kicsit szegényesnek tűnt ez a fejlesztői környezet.
Úgy éreztem, hogy a PyPe (ez az a fejlesztőeszköz, amit használtunk, ami szintén Pythonban készült) egy két minimumon kívül semmilyen segítséget nem ad a fejlesztőnek, aki így teljesen magára marad.
Lehet, hogy a Python nagy előnye, hogy a forráskód gyakorlatilag a futtatható kód is, de ez rögtön az egyik legnagyobb hátránya is. A szerkesztő program alig több egy Windows notepad-nál, és ha valamit elírok – akár egy változónevet, akár egy behúzást, a futtatásig semmilyen hibajelzést nem kapok. Egy olyan nyelvnél, ahol a bináris kód a forráskód előzetes fordításából jön létre, minimum a szintaktikai hibák kibuknak, de egy intelligensebb fordító nagyon sok szemantikai hibát is kiszűr. Itt ilyen nincs.
A behúzásra visszatérve; ez az egyik legérdekesebb konvenció a nyelvben, az egyes if, for, stb. blokkokat úgy lehet kialakítani, hogy a blokk alá tartozó parancsokat beljebb húzzuk. A blokk vége ott van, ahol a sor már valamelyik előző behúzási szinten van. Ilyet más nyelvben még nem láttam.
Leginkább a PHP-hoz tudnám hasonlítani, ha nagyon leegyszerűsítem a besorolást.
A munkával kapcsolatban az fogalmazódott meg bennem, hogy egy ekkora méretű projektet (és itt most nem részletezem a projekt jellegét, elég legyen az, hogy egy sok telephelyből álló összetett rendszer) én nem ezen a nyelven írnék meg. A feszített munkatempó, a bonyolult szabályrendszerek mind ahhoz vezetnek, hogy nincs elég idő a tesztelésre, és sok olyan kód-elágazás is lehet a rendszerben, amire a tesztelés nem biztos, hogy kifut. Ha egy olyan nyelvet, fejlesztőeszközt választok, ami legalább a szintaktikai hibákat kidobja, a fölösleges körök tetemes részét meg lehet spórolni.
Félreértés ne essék, nem azt mondom, hogy a Python hülyeség, de szerintem ez a nyelv akkor jó, ha egy egyszer? alkalmazást gyártok, amit gyorsan kell megcsinálni és nem olyan nagy probléma, ha menet közben javítgatom. Például egy szkript megírásához nem kell feltétlenül C-ben kódolni.
Azt kell szem el?tt tartani, hogy mi a fontosabb, a gyors eredmény, vagy a hibátlan m?ködés.