Perl a Titanik

Petr Snajdr snajdr na firma.seznam.cz
Čtvrtek Srpen 19 11:57:39 CEST 1999


On Thu, 19 Aug 1999, Milan Sorm wrote:

> Wed, Aug 18, 1999 ve 10:54:25PM +0200 Petr Snajdr napsal:
> # > S tim nezbyva nez souhlasit.
> # 
> # No jo, ale me treba tohle prijde jako docela fatalni problem.
> # nejak tak se chovaji treba taky Windows :-)
> 
> A je to snad spatne ?

Spatne je na tom mnoho veci, clovek muze velice jednoduse udelat
chybu, kterou kazdy jiny jazyk najde pri prekladu, ale
Perl ji "pochopi" a pracuje, to ze spatne je vec jina. 
Prece jen umelou inteligenci zatim implementovanou
nema. IMHO tahle volnost dokonce k chybam svadi.

> # > Hmm, jenze jde o to, co jako objektovost charakterizujete. Napr. splnuje to
> # > vsechno, co ma OOP splnovat - zapouzdrenost, dedicnost, polymorfii.
> # 
> # To se ale s trochou fatazie da rici o jazyce C (viz X programming)
> 
> A kdo tvrdi opak ?

Jo, ale jerozdil mezi OO jazykem a jazykem, ktery objekty emuluje
jen diky tomu, ze to jde. Kdyz preplavu na rakosovem clunu
atlanticky ocean taky to jde, ale neznamena to, ze je to
trebas jen obecne pouzitelne nebo dokonce optimalni
nebo pripominajici dnesni  "transatlantickou namorni plavbu".

> 
> # > Co je to roztristenost jazyka ? 
> # 
> # Ze se chova jako vsechny jazyky a pritom ani jeden. Nema zadnou 
> # koncepci. ja si nepomuzu pomoci,ale kdyz vidim
> # nejtere programy v perlu tak mi to
> # chvil prijde jako C, chvil shell, pak zase awk. Proste neco
> # na tema "varila kocicka s pejskem dort".
> 
> A uvarila naramnou pochoutku. Proc nevzit z jinych jazyku to nejlepsi ?

S pejskem a kocickou to bylo jinak, bylo jim poradne 
dlouho spatne. Ono hodne dobrot neni vzajemne kompatibilnich.
(dort s husou na povrchu :-))
	Vemte to tak, ze kdyz vemete ze
vseho to nejlepsi neznamena to, ze vysledek bude lepsi
nez kazda jednotliva cast samostatne. Kdyz
Vemu auto, kolo, letadlo a  raketoplan tak
spojenim nevznikne idelani dopravni
prostredek pro kazdeho s naprosto fantastickymi
parametry, ale zrejme nepouzitelne monstrum.

> # > Jaka ? Vsechno se ridi presnymi pravidly. Co je to slozity datovy typ ?
> # > Nejtezsi pokud vim je tam odkaz, ale to snad ani jako datovy typ nelze
> # > posuzovat.
> # 
> # a = (1,2,3,(1,2,3,4,(1,2,3,4,("x","y","z")),5,6,7),4,5,6)
> 
> tohle je obycejny seznam zapsatelny normalne jen jako:
> 
> @a = (1,2,3,1,2,3,4,1,2,3,4,"x","y","z",5,6,7,4,5,6);

Tak to tedy neni. To neni seznam, ale seznam, ktery
obsahuje jine seznamy, ktere obsahhuji jine seznamy.
Takto jse z toho udelal neco ponekud jineho.

> # Tak a kdo zan perl muze mi poradit jak vypsat 
> # prvek obsaujici "y". Pokud se nepletu
> # tak a[3][5][5][2]. jsem zvedav kolik lidi
:)

> # co si mysli, ze umi perl to zvladne na prvni pokus (nebo
> # alespon na 3) :-)
> 
> $a[12]

ne, viz vyse.

ale muzeme to jeste o neco zeslozitit:

a = (0, 1, 2, 3, (0, 1, {'addr': '192.168.0.1', 'os': 'linux', 'name':
     'internal.cz', 'users': ('karel', 'pavel', 'petr', 'alena')}))


prepiste to do perlu a jak ziskate jmeno "petr" tj. 
neco na zpusob pomerne logickeho zapisu:

a[4][2]['users'][2]
 
opet jsem zvedav kolik lidi, kteri si mysli, ze umi Perl
zvladou z te struktury pozadovanou hodnotu dostat nejpozdeji
na treti pokus. :-)

(aneb jak jednoduche veci - a toto je IMHO jednoducha vec - 
jdou udelat slozite)

> # Ja nerikam, ze to perl neumi, ja rikam , ze to dusledne nepousiva takze
> # je to na nic. Kdyz chci zachytit v nejakem bloku jakoukoliv chybu je
> # mi to nahouby kdyz kdejaka knihovna perlu vraci chybovy kod jako v C.
> # Nebo se pletu? Existuje nejaka cast perlu, kde je to dusledne pouzivano?
> 
> muzu si obalit volani vlastnimi vyjimkami. vetsina veci konci prec warn,
> croak apod., coz se da zachytit.

trochu prace navic, ne?

> # Zalezi na nalade interpreteru perlu jak by si vysvetlil co programator
> # napsal. Proste Perl nasadit v RT systemech pro rizeni jadernych strel tak
> # tu uz davno nejsme.
> 
> Hmm, ale Pelr se uziva i v jadernych elektrarnach a docela s uspechem. Je
> rozhodne lepsi nez tamni Foxky apod.

Rada veci bezi take v Cobolu a presto v nem jiz nikdo nove veci snad
nepise. Proste nekdy to bylo optimalni reseni. Samozrejme.
Ale casy se meni. Valky se nevedou na slonech, datum nevychazi z objeveni
se  souhvezdi nad nejakym kopcem a nemoci se neleci zapalnou obeti.

> # > Proc prepisujes ten C program ? Jo jina platforma. Hmm, kdybys znal Perl...
> # 
> # Takovych jazyku je, nechci je jmenovat ....
> # To byl argument tak pred 5 lety. 
> 
> S C je to dosud.

To, ze pro nektere veci mohou existovat i "horsi" moznosti
neznamena, ze nemohou byt take "lepsi". To by pro zlepseni
nejake veci stacilo vyrobit vec jinou, ale horsi. Ne ze
by to nemelo jistou logiku :-)

--

S pozdravem
   Petr Snajdr

Seznam Ceskeho Internetu: http://www.seznam.cz/
Magazin pro kazdeho: http://www.novinky.cz/
Seznam Dnes: http://dnes.seznam.cz/
Navody, recenze, technika: 
http://www.novinky.cz/Index/TechDesk/ 
------------------------------------------------------
Zacit se dnes ucit Perl je jako koupit si listek na Titanic






Další informace o konferenci Linux