-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
!newspeer1.nac.net!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!
nntp.giganews.com!postnews.google.com!w4g2000vbc.googlegroups.com!not-for-mail
From: Maciej Sobczak <s...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: tcl - do czego to sie moze przydac?
Date: Tue, 17 Jan 2012 03:32:46 -0800 (PST)
Organization: http://groups.google.com
Lines: 63
Message-ID: <3...@w...googlegroups.com>
References: <jes1u9$jfu$1@inews.gazeta.pl>
<7...@a...googlegroups.com>
<jf3amr$47o$1@inews.gazeta.pl>
NNTP-Posting-Host: 83.3.40.82
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1326800089 23461 127.0.0.1 (17 Jan 2012 11:34:49 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Tue, 17 Jan 2012 11:34:49 +0000 (UTC)
Complaints-To: g...@g...com
Injection-Info: w4g2000vbc.googlegroups.com; posting-host=83.3.40.82;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
User-Agent: G2/1.0
X-Google-Web-Client: true
X-Google-Header-Order: HUALESNKRC
X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13)
Gecko/20101203 Firefox/3.6.13,gzip(gfe)
Xref: news-archive.icm.edu.pl pl.comp.programming:194755
[ ukryj nagłówki ]On Jan 17, 9:15 am, " M.M." <m...@N...gazeta.pl> wrote:
> > natomiast Tcl moze sie przydac do tworzenia wlasnych jezykow
> > specyficznych dla jakiegos zastosowania, bo mozna w nim tworzyc nowe
> > konstrukcje jezykowe, ktore dzieki jego bardzo prostej i konsekwentnej
> > skladni nie sa odroznialne od procedur.
>
> Zabrzmialo bardzo interesujaco. Kompletnie nie znam tcl, nigdy nic nie
> czytalem o nim. Rozumiem ze skoro o tym wspominasz, to chodzi o zupelnie
> inne i lepsze dla niektorych zastosowan rozszerzenie, niz rozszerzenia
> typowe dla innych jezykow, jak np.: pisanie nowych procedur i definiowanie
> nowych typow czy klas?
Chodzi o to, że w Tclu konstrukcje języka i procedury użytkownika
wyglądają tak samo.
Np. nie ma w Tclu pętli while, która zgodnie z resztą gramatyki
mogłaby wyglądać np. tak:
while {warunek} {
cośtamcośtam
}
Nie ma, ale to nic, bo można zdefiniować procedurę while z dwoma
argumentami, którą dokładnie tak można użyć. I nie dość, że nie różni
się to wizualnie od reszty języka (if, for, itd.), ale nawet z punktu
widzenia interpretera się nie różni, bo interpreter traktuje wszystkie
takie konstrukcje tak samo.
A może chciałbyś takie coś:
repeat N {
cośtamcośtam
}
Nie ma problemu - znowy procedura z dwoma parametrami.
A może takie coś:
loop_forever {
cośtamcośtam
}
Jeszcze prościej, bo to jest procedura z jednym parametrem. Itd.
W ten sposób można stworzyć język według własnych potrzeb.
To powyżej to konstrukcje imperatywne, ale to nawet nie jest
największa zaleta Tcla.
Zaletę takich rozszerzeń widać wtedy, gdy stworzy się w ten sposób
język opisu danych - od plików konfiguracyjnych po powiązania logiczne
czy co tam się chce.
Wtedy można plik z danymi po prostu *wykonać* w programie a nie np.
obrywać sobie rękawy przy parsowaniu XMLa czy jeszcze czegoś.
Niemniej - tak jak już napisałem, to nie jest język do uniwersalnego
uwielbiania.
Do uniwersalnego uwielbiania jest Python. Um-cyk-um-cyk... ;-)
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 17.01.12 11:38 Maciej Sobczak
- 17.01.12 12:44
- 17.01.12 13:42 fir kenobi
- 17.01.12 14:50
- 17.01.12 17:29 Waldek M.
- 17.01.12 18:48 Andrzej Jarzabek
- 17.01.12 19:54
- 17.01.12 20:29
- 17.01.12 21:11 Maciej Sobczak
- 18.01.12 05:44 Andrzej Jarzabek
- 18.01.12 06:52 Maciej Sobczak
- 18.01.12 07:11 M.M.
- 18.01.12 07:51 Artur M. Piwko
- 18.01.12 07:52 Artur M. Piwko
- 18.01.12 08:14 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-12 USB3.x->HDMI/DP ze sterownikami w win11
- 2025-01-12 Jak na naszych oczach odradza się cenzura :-)
- 2025-01-11 Koszty prowadzenia firmy za granicą
- 2025-01-11 19 migrantów
- 2025-01-11 300km/h
- 2025-01-11 Kongres USA uchwalił "Prawo babci Pawlakowej" na MTK [Lex Gradma Pawlak]
- 2025-01-11 Riga => Specjalista ds. public relations <=
- 2025-01-11 Przestępca wyborczy Musk nadciąga nad Tuskistan?
- 2025-01-11 Białystok => Delphi Programmer <=
- 2025-01-09 Jaka nawigacja z asystentem zmiany pasa ruchu?
- 2025-01-10 Coś dusi.
- 2025-01-09 akumulator napięcie 12.0v
- 2025-01-10 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-10 Warszawa => Software .Net Developer <=
- 2025-01-10 Białystok => Application Security Engineer <=