🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.tcl
11 messages
11 total messages Started by ZB Fri, 13 Jun 2008 18:50
Tutorial: Przestrzenie nazw
#509
Author: ZB
Date: Fri, 13 Jun 2008 18:50
15 lines
929 bytes
S±dzê, ¿e warta³oby ten rozdzia³ uzupe³niæ jasnym stwierdzeniem, ¿e te
"przestrzenie nazw" to tak naprawdê jeden wielki pic, i ¿e (prawie) równie
dobrze dzia³a³oby po prostu wyd³u¿anie nazw procedur/zmiennych odpowiednimi
przedrostkami, np. zamiast ::moja_przestrzen::puts mo¿e byæ równie dobrze:
__moja_przestrzen__puts - i mamy z grubsza to samo: nazwê procedury, która
nie koliduje ze "standardowym" puts.

Oczywi¶cie, trochê upraszczam - ale przecie¿ naprawdê tylko trochê... taki
kawa³ miejsca jest temu po¶wiêcony w manualu - a to w sumie sprowadza siê
jedynie do wyd³u¿enia nazw procedur/zmiennych, które przecie¿ w efekcie
wszy¶ciutkie - co do jednej - i tak znajduj± siê w "przestrzeni globalnej".
A zatem odró¿niane s± jedynie po przera¼liwie d³ugiej nazwie. Wszystkie te
"namespace eval" to tylko "chwilowe zezwolenie" na pos³ugiwanie siê nazw±
bez przedrostka, bo jaki¶ automat go doda "w imieniu u¿ytkownika".
--
ZB
Re: Tutorial: Przestrzenie nazw
#510
Author: Damian 'legion'
Date: Sat, 14 Jun 2008 00:15
10 lines
523 bytes
On 2008-06-13, ZB wrote:
> S±dzê, ¿e warta³oby ten rozdzia³ uzupe³niæ jasnym stwierdzeniem, ¿e te
> "przestrzenie nazw" to tak naprawdê jeden wielki pic, i ¿e (prawie) równie
> dobrze dzia³a³oby po prostu wyd³u¿anie nazw procedur/zmiennych odpowiednimi
> przedrostkami, np. zamiast ::moja_przestrzen::puts mo¿e byæ równie dobrze:
> __moja_przestrzen__puts - i mamy z grubsza to samo: nazwê procedury, która
> nie koliduje ze "standardowym" puts.
Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...

--
Damian Szuberski
Re: Tutorial: Przestrzenie nazw
#511
Author: ZB
Date: Sat, 14 Jun 2008 00:24
6 lines
229 bytes
Dnia 13.06.2008 Damian 'legion' Szuberski <legion@wmid.cutthisjunk.amu.edu.andthis.pl> napisa³/a:

> Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...

E, tam: to po co takie "fachowe nazwy" na zwyczajne przedrostki.
--
ZB
Re: Tutorial: Przestrzenie nazw
#512
Author: "Stachu 'Dozzie'
Date: Sat, 14 Jun 2008 10:05
12 lines
424 bytes
On 14.06.2008, ZB <zbREMOVE_THIS@AND_THISispid.com.pl> wrote:
> Dnia 13.06.2008 Damian 'legion' Szuberski <legion@wmid.cutthisjunk.amu.edu.andthis.pl> napisa³/a:
>
>> Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...
>
> E, tam: to po co takie "fachowe nazwy" na zwyczajne przedrostki.

Bo do tego s³u¿±. Poka¿ mi dowolny inny jêzyk, w którym przestrzenie
nazw dzia³aj± inaczej.

--
Secunia non olet.
Stanislaw Klekot
Re: Tutorial: Przestrzenie nazw
#514
Author: ZB
Date: Sat, 14 Jun 2008 14:21
22 lines
947 bytes
Dnia 14.06.2008 Stachu 'Dozzie' K. <dozzie@dynamit.im.pwr.wroc.pl.nospam> napisa³/a:

>>> Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...
>>
>> E, tam: to po co takie "fachowe nazwy" na zwyczajne przedrostki.
>
> Bo do tego s³u¿±.

No jasne: po co mówiæ "spodnie" - skoro mo¿na mówiæ "ineksprymable". Oznacza
dok³adnie to samo - za to jak brzmi! Od razu taki dyskutant, u¿ywaj±cy
"fachowego s³ownictwa" zyskuje na autorytecie.  :]

> Poka¿ mi dowolny inny jêzyk, w którym przestrzenie nazw dzia³aj± inaczej.

Mnie nie interesuje "dowolny inny jêzyk" - bo najwidoczniej nie jestem takim
"omnibusem-jêzykoznawc±" jak co poniektórzy tutaj.

Po prostu uzna³em, ¿e w tutorialu - przeznaczobym chyba z za³o¿enia dla
poznaj±cych dopiero TCL - warto przedstawiæ sprawy takimi, jakimi siê w
istocie maj±, choæby po to, ¿eby u³atwiæ zrozumienie im, jak to w³a¶ciwie
dzia³a, zamiast budowaæ "mistyczn± aurê wtajemniczenia". Tyle w tym temacie.
--
ZB
Re: Tutorial: Przestrzenie nazw
#515
Author: ZB
Date: Sat, 14 Jun 2008 14:23
13 lines
524 bytes
Dnia 14.06.2008 Damian 'legion' Szuberski <legion@wmid.cutthisjunk.amu.edu.andthis.pl> napisa³/a:

>>> Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...
>> E, tam: to po co takie "fachowe nazwy" na zwyczajne przedrostki.
> Dla wygody. Zmieniasz przestrzeñ nazw to edytujesz 1 linijkê a nie
> poprawiasz nazw wszystkich klas.

Nie pyta³em: "po co siê to robi", tylko: "po co to mêtniactwo w
nazewnictwie" ("przestrzenie nazw" - faktycznie, "big deal", mo¿na by³oby
mniemaæ).

Aha, ju¿ wiem: "dla wygody". Dziêki.
--
ZB
Re: Tutorial: Przestrzenie nazw
#513
Author: Damian 'legion'
Date: Sat, 14 Jun 2008 15:30
7 lines
272 bytes
On 2008-06-14, ZB wrote:
>> Taki jest te¿ cel przestrzeni nazw w dowolnym jêzyku...
> E, tam: to po co takie "fachowe nazwy" na zwyczajne przedrostki.
Dla wygody. Zmieniasz przestrzeñ nazw to edytujesz 1 linijkê a nie
poprawiasz nazw wszystkich klas.

--
Damian Szuberski
Re: Tutorial: Przestrzenie nazw
#518
Author: ZB
Date: Mon, 16 Jun 2008 11:05
16 lines
661 bytes
Dnia 16.06.2008 Googie <no@spam.0rg> napisa³/a:

> Nie do koñca.

...no nie do koñca - ale jednak nawet moi adwersarze byli ³askawi siê
zgodziæ, ¿e do tego wreszcie, w efekcie, to siê sprowadza. Szukaj±c sobie
przyk³adów "z innej beczki" - trafi³em na to, i tak jako¶ mi siê nasunê³o,
¿e w sumie warto by³oby to podkre¶liæ.

Ja po prostu uwa¿am, ¿e takie otwarte "podanie kawy na ³awê" komu¶
czytaj±cemu tutorial u³atwi zrozumienie, "o co w tym w³a¶ciwie chodzi". Otó¿
jak siê to zrozumie, to okazuje siê, ¿e nic takiego znowu¿ niesamowitego.

Wed³ug mnie, to powinno byæ wyra¼nie napisane na stronach oryginalnego
podrêcznika - nie to, ¿e w tutorialach.
--
ZB
Re: Tutorial: Przestrzenie nazw
#517
Author: Googie
Date: Mon, 16 Jun 2008 11:47
24 lines
1089 bytes
ZB wrote:

> Oczywi¶cie, trochê upraszczam - ale przecie¿ naprawdê tylko trochê... taki
> kawa³ miejsca jest temu po¶wiêcony w manualu - a to w sumie sprowadza siê
> jedynie do wyd³u¿enia nazw procedur/zmiennych, które przecie¿ w efekcie
> wszy¶ciutkie - co do jednej - i tak znajduj± siê w "przestrzeni
> globalnej". A zatem odró¿niane s± jedynie po przera¼liwie d³ugiej nazwie.
> Wszystkie te "namespace eval" to tylko "chwilowe zezwolenie" na
> pos³ugiwanie siê nazw± bez przedrostka, bo jaki¶ automat go doda "w
> imieniu u¿ytkownika".

