Python cikk: Pitonológia

Címkék

Írtam egy cikket a Python programozási nyelvről ami megjelent az SZTE TTK Newtone egyetemi lap 2005 februári számában.

Hozzászólások

Hali!

Én főleg perl-es csávó vagyok. Tud valaki olyan könyvet-doksit, ami a python-t egy perl-programozó szemszögéből közelíti meg? (perl-progik python-ra konvertálása,stb.) Egyáltalán a python alkamas az ilyen sysadmin/regex+web-es dolgokra vagy arra inkább a perl?

Python a Menuet OS-ben. Édekelne, hogy assembly betétekkel hogy bővíthető ki a Python virtuális gépe.

;)

jolenne kitenni htmlben is. nehany sed makroval az office htmlbol is lehet csinalni vmi normalisat

kifejezetten kellemes, hogy ipari szabadalommal védett formátumban sikerült kirakni.

Javaslat: ismerkedj meg a latex nevu programmal, vagy az openoffice nevuvel.

Eljenek a szoftverszabadalmak.

asd

A .doc fájlt OpenofficeOffice.org-gal írtam (minthogy nem használok Windows-t) és .doc-ba mentettem el azért, mert a Newtone szerkesztõje ezt kérte. Tökéletesen olvasható vele. A HTML pedig elég siralmasan nézett ki ehhez képest.

A cikk tartalmával kapcsolatos konstruktív kritikákra szivesen válaszolok. A többi nem érdekel. Persze ha sok vesztegetni való idõtök van, hát hajrá!

Mostanaban programozgatok egy keveset Pythonban, es hat tetszik is meg nem is. Egyreszt hatekonyan es gyorsan lehet vele dolgozni, ami nagyon tetszik. Sokfele jol elokeszitett rutinkonyvtar, maga a nyelv is nagyon kenyelmes, jok az adatstrukturak, szimpatikus a modul szemlelet, stb..

Ami viszont nem tetszik:

* nincs protected member

* tipusossag hianya

* deklaraciok sorrendisegi problemaja

* bizonyos patterneket iszonyatos kinlodas implementalni (pl. singleton)

A protected tag hiánya sztem inkább nagyobb projectek esetén jelenthet gondot ahol árnyaltan akarod szabályozni a hozzáférést, vagy ha amúgy is hozzászoktál.

A "tipusosság hiánya" jellemzés sztem kicsit túlzás. Elvégre minden változónak van típusa, csak függvényeken, metódusokon keresztül átjutva nem kerülnek ellenõrzésre. Meg a változók esetében nem kell expliciten elõírni azok típusát, hanem bármilyen típusú objektumot felvehetnek. Jól tudom, ezt hivják gyenge típusosságnak?

A deklarációk sorrendiségi problémáján nem tudom mit értessz. Örülnék ha ezt elmagyaráznád.

Tervezési mintákkal idáig még nem nagyon foglalkoztam, pedig érdekes területnek tûnik. A singleton-nak is csak most néztem utána és elég érthetõnek tûnnek a WikiWikiWeb definíciója [c2.com] alapján. Viszont az egyes nyelvekben (fõleg Python, Java, C#) az ezzel kapcsolatos implementációs problémákra kiváncsi lennék.

Köszönet Treynek is hogy kitette a konvertált linkeket!

Ha nem erősséged a helyesírás, akkor erősen ajánlott az OOo beépített ellenőrzőprogramjának

használata publikálás előtt!

Ha erősséged, akkor is :)

btami

On 2005-03-15, mizu <mizu12@mailbox.hu> wrote:
>
> Hali!
>
> Én f?leg perl-es csávó vagyok. Tud valaki olyan könyvet-doksit, ami a
> python-t egy perl-programozó szemszögéb?l közelíti meg? (perl-progik
> python-ra konvertálása,stb.) Egyáltalán a python alkamas az ilyen
> sysadmin/regex+web-es dolgokra vagy arra inkább a perl?

