Perl a Titanik (doufam, ze naposled)

Petr Snajdr snajdr na firma.seznam.cz
Čtvrtek Srpen 26 13:04:43 MEST 1999


On Thu, 26 Aug 1999, Honza Pazdziora wrote:

> > zajimalo jelikoz jsem nedosel na zadne smysluplne vysvetleni:
> > Kdyz v nejake knihovne clovek zapomel dat na konec 1; pak
> > se dockal takove chyby pri pokusu o spusteni: Text file busy.
> > Dle strace se Perl vubec nepodarilo spustit. Kde hledat chybu?
> > Opravdu by me nenapadlo, ze problem muze byt prave v tom 1;.
> > Presto po opraveni vse najednou fungovalo. nevim zdali to delavzdy
> 
> Moment: perlovsky program mel volat modul, na jehoz konci nebyla
> jednicka, a ten perl ani nezacal provadet ten hlavni program? Nechce
> se mi verit, ze v tomhle pripade za to muze perl, kdyz se ani
> nespustil ;-)

Priznavam, ze mi to smysl nedava, podle strace
se zda, ze se opravdu ani /usr/bin/perl spustit nepodarilo.
Tedy logicky zaver je, ze za to perl nemuze.
Doplneni 1; do modulu by na to vliv mit nemelo, nejdriv
by se mel spustit perl a teprve pak se
zacit zajimat o nejake sve knihovny. To strace nepotvrdilo.
Takze opet by to nemel byt problem perlu.
OK, ale po doplneni 1; bez JAKEKOLIV jine zmeny
se problem nepodarilo vyvolat stejnou metodou jako predtim.

Naprosto logicky zaver musi byt takovy:

http://x33.deja.com/getdoc.xp?AN=505424298&CONTEXT=935664372.271450223&hitnum=5
intro(2) says:
                   
    26 ETXTBSY Text file busy. The new process was a
pure procedure (shared text) file which was open for writing by another
process, or while the pure procedure file was being executed an open(2)
call requested write access.
                   
faktem je, ze se nepodarilo najit nic co by soubor otevreny melo.

Nicmene nasel jsem toto:

Ah, yes. How could I be so stupid. As 'man perldiag' tells us, the Perl
error "Text File Busy" is caused by
 not having "1;" as last line of the libraries.

http://x33.deja.com/getdoc.xp?AN=505541802&CONTEXT=935664372.271450223&hitnum=22

Sice to neumim logicky vysvetlit, ale kupodivu to zabralo. 
Jaky z toho udelat zaver? Opravdu nevim.

> neargumentacni, za situace, kdy proti Perlu je mozno najit desitky
> jinych argumentu. Mozna bychom meli udelat flame, kde by kazdy hanil
> toho sveho oblibence :-)

No neco na tom je :-)
 
> > lide to prilis takto neberou, ale priznavam se, ze Python byva 
> > casto uvaden jako jeden z jazyku na nemz je demonstrovano
> > to jak by programovaci jazyk mohl vypadat (netvrdim, ze tak vypada jako
> > ideal - to vubec ne,existuji zrejme i z nekterych pohledu lepsi jazyky,
> 
> Ale jo, me se ten jazyk po teoreticke strance libi, dokonce dost
> (myslim Python). Ale nejak mi nesednul na normalni pouzivani, na to,
> abych s nim dosahnul toho, co potrebuji. Naprosto uznavam, ze programy

a co to je? To ceho potrebujete dosahnout?

> v Pythonu mohou byt udrzovatelnejsi a cistsi nez v skripty v Perlu.
> 
> > jen u takovych flamewar Perl vs. neco jineho. Presne analogie, postupy i
> > mysleni se objevuje treba ve flamewar Windows vs. Linux atd. Casto
> > jedna strana postrada jakekoliv zkusenosti s tim o cem mluvi strana druha 
> > a presto ve svych nazor "vytrva, nenacha se zlomit, ma prece pravdu
> > a jina pravda nemuze byt a i kdyby, ja si vystacim s tim co mam". 
> 
> No, ja bych nerekl, ze to je to same, protoze koneckoncu P/P pouzivaji
> lide s velmi podobnymi backgroundy, zatimco u W/L jsou to hodne

Ano, je tu prece jen rozdil :-)

> Domnivam se, ze tohle je o necem jinem. Neni to o tom, jak pridat
> do assembleru objekty, ale o tom, ze se _v_tom_ assembleru pise presun
> z pameti do registru, a v jinem assembleru jsou pro presun jina tri
> pismenka. Proste ( [ ] ) vs. ( ( ) ) je o tom, ze tato dana vec se
> v danem prostredi dela nejak, jedno znamena neco a to druhe znamena
> neco jineho. Eval vs. try je prikladem neceho, co je v Pythonu
> udelano lepe, resp. je dostatecne prosazovano, vynuceno a standardizovano.

Souhlasim

> > veci apod.). Tim nechci "brat nekomu jeho hracky", ale
> > snazim se jen vysvetlit ono "proc?". To ale zrejme zadna slova 
> > nedokazou, bohuzel.
> 
> Zkusme to. Muzeme se treba bavit na tema eval/try, protoze tohle aspon
> ja osobne povazuji za rozumnou platformu _vyraznych_ rozdilu mezi
> jazyky. Nebo se muzeme bavit o vyznamu odsazovani, to taky povazuji za

Problem je, ze odsazovani je v Pythonu soucasti jazyka. Bez neho
nelze vytvorit blok odpovidajici {}

> vyznamny rozdil, zase druhym smerem. A ano, mozna jsem
> do_Perlu_zahledeny, ale bavit se na tema ( ( ) )/( [ ] ) mi rozumne
> neprijde.

Me jo, ja obcas v nekterych programech pouzivam docela "silene
datove struktury" a Perl mi dava prilis volnosti na to, abych obcas napsal
neuco uplne jineho nez chci ( s tim, ze mi to Perl akceptuje, ale
samozrejme to bude delat uplne neco jineho nez zamyslim). 
>

osobne jsem nejdrive umel Perl a i kdyz jsem se tak nejak
naucil Python tak mi chvili trvalo nez jsem se v nem naucil myslet.
nejakou dobu jsem mel tendenci psat programy jako "by to bylo v Perlu"
ale to nejde. Ty jazyky jsou dost odlisne, aby v kazdem mohlo
byt za dulezite povazovat neco jineho a stejne tak je
to s veci "nedulezitymi". Treba pri prvnim setkani me zarazilo, ze
Python ma prakticky jen jeden prikaz na cyklus to jeste

for x in pole

Zadne for(;;), while atd. Nechci to dal rozpitvavat, ale po case se mi
docela zmenil nazor na to "co chci" a "co je dulezite".
 

--

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 Perl