Nie do koñca. Z reszt± tak jak napisa³e¶ - upraszczasz. W³a¶nie ta
w³a¶ciwo¶æ NS'ów, ¿e mo¿na wykonywaæ kod w [namespace eval] czyni j±
wygodniejsz± od prefixów (co z reszt± napisa³ ju¿ w tym w±tku Legion). Do
tego masz importowanie ca³ego NS'a - czyli mo¿na siê szybko
pozbyæ "prefixów". Chodzi o porz±dek. Dziêki NSom tworzony kod jest lepszej
jako¶ci.

Je¶li post dotyczy mojego tutoriala (tak wnioskujê po opisie), to przyznajê
¿e niepotrzebnie zaciemni³em opis NSów, dodam sobie do TODO, ¿eby upro¶ciæ
jêzyk.

--
Pozdrawiam! (Regards!)
Googie
Re: Tutorial: Przestrzenie nazw
#519
Author: Artur
Date: Mon, 23 Jun 2008 14:50
17 lines
523 bytes
NS to jednak o wiele wiêcej ni¿ przedrostki.
Na NS bazuje kilka systemów objektowych. Miêdzy innymi XOTcl i chyba
ITcl.
Funkcja "variable" potrzebuje NS.
"::zmiena" tak¿e mo¿ne zast±piæ u¿ycie "global".
W Tcl NS mo¿na u¿ywaæ w pe³ni dynamicznie. W jakim innym jêzyku jest
to jeszcze mo¿liwe?

Oczywi¶cie dla ma³ych programików NS s± niepotrzebne i Tcl d³ugo lat
dawa³ sobie bez nich rady.
S³u¿± najlepiej przy tworzeniu ogólnych bibliotek i "framework"ów..

Artur

Re: Tutorial: Przestrzenie nazw
#520
Author: ZB
Date: Fri, 27 Jun 2008 00:22
39 lines
1803 bytes
Dnia 23.06.2008 Artur <mail@xdobry.de> napisa³/a:

> NS to jednak o wiele wiêcej ni¿ przedrostki.
> Na NS bazuje kilka systemów objektowych. Miêdzy innymi XOTcl i chyba
> ITcl.
> Funkcja "variable" potrzebuje NS.
> "::zmiena" tak¿e mo¿ne zast±piæ u¿ycie "global".

...bo akurat tak to wszystko zrobiono - "z tego, co by³o pod rêk±". To nie
jest wskazanie na to, ¿e bez NS w takim wydaniu, jakie widzimy, nie da³oby
siê absolutnie tych rzeczy zrealizowaæ.

> W Tcl NS mo¿na u¿ywaæ w pe³ni dynamicznie. W jakim innym jêzyku jest
> to jeszcze mo¿liwe?

Nie wiem. Trzeba by³oby zrobiæ przegl±d tych wszystkich jêzyków - tylko,
tak w³a¶ciwie, po co? Dla wykazania siê w dyskusji?


TCL ma wiele zalet - ale i ma swoje nieco niewygodne strony: np.
terminologiê opracowan± chyba specjalnie "dla zmylenia przeciwnika" :]
- zw³aszcza takiego, który dopiero siê do tego zabiera, a w miêdzyczasie
ju¿ czego¶ innego zd±¿y³ "lizn±æ".

Funkcje nazwano procedurami, arraye jednowymiarowe - listami, wska¼niki
(chyba jedynie dla odmiany) - arrayami (przyporz±dkowuj±cymi), a skoro
ta nazwa zosta³a ju¿ u¿yta, to prawdziwe arraye asocjacyjne trzeba by³o
nazwaæ... s³ownikami (chocia¿ to nazwa myl±ca - bo s³ownik dzia³a przecie¿
W OBIE strony), sama zasada "kiedy termin jest skrócony, a kiedy u¿yty w
ca³o¶ci" te¿ stosowana jest bez jakiej¶ wyra¼nej logiki: "channel"
skrócono do "chan" (naprawdê by³oby za d³ugie?), ale ju¿ "continue" jest
w ca³o¶ci, chocia¿ w paru jêzykach egzystuje sobie jako "cont"... tak trochê
"zróbmy to koniecznie inaczej" wymy¶lono (a przynajmniej: inaczej to sobie
nazwijmy). Przy czym z tego "inaczej" wcale nie ma widocznych korzy¶ci.
Osobi¶cie przypuszczam, ¿e to jest raczej przeszkod± w szerszym
upowszechnieniu.

No dobra, poczepia³em siê trochê... w sumie niby mo¿na z tym ¿yæ.
--
ZB
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads