🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15252

Re: Stary dowcip

#15252
From: Sektor van Skijlen
Date: Wed, 30 Aug 2006 19:58
98 lines
5924 bytes
Dnia Tue, 29 Aug 2006 19:31:33 +0200, sg skrobie:
> Sektor van Skijlen napisał(a):
> > Dnia Tue, 29 Aug 2006 19:10:09 +0200, sg skrobie:
> >> Sektor van Skijlen napisał(a):
> >>> Dnia Tue, 29 Aug 2006 17:12:01 +0200, Adam Karpierz skrobie:
> >>>> "Sektor van Skijlen" <ethouris@guess.if.gmail.com.is.valid.or.invalid> 
> >>>> wrote:
> > 
> >>>> Pisanie w takim potworze jezykowym jak Tcl jest
> >>>> zwyczajnym masochizmem (no chyba ze kaza i placa:)
> >>> Najpierw pisałem w tym potworze, bo kazali i płacili.
> >>> Potem pisałem w tym wspaniałym języku, mimo że nie kazali, niekoniecznie za to
> >>> akurat płacili, a nawet za to karali (do mojego ówczesnego managera nie
> >>> dotarło, że nie mogłem napisać tego w Perlu, bo po pierwsze, nic takiego nie
> >>> było wymienione w opisie zadania, a po drugie, w Perlu nie jestem w stanie
> >>> napisać tego oprogramowania w sposób naprawdę niezawodny).
> >>>
> > 
> >> a w TCLu jesteś?
> > 
> > Oczywiście. Jestem w stanie nawet wytestować każdy szczegół oprogramowania,
> > zanim zostanie wstawiony do aplikacji.
> > 

> hm... ale tak serio mówisz? naprawdę nie da się tego zrobić w Perlu, tak 
> z ciekawości się pytam

Powiem to w ten sposób: nie podejmuję się stawiania uniwersalnych twierdzeń
typu "nie da się" czy też że "na pewno lepiej" itd. Tego typu ocena będzie
podparta subiektywnością w wykonaniu dowolnej osoby.

Proponuję jednak w ramach podpowiedzi porównać sobie zawartości książki o
Tcl/Tk (tak, również Tk, czyli zawiera również opis biblioteki Tk, którego
raczej nie ma w książkach od Perla) i książki o Perlu.

Książek do Perla jest sporo i każda (każda!) jest grubym opasłym tomiskiem, w
którym autorzy snują długie rozważania o tym, jak dana instrukcja jak się
wykona w takim kontekście, a jak się ona wykona w innym. Kiedy np. przecinek
oznacza kolejną ewaluację wartości (tak jak w C i C++), a kiedy oznacza
konstruowanie tablicy. Przecinek jednak wie, w jakim znajduje się kontekście
(to cytat).

Perl zresztą to jest język wielu tajemnic i ciągle można w nim odkryć coś
zaskakującego (jeśli ktoś uważa, że C++ "potrafi zaskakiwać", zaręczam, że aż
tak to nie potrafi!). Przykładowo taka dość ciekawa konstrukcja:

`ls`

która niby jest takim sobie tylko wyrażeniem, które odpala podane polecenie i
zbiera jego standardowe wyjście, może być użyta "w dwóch kontekstach", czyli:

$x = `ls`;

które zwraca cały tekst "na żywca" tak jak wypluło polecenie, albo:

@x = `ls`;

które dzieli tekst na linijki i wrzuca je po kolei do tablicy.

Książka do Tcl/Tk jest mniej więcej takiej grubości jak pudełko na CD z
instalką Windowsa. I jest naprawdę KOMPLETNA.

> >> i co to znaczy "sposób naprawdę niezawodny"?
> > 
> > Tzn. taki, który mi nagle z niewiadomych przyczyn zadziała niezgodnie z
> > oczekiwaniami. I oczywiście zostanie "terminowo" oddany (ten projekt, o którym
> > wspomniałem, wzorowo zmieścił się w terminie, co w Perlu raczej byłoby dla
> > mnie marzeniem ściętej głowy).
> > 

> a nie przesadzasz?

Nie przesadzam, bo równolegle z tym skryptem pisałem też skrypty w Perlu.
Ponieważ ja się akurat nie wyznawałem na bazach danych, a takowa była
konieczna w tym projekcie, więc zajmował się nią gościu, który przedstawił mi
do niej interfejs (jak tam wpychać i wyciągać dane) wyłącznie w Perlu z
zastosowaniem DBI. Z uwagi na moje niewyznawanie się na bazach danych nie
byłem w stanie opracować podobnego interfejsu z użyciem OraTcl, więc byłem
skazany na Perla i DBI.

Skryptów w Perlu na szczęście nie było wiele, bo w zasadzie sprowadzały się
tylko do obsługi danych i współpracowały ze skryptami w Tcl-u na zasadzie
wzajemnego się wywoływania i podawania sobie danych na wejście-wyjście (bo to
mi w zupełności wystarczało, a znacznie łatwiej się to cholerstwo testowało).
Ale wystarczająco dużo, żeby dać mi w kość i spowodować wielogodzinne
ślęczenia nad kodem w Perlu, który działał, jak chciał, a miał działać, jak
powinien (okraszone dodatkowo dziobaniem we wspomnianym opasłym tomiszczu,
żeby znaleźć w nim, jak wyciągnąć wartość z referencji i gdzie mam zastosować
nawiasy kwadratowe, a gdzie klamerki i jak się nie pomylić z przecinkiem).

Zatem, nie przesadzam :)


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"I am allergic to Java because programming in Java reminds me casting spells"
Technical Details
Message-ID: <ed4qli$oga$1@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
References: <m8c8f21emnn7mj9mrp1ev38vm0kav2t2s5@4ax.com> <ed1esm$eq6$11@kujawiak.man.lodz.pl> <ed1ghu$pik$1@inews.gazeta.pl> <ed1k9a$2f1$5@kujawiak.man.lodz.pl> <ed1lg2$hme$1@inews.gazeta.pl> <ed1rdu$mtf$5@kujawiak.man.lodz.pl> <ed1shm$f92$1@inews.gazeta.pl> <ed1thf$sf4$2@kujawiak.man.lodz.pl> <ed1tmd$jsa$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.objects
Subject: Re: Stary dowcip
Date: Wed, 30 Aug 2006 19:58:42 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 98
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <ed4qli$oga$1@kujawiak.man.lodz.pl>
References: <m8c8f21emnn7mj9mrp1ev38vm0kav2t2s5@4ax.com> <ed1esm$eq6$11@kujawiak.man.lodz.pl> <ed1ghu$pik$1@inews.gazeta.pl> <ed1k9a$2f1$5@kujawiak.man.lodz.pl> <ed1lg2$hme$1@inews.gazeta.pl> <ed1rdu$mtf$5@kujawiak.man.lodz.pl> <ed1shm$f92$1@inews.gazeta.pl> <ed1thf$sf4$2@kujawiak.man.lodz.pl> <ed1tmd$jsa$1@inews.gazeta.pl>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1156967922 25098 212.191.89.2 (30 Aug 2006 19:58:42 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Wed, 30 Aug 2006 19:58:42 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit