Gruby perl

Radoslaw Zielinski radek w karnet.pl
Nie, 28 Lip 2002, 03:56:00 CEST


[[ Tomasz Kłoczko <kloczek w rudy.mif.pg.gda.pl> ]]:
> On Sat, 27 Jul 2002, Radoslaw Zielinski wrote:
>> Nie mógłby, bo perldoc -f i -q przestanie działać.
> Może by zxrobić tu jakeigoś małego wrappera o takeij samej nazwie który 
> uzywałby mana ? :)

Nie wyobrażam sobie tego.  Poza tym:
1. Nowy progam, nowe błędy.  A obecne rozwiązanie się sprawdza.
2. Po co kombinować?  Cały perlowy świat używa oryginalnego perldoc,
dlaczego w PLD ma być inaczej?

Ale kwestia jest do rozważenia, jak już ktoś ten programik napisze.

Przypominam, że musi on umożliwiać także czytanie normalnych PODów: do
modułów, których nie ma w pakietach i własnych.  Czyli nie będzie taki
mały.  No i formaty nroff i POD należą zdaje mi się do zupełnie innych
klas: pierwszy przechowuje informacje o wyglądzie, drugi o strukturze.
Może być problem... :->

>>> Tak wogóle to ktoś wie może jak prosto wycinać z plików z modułami
>>> dokumentację (która jest jzu w manach) ?
>>> Coś takiego możnaby robić w %__install_post.
>> Tego nie wolno robić!  Trochę zabrakło mi słów, jak to zobaczyłem, ale
[...]
> No dobra .. ale dlaczego tego nie wolno robić ?

Bo zepsujesz. :-p

Kolejny powód (oprócz tych, które podaję poniżej i podałem w poprzednim
mailu): to zmniejszy prawdopodobieństwo, że dany user będzie w modułach
grzebał.  Że zagryzie do śniadanka AutoLoaderem, poprawi CGI.pm, do
obiadku porównanie Mail::{Mailer,Sender}, na deser Symbol.pm, a po
kolacji jakaś kobyła typu Mason.  Nie chciałbyś być współodpowiedzialny
za spadek poziomu edukacji społeczności OSS, nieprawdaż? :-P [1]

>> W czym _mnie_ to przeszkadza?  Po pierwsze, często sprawdzam, czy
>> dokumentacja zgadza się z kodem i szukam źródeł błędów, lub po prostu
>> patrzę na zastosowane rozwiązania.  Dokumentacja często wygląda tak:
> O ile masz kod i dokumnetacje z tej samej paczki to nie musisz zakładać 
> niczego bo masz pewność że jedno jest od drugiego :)

Pisałem o przypadkach, w których dokumentacja tylko udaje, że dotyczy
danego kodu, który robi coś innego. :-)  Czyli po prostu jest spieprzony.
Ewentualnie, trojan (co prawda nie spotkałem się z tym jeszcze, ale
zdarzyć się może).

> [..]
>> Dobrze osadzone POD-y zastępują komentarze.  Bez nich, mam przechlapane;
>> nawet nie chcę sobie wyobrażać, ile dłużej zajmowałoby znalezienie
>> odpowiedniego kawałka kodu.
> Gdyby kod modułu był spleciony z podem w jakis sposób to bym zrozumiał .. 
> ale to jest poprostu jedno z dugim sklejona :)

Czy uważasz, że w takim LWP::UserAgent jest to sklejone?

Oczywiście, można znaleźć wiele przypadków, w których wygląda to jak kod
... __END__ ... dokumentacja, ale to jest po prostu niepoprawne użycie
PODa, nie reguła.

>> Druga sprawa: zdarza mi się podsyłać autorom patche, a do tego
>> potrzebuję oryginalnych wersji modułów.
> I tu posługujesz się na wypadek takeij operacji źródłowym pakietem :)

Tomku, grzebiesz w modułach Perla na codzień?

Nie ma takiej możliwości, żebym wiedział, jak wygląda taki LWP::UserAgent
od środka, gdybym musiał do tego ściągać libwww z CPANu.

Po prostu jeśli widzę coś spapranego, albo dokumentacja jest
niewystarczająca, albo chcę lepiej rozumieć, co się dzieje czy
wyprofilować swój śmietnik przy pomocy Devel::DProf (czy zobaczyć, jak
efektywne jest to, co poeta miał na myśli i czy wogóle była tam jakaś
myśl), zaglądam do modułu.

Chcę widzieć wersję niezmodyfikowaną: żeby móc szybko się w tym połapać,
połatać _bez potrzeby posiadania połączenia z siecią_, żeby na innej
maszynie nie mieć zonka w stylu ,,szlag, ostatnio to inaczej wyglądało''
(to przykłady, znalazłyby się też inne powody, których sobie po prostu
w tej chwili nie uświadamiam).  Ba, chcę, żeby inni też taką widzieli.
Bo wtedy jest większa szansa, że 1) znajdą błąd, i 2) poprawią go, a na
tym ja -- razem z resztą użytkowników danego softu -- skorzystam.

> To tak jakbyś chciał poprawiać bład w programie dostarczając wynik cmp z 
> konkretnej binarki :)

Nie, bo moduły Perla to nie binarki (poza XS).  Je się od zawsze
przygotowywało do użycia przy zastosowaniu co najwyżej cp czy install.
W żadnym normalnym Makefile.PL nie znajdziesz nawet zastąpienia ścieżek.

Nb: czy mógłbyś nie argumentować przez ,,reductio ad absurdum''?

[...]
>> Reasumując: zostawcie tę dokumentację w spokoju.  Możnaby co najwyżej
[...]
> Troche argumentów dostrczyłeś ale wynikaja one nie tyle z obiektywnych
> przyczyn co z subiektywnych/zwyczajowych metod pracy z tymi zasobami :)
> W tem sensie nadal ciut mało jestem jeszcze pzrekonany że takie odcięcie 
> nie ma sensu :)

A co przekonało Cię do uznania tego za sensowne?  Jakie są zyski?




Tak wogóle, to nudzi Wam się?  Tyle jest pożytecznych rzeczy do
zrobienia...

Na przykład, brakuje jeszcze speców do wielu modułów.  Śmiało, na
<ftp://sunsite.icm.edu.pl/pub/CPAN/modules/by-module/> jest jeszcze
wiele miejsc klawiaturą developera PLD nie tkniętych...

Nie?  Dość speców?  To może coś z mojego prywatnego ~/.todo:

Mail::Audit nie ma wsparcia dla nowego API Razora...

Net::NNTP i News::NNTPClient; przydałoby się zsumować ich funkcjonalność
w jeden i poprawić (mają dość popaprane błędy, np. przy odpytywaniu
INNa bez pośrednictwa nnrpd, stat() potrafi stwierdzić, że false, kiedy
powinno być true); do tego wrappery na aktualne wersje...

SpamAssassina przydałoby się gruntownie przeczyścić; dziś np.
stwierdziłem, że nie da się zdefiniować własnej ścieżki do regułek --
tylko jedna z predefiniowanych...

Przy prędkości i pamięciożerności MIME::Parser jest duże pole do popisu...

WWW::Robot ma dość obleśny błąd, objawiający się wykonywaniem wielu
zbędnych zapytań; mógłbym wygrzebać z archiwum łatkę -- trzeba przemyśleć,
zaaplikować (to była prosta część) i znaleźć autora (z tym może być
problem; wygląda na to, że gość nie jest już zainteresowany dalszym
rozwojem tego modułu) lub nie znaleźć i samemu wrzucić na CPAN...

Nad Masonem możnaby posiedzieć (od przekonania autorów do normalnego
wersjonowania, po zagadnienie portowalności CGIHandler <-> mod_perl)...

Brakuje porządnej biblioteki do obsługi SMTP; po szczegóły odsyłam na
pl.comp.lang.perl...

perl.{req,prov} jest masakrycznie popieprzony (jeden z grzebiących przy
nim chyba był w stanie wskazującym); to akurat mam już prawie skończone,
ale chętnie komuś odstąpię...


Co, zbyt drobna dłubanina?  W fortunkach znalazłem kiedyś ,,do something
big: fuck a giant''.  Niestety, tu niewiele mogę wymyśleć.  Porządny BTS
to też pewnie zbyt drobne zadanie...  Może coś z perltodo(1)?  Jak też
za mało (efektu, bo roboty mnóstwo) i koniecznie trzeba coś rozpieprzyć
małym nakładem pracy, no to ja już nie wiem.  Może trochę adrenaliny?
Mały samotny spacerek po ulicach dużych miast w nocy?  Czasami to robię,
od razu głupie pomysły przechodza.


Odpieprzcie Wy się od tych zagnieżdżonych w modułach podów!  Niech sobie
będą; instalować nie trzeba, są inne języki i kupa w nich napisanego
softu; Python podobno jest fajny...  O, może do Pythona się doczepcie?


[1] Dowcipkuję, ale zwracam uwagę, że to jedynie kwestia formy.  Treść
pozostaje aktualna.

-- 
Radosław Zieliński <radek w karnet.pl>
[ GPG key: http://radek.karnet.pl/ ]
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/4f8d8abf/attachment.bin


Więcej informacji o liście dyskusyjnej pld-devel-pl