Skip to content


Python – programavimas kitaip

 

PyDev papildas Eclipsei - visai neblogas būdas rašyti Python. Nors ir labai griozdiškas, kaip kai kas pastebėjo 🙂

Paprasta, bet nepaprastai išpūsta Java, efektyvi ir savo srityje nepakeičiama C/C++, keistoka mišrūnė (man nelabai patikusi) Objective-C, šiek tiek (bet pakankamai daug, kad lįstų per gerklę) mokykloje pramoktas Pascal’io bei kadaise (rimtai – nė velnio nepamenu apie juos – tik žinau, kad kadaise mokiausi) krapštyti Delphi ir VB6… Visos kalbos kurias moku ar kažkada mokėjau. Ir Python, kuris čia lyg iš kitos planetos.

Python išmokti norėjau senokai. Žinojau, kad tokią kalbą smulkesnėms programoms mokėti – verta. Visada pagrindinė priežastis, kodėl numesdavau bandymus mokytis – buvos viena. Tutorialai – nieko neišmoko. Daugelis jų – tiesiog veda už rankutės per visas kalbos galimybes iš eilės, kas nelabai padeda ką išmokt. Na bet šiuo metu kaip tik vyksta sesija – laikas, kai besimokant kokį ne itin įdomų dalyką kyla milijonai gerų idėjų 🙂

Taigi, paėmiau kadaise pradėtą rašyti C++ projektą (iš laikų, kai bandžiau iki galo suprast kas gi yra klasės ir kuo jos valgomos) ir nusprendžiau perrašyt tą pačią idėją į Python. Būtent idėją, nedarydamas senų klaidų ir ieškodamas būtent to ko reikia, retkarčiais pasitikrindamas Python stiliaus aprašus. Viską stengiausi daryti tvarkingai pagal taisykles. Klases dėlioti į modulius (mat Python’e yra visiškai normalu sudėti kelias klases į vieną modulį), modulius į paketus viską pavadinant pagal reikalavimus. Sunkiausia prisitaikyti ko gero prie dinaminių kintamųjų tipų. Šie iš pradžių atrodo nieko blogo, vėliau gali kiek sumaišyti kortas, mat metodams negalima nurodyti argumentų tipų.

Vis tik perlipus per šiuos (tikriausiai labiau psichologinius) barjerus galima pasinerti į gražų ir lengvą Python pasaulį. O čia yra kuo susižavėti:

  • Indentacija! Indentacija! Ir dar kartą: INDENTACIJA!!! Vienas šauniausių dalykų Pythone. Visiems vienoda ir privaloma indentacija. Privaloma, nes čia ji pakeičia visose iš C gimusiose kalbose naudojamus figūrinius skliaustus („{}“). Tai puikiai pažaboja visus netvarkos ir neperskaitomo kodo megėjus. Taip pat leidžia išvengti kapstymosi po skliaustus, kuris kartais pasitaiko net ir padoriuose IDE, kai ne ten padedi kokį skliaustą ir bandai surast kur jo trūksta. O tai gali sugaišinti net kelias minutes, jei kodas didesnis…
  • Bibliotekos ir moduliai skirti beveik bet kam. Tik pradedi kokią elementarią pagalbinę klasę rašyt ir paaiškėja, kad jau egzistuoja kažkas gatavo.
  • Dinaminiai kintamųjų tipai pasidaro visai neblogas dalykas. Kaip tik dabar rašydamas tekstą sugalvojau kaip juos panaudoti Big1’e. bet nesakysiu kaip – dar netyčia susimausiu 😀
  • Galimybė override’int bet ką. Kad ir kokį standartinį metodą, kuris grąžina datą ir paduoti kokius nors testinius duomenis.
  • Galimybė įterpti C kodą. Esi linkęs burbėti dėl greičio? Tai pasirašyk tą persudėtingą Pythonui programos dalį dalį su C! Ši savybė iš esmės panaikina programos našumo problemą, tad Python gali būti pakankamai greitas.
  • Interaktyvi Python konsolė. Kadangi Python – interpretuojama kalba, galima realiu laiku naudotis jos konsole, kad ir savo projekto aplinkoje. Čia jau galima ir išbandyti nedidelius kodo gabalėlius nepaleidžiant visos programos, o tik tam tikras jos dalis. Galima ir rašyti kodą tiesiai į konsolę vis tikrinant. O vėliau nukopijuoti į failą. Viskas priklauso nuo fantazijos 🙂

Žinoma, neteigsiu ,kad kalba tobula ar dar kokių nesąmonių. Bet man patinka. Be abejo, tai viena iš kalbų, kurios gadina programuotojus, bet jos lankstumas, galimybė daryti praktiškai bet ką – žavi. Itin plačiai naudojama web developmente (Instagram, Bitbucket,  ir krūvos kitų gražiai atrodančių tinklapių priežastis – Django, kuriam programuojama Pythonu), labai dažnai sutinkamas Linux operacinėse ir, deja, ne itin mylimas windows aplinkoje Python’as yra gan šiuolaikiška ir smagi programavimo kalba (taip, niekaip nedrįsčiau vadinti jo skriptinimo kalba).

Na o norintiems užmesti akį į mano gan paiką ir šiek tiek vaikišką projektuką štai GitHub ir BitBucket nuorodos. Kadangi šiuo metu bandau GitHubą, turiu repozitorijas abejuose:

https://bitbucket.org/teraxas/big1py

https://github.com/teraxas/Big1Py

Posted in Apps, Linux, Mokslai, Universitetas.

Tagged with , , , .


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Gintas says

    Šaunu, kad atsiranda vis daugiau agituotojų už Python.

    Keletas smulkių netikslumų: YouTube nenaudoja (ir niekada nenaudojo) Django; taip pat Python aplinkai iš tiesų visai nereikalingas C kompiliatorius. Galimybė perrašyti atskiras dalis su C yra, bet gražiau atrodo ant popieriaus negu realybėje ir ne visada taip paprastai gelbsti nuo našumo problemų.

    • Mėsgalis says

      Pataisiau 🙂 Kažkodėl buvau įsitikinęs, kad tai kažkur girdėjau, bet dabar paieškojęs – matau, kad klystu. Nors atrodo Google apskritai Python naudoja gana daug.

      O dėl C modulių – kol kas nieko negaliu pasakyti. Bet būtinai vienu ar kitu būdu šitą dalyką pasistengsiu įkištį į savo bandymą.



Popo.lt tinklaraščiai. Hosting powered by   serverių hostingas - Hostex
Eiti prie įrankių juostos