[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [PERL] Søg og erstat -> Hurtigt hack ønskes



Christian Borup wrote:
> 
> René Seindal wrote:
> 
> > Ih, hvor er vi åbne og tolerante.
> >
> > "There's more than one way to do it" er ikke mottoet her.
> 
> Jeg synes selv at jeg er både åben og tolerant...
> Og jeg kom da også med hele to løsninger ud over din. Til referatet er min
> modvilje mod shell'en er ikke hastigheds relateret, men derimod
> sikkerhedsrelateret (system med en parameter er næsten altid et problem).
> 
> Versionen der ikke fork'er er derimod den hurtigste (af de mulighedder vi har
> haft her i hvert fald). Jeg har da heller ikke opfundet noget nyt men blot
> expanderet "perl -pi ..." udfra perlrun.
> 
> Blot fordi der er flere måder at gøre det, betyder ikke at de alle er lige
> gode...

Vi har opereret med forskellige succes-kriterier her. Jeg havde ikke
sikkerhed i tankerne, da jeg foreslog den linie. Når folk beder om et
hurtigt hack, så er det normalt ikke til sikkerhedsmæssigt kritiske
programmer.  Givet at vores tid er mere kostbar end computerens, giver
det nogen gange mening at lave en sub-optimal løsning (målt i
udførselstid eller sikkerhed), der kan realiseres på kort tid, så man
kan komme videre til det essentielle. Det er den mening jeg umiddelbart
forbinder med 'et hurtigt hack'.

Der er intet galt med dine løsninger, og 'perl -pi' i en sub-shell er da
en lige så god løsning som min med sed, målt som hurtigt hack (dvs i
programmør-tid).  Målt i computer-tid er den nok bedre, fordi vi trods
alt ved, at perl er læst ind i memory, hvilket vi ikke kan være sikker
på med sh/sed/rm.  Derfor vil den loade hurtigere. Din udgave
programmeret i perl vil jeg sige er en mindre god løsning, målt i
programmør-tid. Ikke fordi den ikke løser opgaven, men den tager
simpelthen for langt tid at skrive og evt. fejlfinde i forhold til en
simpel shell-kommand (det være sig med sed eller perl).

Det er klart, at hvad der er den 'bedste' løsning på et givent problem
afhænger af forholdene. Skal det bare overstås for programmøren, skal
det køre hurtigt, er det sikkerhedskritisk, etc.

Min bemærkning om manglende tolerance var henvendt til ham, der skrev:

$ perl -e 'system("echo -n \"Rene \"") || die;'
Rene Died at -e line 1.

hvilket jeg har svært ved at opfatte som en venlighed. Han glemte endda
accenten over e'et :-)

-- 
René Seindal (sslug@sslug)			http://www.seindal.dk/rene/


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 19:52 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *