czego nie lubicie w perlu?
Grzegorz Staniak - 30-03-2007 00:08
On 29.03.2007, hubert depesz lubaczewski <depesz@depesz.com> wroted:
>> 2) brak wbudowanej obsługi wyjatków; > > eval + Exception ?
No wiesz, miało być czego nie lubię, nie czego nie da się zrobić. Przyznasz, że to jest a) mało eleganckie obejście o niewielkiej funkcjonalności, b) dość rzadko w praktyce stosowane. W przypadku cudzego kodu to oznacza często, że dostajesz co najwyżej jakieś 'or die("costam")' w dużych ilościach.
>> 3) domyślnie globalna widoczność zmiennnych; > > strict?
To nie likwiduje konieczności produkowania boilerplate'u w postaci 'my'.
>> 4) toporny i mało elastyczny sposób przekazywania argumentów do funkcji; > > tego nie rozumiem. chodzi ci o to, że nie ma argumentów nazwanych?
Nie ma nazwanych, podane argumenty trzeba parsować ręcznie, prototypy tak naprawdę nie są prototypami, itp.
> depesz
GS -- Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Michal Jankowski - 30-03-2007 00:08
Grzegorz Staniak <gstaniak@wp.pl> writes:
>>> 3) domyślnie globalna widoczność zmiennnych; >> >> strict? > > To nie likwiduje konieczności produkowania boilerplate'u w postaci 'my'.
Tego nie rozumiem. Konieczność deklarowania zmiennych to dla mnie zaleta, nie wada.
MJ
Grzegorz Staniak - 30-03-2007 00:08
On 29.03.2007, Michal Jankowski <michalj@fuw.edu.pl> wroted:
>>>> 3) domyślnie globalna widoczność zmiennnych; >>> >>> strict? >> >> To nie likwiduje konieczności produkowania boilerplate'u w postaci 'my'. > > Tego nie rozumiem. Konieczność deklarowania zmiennych to dla mnie > zaleta, nie wada.
Mam wrażenie, że perl jest pod tym względem trochę schizofreniczny. Z jednej strony np. na zawołanie tworzy tablice i inicjalizuje ich elementy kiedy akurat zechcesz się odwołać do elementu o indeksie 100, a z drugiej... 'my' w hurtowych ilościach.
Nie jestem pewien, czy akurat w językach dynamicznych to jest zaleta. O ile dobrze pamiętam, to nie są zresztą deklaracje jako takie, tylko sposób obejścia problemu z zakresem widoczności zmeinnych, i to drugie podejście, bo 'local' okazało się nie załatwiać sprawy do końca.
> MJ
GS -- Grzegorz Staniak <gstaniak _at_ wp [dot] pl>
Vava - 30-03-2007 00:08
On Thu, 29 Mar 2007 19:24:54 +0200, Grzegorz Staniak <gstaniak@wp.pl> wrote:
> On 29.03.2007, Michal Jankowski <michalj@fuw.edu.pl> wroted: > >>>>> 3) domyślnie globalna widoczność zmiennnych; >>>> >>>> strict? >>> >>> To nie likwiduje konieczności produkowania boilerplate'u w postaci >>> 'my'. >> >> Tego nie rozumiem. Konieczność deklarowania zmiennych to dla mnie >> zaleta, nie wada. > > Mam wrażenie, że perl jest pod tym względem trochę schizofreniczny. Z > jednej > strony np. na zawołanie tworzy tablice i inicjalizuje ich elementy kiedy > akurat zechcesz się odwołać do elementu o indeksie 100, a z drugiej... > 'my' w hurtowych ilościach.
Kurcze, albo chcesz szybko i dynamicznie, albo w sposób odporny na głupie błędy... Jak to pierwsze, to po prostu nie umieszczasz use strict na początku skryptu i już nie musisz wszędzie dawać 'my'...
> Nie jestem pewien, czy akurat w językach dynamicznych to jest zaleta. O > ile > dobrze pamiętam, to nie są zresztą deklaracje jako takie, tylko sposób > obejścia problemu z zakresem widoczności zmeinnych, i to drugie > podejście, bo > 'local' okazało się nie załatwiać sprawy do końca.
Wiesz, jakbyś zrobił tak, że zmienne domyślnie są tworzone jako leksykalne przy pierwszym użyciu, bez potrzeby ich deklaracji, to życzę powodzenia przy debugowaniu czegokolwiek dłuższego niż dwie linijki ;-P
Pozdrawiam -- Vava Wawrzyniec Żurowski Victoria vale, et ubique es, suaviter sternutas
Stachu 'Dozzie' K. - 30-03-2007 01:08
On 2007-03-29, Vava <vava-jedenaste-nie-spamuj@plusnet.pl> wrote: > On Thu, 29 Mar 2007 19:24:54 +0200, Grzegorz Staniak <gstaniak@wp.pl> > wrote: > >> On 29.03.2007, Michal Jankowski <michalj@fuw.edu.pl> wroted: >> >>>>>> 3) domyślnie globalna widoczność zmiennnych; >>>>> >>>>> strict? >>>> >>>> To nie likwiduje konieczności produkowania boilerplate'u w postaci >>>> 'my'. >>> >>> Tego nie rozumiem. Konieczność deklarowania zmiennych to dla mnie >>> zaleta, nie wada. >> >> Mam wrażenie, że perl jest pod tym względem trochę schizofreniczny. Z >> jednej >> strony np. na zawołanie tworzy tablice i inicjalizuje ich elementy kiedy >> akurat zechcesz się odwołać do elementu o indeksie 100, a z drugiej... >> 'my' w hurtowych ilościach. > > Kurcze, albo chcesz szybko i dynamicznie, albo w sposób odporny na głupie > błędy... > Jak to pierwsze, to po prostu nie umieszczasz use strict na początku > skryptu i już nie musisz wszędzie dawać 'my'...
....a jak to drugie, to bierzesz się za Adę, nie za Perla ;)
>> Nie jestem pewien, czy akurat w językach dynamicznych to jest zaleta. O >> ile >> dobrze pamiętam, to nie są zresztą deklaracje jako takie, tylko sposób >> obejścia problemu z zakresem widoczności zmeinnych, i to drugie >> podejście, bo >> 'local' okazało się nie załatwiać sprawy do końca. > > Wiesz, jakbyś zrobił tak, że zmienne domyślnie są tworzone jako leksykalne > przy pierwszym użyciu, bez potrzeby ich deklaracji, to życzę powodzenia > przy debugowaniu czegokolwiek dłuższego niż dwie linijki ;-P
W Pythonie, Rubym, Tclu i PHP jakoś sobie ludzie radzą.
Ja bym raczej wyciągnął inny argument: "życzę powodzenia, gdy będziesz potrzebować zmiennej lokalnej w obrębie if-else czy while".
-- Secunia non olet. Stanislaw Klekot
teodozjan - 31-03-2007 00:07
On 30 Mar, 01:40, "Stachu 'Dozzie' K." <doz...@dynamit.im.pwr.wroc.pl.nospam> wrote: > > Ja bym raczej wyciągnął inny argument: "życzę powodzenia, gdy będziesz > potrzebować zmiennej lokalnej w obrębie if-else czy while".
To może dodać do perla pragmę use local? Mam wrażenie, że grupa developerska perl chętnie przyjęłaby dodatkowych programistów.
Grzegorz Szyszlo - 25-08-2007 00:02
Stachu 'Dozzie' K. napisał(a): > Ja bym raczej wyciągnął inny argument: "życzę powodzenia, gdy będziesz > potrzebować zmiennej lokalnej w obrębie if-else czy while".
wątek stary. ale .... zmienna lokalna dla ifo/whilologii? a perl to nie ma bloku { } w którym deklaruje się zmienne tymczasowe?
chociaż irytująca jest inność pętli typu do { } while ();
znik.
Stachu 'Dozzie' K. - 25-08-2007 00:02
On 24.08.2007, Grzegorz Szyszlo <znik@wbc.lublin.pl> wrote: > Stachu 'Dozzie' K. napisał(a): >> Ja bym raczej wyciągnął inny argument: "życzę powodzenia, gdy będziesz >> potrzebować zmiennej lokalnej w obrębie if-else czy while". > > wątek stary. ale .... zmienna lokalna dla ifo/whilologii? > a perl to nie ma bloku { } w którym deklaruje się zmienne tymczasowe?
Ma. Ale rzadziej potrzebuję zmiennej lokalnej dla niewielkiego bloku kodu poza pętlą, żeby używać samego bloku {}.
> chociaż irytująca jest inność pętli typu > do { > } while ();
To akurat ma sens. "do {}" to wywołanie funkcji do(), która przyjmuje jako jedyny argument blok kodu do wykonania. A reszta to postfiksowa forma pętli while z instrukcją "do {}".
-- Secunia non olet. Stanislaw Klekot
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
Strona 4 z 4 • Znaleźliśmy 194 postów • 1, 2, 3, 4
|
=?ISO-8859-2?Q?Re=3A_Informatyka=2C_Java=2C_EJB=2C_Ajax=2C?== ?ISO-8859-2?Q?_Spring=2E_Czy=BFby_to_koniec_=B6wiata=2C_czy? ==?ISO-8859-2?Q?_te=BF_nasze_uczelnie_b=EAd=B1_uczy=B3y_w_k?== ?ISO-8859-2?Q?o=F1cu!_czego_praktyczne?=
=?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
=?ISO-8859-2?Q?b=B3=B1d_w_bazie=2C_nie_wiem_od_czego?==?ISO-8859-2?Q?_zaczac_szukanie?=
=?iso-8859-2?Q?=5Blama=5D_Mapa_-_od_czego_zacz=B1=E6=3F?=
do czego uzywac perl-a? czy warto poznac ten jezyk
[ORACLE] - Czego używcie do monitorowanie swoich baz?
replikacja w Mysql 5.0.27- czego brak ?
Od czego zacząć robienie strony ?
Aplikacja dla laboratorium - czego użyć
[mySQL] Sprawdzenie, czego jest najwiecej
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|