Probalja mar ki valaki rubyt is!

Abba van regexp literal, meg az osszes crap amiert szeretni lehet a
perlt (az osszes crap nelkul, amiert utalni lehet), es van singleton is,
out of the box.

Meg sok egyeb...

> A protected tag hiánya sztem inkább nagyobb projectek esetén jelenthet
> gondot ahol árnyaltan akarod szabályozni a hozzáférést, vagy ha amúgy is
> hozzászoktál.

A protected lathatosag hianyaval az a baj, hogy ha private egy metodus,
akkor a szarmaztatott osztalyok nem tudjak meghivni, ha public, akkor meg
nem tudsz tiszta interfacet definialni. Adattagok eseten nem emlekszem ra,
hogy valaha is kellett volna protected lathatosag. Az persze lehet, hogy
bizonyos tervezesi elgondolasokkal, amit idonkent "Pythonic way"-kent
emlegetnek az a problema joreszt kikuszobolheto, de vhogy megsem
szimpatikus.

> A "tipusosság hiánya" jellemzés sztem kicsit túlzás. Elvégre minden
> változónak van típusa, csak függvényeken, metódusokon keresztül átjutva
> nem
> kerülnek ellenőrzésre. Meg a változók esetében nem kell expliciten
> előírni
> azok típusát, hanem bármilyen típusú objektumot felvehetnek. Jól tudom,
> ezt hivják gyenge típusosságnak?

Igen a Python gyengen tipusos, de ez gyakorlatilag azt jelenti, hogy pl. egy
fuggveny interfacebol nem derul ki, hogy milyen tipusu parameterekkel kell
hivnom, es milyen tipust ad vissza. Persze beirhatok a doc stringbe
mindent, csak hat amilyen feledekeny vagyok, az egy modositas soran mar nem
feltetlenul kerul aktualizalasra.

> A deklarációk sorrendiségi problémáján nem tudom mit értessz. Örülnék ha
> ezt elmagyaráznád.

Egyszeruen a forward deklaracio hianyara gondolok. Ez azt jelenti, hogy a
deklaralt nyelvi elemeket nem tudod tetszolegesen, csak fuggesegi viszony
szerint elrendezni. Ez gyakran kenyelmetlen. De pl. D-ben forward
deklaracio nelkul sem kotelez a fuggosegi sorrendre. Ez pl. igen kulturalt
megoldas.

> Tervezési mintákkal idáig még nem nagyon foglalkoztam, pedig érdekes
> területnek tűnik. A singleton-nak is csak most néztem utána és elég
> érthetőnek tűnnek a WikiWikiWeb definíciója [0] [c2.com] alapján. Viszont
> az egyes nyelvekben (főleg Python, Java, C#) az ezzel kapcsolatos
> implementációs problémákra kiváncsi lennék.

A Java es C# nekem nem kenyerem, ugyhogy ott nem sokat tudok a konkret
megvalositasi problemakrol, ha egyaltalan vannak.

Python eseteben az az alapveto problema, hogy ha siman implementalsz egy
singletont, akkor az nem lesz singleton. Persze vannak trukkok a problema
kezelesere, de egyik sem tul jo. Igazabol mindegyik meglehetosen kehes.
Szoval az egyebkent igen jol hasznalhato nyelv ilynekor sokat veszit az
imagebol, ha egy ilyen hetkoznapi dolgot meglehetosen degeneralt es
korulmenyes modon lehet csak implementalni.



On 2005-03-17, dzsekijo <dzsekijo@creo.hu> wrote:
> Probalja mar ki valaki rubyt is!
>
> Abba van regexp literal, meg az osszes crap amiert szeretni lehet a
> perlt (az osszes crap nelkul, amiert utalni lehet), es van singleton is,
> out of the box.
>
> Meg sok egyeb...

Ja igen, kihagytam, pl. a metodusok public/protected/private
besorolasa....