eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[?] tcl - do czego to sie moze przydac?Re: tcl - do czego to sie moze przydac?
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: