Thread View: pl.comp.lang.tcl
8 messages
8 total messages
Started by Aneta
Sun, 27 Nov 2005 22:46
Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Aneta
Date: Sun, 27 Nov 2005 22:46
Date: Sun, 27 Nov 2005 22:46
21 lines
1725 bytes
1725 bytes
witam, Na pl.comp.objects spotkalam sie z opinia, ze TCL lacznie IncrTCL to zle zaprojektowany jezyk, nie posiadający gramatyki i prostacki. Z kolei inne osoby twierdzą ze jest dobry do prototypowania, szybkiego tworzenia skryptów i GUI, a mechanizmy obiektowe sa klarowne i malo "przegadane" - co stanowi jego zalete. Patrzac na aplikacje typu AOL Server czy powszechy Tk (zwiazany z TCLem) trudno odmowic TCL'owi i Tk funkcjonalnosci. Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem innych jezykow OOP? Czy waszym zdaniem nadaje sie do pisania czytelnych, klarownych programow obiektowych i prototypowania? Poza tym dysponuje ktos moze jakimis polskojezycznymi materialami/wykladami na temat Incr TCL albo OraTCL (dialekt stosowany w Oracle'u)? Dzięki z góry za wszelkie informacje i pozdrawiam Aneta. -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Derek Kuliński / takeda
Date: Mon, 28 Nov 2005 03:43
Date: Mon, 28 Nov 2005 03:43
43 lines
3191 bytes
3191 bytes
On Sun, 27 Nov 2005 22:46:25 +0000 (UTC), Aneta wrote: > witam, > > Na pl.comp.objects spotkalam sie z opinia, ze TCL lacznie IncrTCL to zle > zaprojektowany jezyk, nie posiadający gramatyki i prostacki. Z kolei inne osoby > twierdzą ze jest dobry do prototypowania, szybkiego tworzenia skryptów i GUI, a > mechanizmy obiektowe sa klarowne i malo "przegadane" - co stanowi jego zalete. > Patrzac na aplikacje typu AOL Server czy powszechy Tk (zwiazany z TCLem) trudno > odmowic TCL'owi i Tk funkcjonalnosci. > > Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem innych > jezykow OOP? Czy waszym zdaniem nadaje sie do pisania czytelnych, klarownych > programow obiektowych i prototypowania? > > Poza tym dysponuje ktos moze jakimis polskojezycznymi materialami/wykladami na > temat Incr TCL albo OraTCL (dialekt stosowany w Oracle'u)? > > Dzięki z góry za wszelkie informacje i pozdrawiam > Aneta. Ja osobiście nie używałem jeszcze IncrTcl więc mogę tylko wypowiedać się na temat samego tcl'a. Wiem, że sam Tcl ma namiastkę OOB, np. posiada tzw. namespaces które przy odrobinie wyobraźni mogą przypominać klasy :) Wydaje mi się, że IncrTcl dodaje wszystko co potrzebne do OOB. Co do samego Tcl'a to sam przyznam, że nie podoba mi się, że ten język jest dosyć luźny. Mam na myśli, że pozwala zrobić wiele rzczy którch w innych językach jest dosyć trudno, nie ma dużych ograniczeń. Jest to zarówno zaleta jak i wada. Wadą jest to, że łatwo popełnić błędy i tcl ich nie wskaże, wyjdą dopiero przy używaniu (często bardzo dużo czasu minie zanim je się znajdzie). Możliwe, że o to chodziło osobom pisząc o "gramatycznych brakach", śmiem twierdzić, że tcl w ogóle nie ma gramatyki... Jeżeli chcesz pisać czytelne programy, to oczywiście jest to możliwe, ale to ty musisz o to dbać. -- ダレック takeda@IRCnet.EFnet, ICQ# 15827691, YahooIM: takeda64 http://ircwiki.takeda.tk - strona wiki poświęcona IRC
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Artur
Date: Tue, 29 Nov 2005 08:07
Date: Tue, 29 Nov 2005 08:07
87 lines
4472 bytes
4472 bytes
Aneta schrieb:
> witam,
>
> Na pl.comp.objects spotkalam sie z opinia, ze TCL lacznie IncrTCL to zle
> zaprojektowany jezyk, nie posiadający gramatyki i prostacki. Z kolei inne osoby
> twierdzą ze jest dobry do prototypowania, szybkiego tworzenia skryptów i GUI, a
> mechanizmy obiektowe sa klarowne i malo "przegadane" - co stanowi jego zalete.
> Patrzac na aplikacje typu AOL Server czy powszechy Tk (zwiazany z TCLem) trudno
> odmowic TCL'owi i Tk funkcjonalnosci.
>
> Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem innych
> jezykow OOP? Czy waszym zdaniem nadaje sie do pisania czytelnych, klarownych
> programow obiektowych i prototypowania?
>
> Poza tym dysponuje ktos moze jakimis polskojezycznymi materialami/wykladami na
> temat Incr TCL albo OraTCL (dialekt stosowany w Oracle'u)?
>
> Dzięki z góry za wszelkie informacje i pozdrawiam
> Aneta.
>
> --
> Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
genialność Tcl tkwi w jego prostocie.
Bazowy opis syntaksu Tcl mieści się na kartce DIN-A4.
Rownocześnie można kombinować proste elementy w bardzo skąplikowane
koncepcje.
Przez to Tcl staje się językiem o wielu twarzach i jest rozserzalny.
Równie prosty i genialny jest Smalltalk albo LISP, wymagają ale one
od programisty
wysokich umiejętności do tworzenia abstrakcji i wiele kreatowności,
która poplaca krótkim i czystym programem.
Języki jak PHP, Perl albo Basic
są wielką skrzynią z narzędziami, dobry programista takiego języka
uczy się setkę trików na dany problem.
Tu nie trzeba być kreatywnym tylko mieć dobrą pamięć, wielka
teoria albo edukacja
jest tu zbyteczna.
Jeśli chodzi o OOP to Tcl ma wiele do zaofiarowania. Najbardziej
kompletny i szybki jest XOTcl, który
powoli staje się standartowym językiem OOP dla Tcl.
http://www.xotcl.org
XOTcl jest jęykiem OOP nowej genacji z konceptami jak Mixin (Ruby),
Filter, AOP i inne.
Co do braków Tcl to wiele jest rzeczą smaku.
Tcl i OOP w Tcl nie posiada:
- Garbage Collection - trudno to zrealizować bo wszystko w Tcl jest
string (bez referencji). XOTcl posiada
mechanizmy aby ten problem zmniejszyć (nested objects i opcja
-volatile)
- Closures albo Lambda (abstrakcyjne funkcje) - bardzo przydatne do
krowanie np. wlasnych control structures. Można w Tcl obejść przez
uplevel i upvar. Albo poprostu przez to że funkcja to popiersze
string. Ruby, Smalltalk, Python mają takie wlaściwości.
- W Tcl nie wszystko jest objektem tylko raczej wszystko jest string.
Dla OOP jest bardziej przydatne jeśli wszystko bylo by obiektem
(np. Smalltalk, Ruby, Python)
- Z powodu bardzo prostej gramatyki nie są możliwe pewne skróty w
syntaksie jakie naprzyklad są w Python
Tcl
set a 2
Python
a = 2
Tcl
set mylist {0 1 2}
set b [lrange $mylist 2 end]
Python
mylist = (0,1,2)
b = mylist[2:]
Tcl
set b [string range $mystring 2 end]
Python
b = mystring[2:]
Z drugiej strony Tcl posiada bardzo dobre możliwości do introspekcj
(retrospekcj).
Nadeje się doskonale do generatorów, mobilnych agentów,
samogenaracji programu.
Ja wypróbowalem już wiele języków ale zawsze wracam do Tcl i to z
powodu XOTcl.
Artur Trzewik
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Maciej Sobczak
Date: Tue, 29 Nov 2005 10:49
Date: Tue, 29 Nov 2005 10:49
61 lines
4228 bytes
4228 bytes
Aneta wrote: > Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem innych > jezykow OOP? Moje bardzo skromne zdanie: Obiektowość jest bardzo poważną cechą języka, jeśli ją posiada, ale sama w sobie nie wystarczy, żeby miała sens. Problem w tym, że obiektowość to nie jest coś, co można w danym projekcie narzucić - obiektowość musi się w projekcie pojawić spontanicznie, jako wynik analizy danego zagadnienia. Obiektowość została wymyślona nie jako coś formalnego, za czym stoi poważna matematyka, czy inne tego typu tło, tylko jako wynik naszego sposobu postrzegania świata. Obiektowość w projekcie pojawia się dlatego, że my, rozwiązując dany problem, nie radzimy sobie z jego złożonością i dzielimy całość na elementy, którym nadajemy cechy znane ze świata rzeczywistego. I to jest tylko efekt naszego postrzegania świata i siebie samych. Być może Marsjanie projektowaliby ten sam system zupełnie inaczej. Dlaczego o tym piszę - obiektowość pojawia się jako odpowiedź na naszą naturalną niezdolność do potrzegania jednocześnie wszystkiego i pojawia się przede wszystkim w dużych projektach. Duży współczesny projekt prawie na pewno będzie obiektowy (na różnych poziomach abstrakcji, a czasem na wielu równocześnie), nawet jeśli ma być pisany w C. I tu jest sendo problemu: *duży* projekt. I teraz pytanie - czy to, że język jest obiektowy to dobrze? Odpowiedź: to zależy, czy ma również inne cechy, które go predysponują do dużych projektów. Jeśli ma (np. statyczny system typów, moduły z oddzieleniem specyfikacji od implementacji, itp.), to obiektowość w tym języku jest jak najbardziej dobra. Natomiast jeśli nie ma takich cech, to się do dużych projektów i tak nie nadaje - i w takim razie jego obiektowość jest po prostu celowaniem w nieistniejący rynek. Dla mnie Tcl jest wzorem języka skryptowego, który po prostu zostawia daleko w tyle inne języki, łącznie z tymi, które (o dziwo) powstały później. Używam go gdzie popadnie, rozszerzam, robię z niego nowe języki specyficzne dla danej dziedziny, zagnieżdżam, ... - co tylko się da. Ale nie oczekuję od niego obiektowości, bo przy małych tematach nie jest ona do niczego potrzebna (nie pojawia się spontanicznie w analizie problemu!) a przy dużych i tak nie jest wystarczająca, z powodu braku innych ważnych cech. Dlatego *moje skromne zdanie* jest takie, że chociaż Tcl jest idealnym językiem do zastosowań skryptowych, to Incr Tcl (czy jakiekolwiek inne obiektowe pomysły) ma taki sam sens, jak wyścigi ciężarówek. > Czy waszym zdaniem nadaje sie do pisania czytelnych, klarownych > programow obiektowych i prototypowania? W ogóle nie ma sensu rozróżniać języki na te do prototypowania i na te "właściwe". Rozwiązania tymczasowe mają dziwną tendencję do trwania na zawsze, więc prototyp powinno robić się tak, żeby "w razie czego" mógł stać się z czasem rozwiązaniem końcowym - i dlatego powinien być też robiony w języku docelowym, jakikolwiek by on nie był. -- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Googie
Date: Wed, 30 Nov 2005 18:04
Date: Wed, 30 Nov 2005 18:04
22 lines
1671 bytes
1671 bytes
Maciej Sobczak wrote: > Dlatego *moje skromne zdanie* jest takie, że chociaż Tcl jest > idealnym językiem do zastosowań skryptowych, to Incr Tcl (czy > jakiekolwiek inne obiektowe pomysły) ma taki sam sens, jak wyścigi > ciężarówek. Nie do końca. Swego czasu pisałem sobie bota IRC w Tcl. Obiekty były jak najbardziej pożądane w tym przypadku. Pisanie większych aplikacji w Tcl też nie jest przeszkodą, co dowodzi wiele przykładów takich aplikacji (nie będę ich tu przytaczał, wystarczy poszukać na wiki.tcl.tk), a więc i wtedy obiektowość może być pomocna. Oczywiście należy zachować umiar i rozwagę w wykorzystywaniu tego modelu - tak jak wspomniałeś, niemniej jednak nie zgadzam się, żeby orientacja obiektowa było "pudłem" w przypadku Tcl. -- Pozdrawiam (Greetings)! Googie
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Googie
Date: Wed, 30 Nov 2005 18:18
Date: Wed, 30 Nov 2005 18:18
42 lines
2240 bytes
2240 bytes
Aneta wrote: > witam, > Cześć, Moje wypowiedzi będą w kontekście IncrTcl, ponieważ z OraTcl nie miałem styczności. > Na pl.comp.objects spotkalam sie z opinia, ze TCL lacznie IncrTCL to > zle zaprojektowany jezyk, nie posiadający gramatyki i prostacki. Z > kolei inne osoby twierdzą ze jest dobry do prototypowania, szybkiego > tworzenia skryptów i GUI, a mechanizmy obiektowe sa klarowne i malo > "przegadane" - co stanowi jego zalete. Patrzac na aplikacje typu AOL > Server czy powszechy Tk (zwiazany z TCLem) trudno > odmowic TCL'owi i Tk funkcjonalnosci. Bo Ola powiedziała ..., a Jurek napisał ze ... Moim zdaniem - DGNED. Każdy będzie faworyzował język, który lubi, negował pozostałe. > Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem > innych > jezykow OOP? Tak, ale wpływa to z kolei pozytywnie na prostotę i funkcjonalność tego modelu. > Czy waszym zdaniem nadaje sie do pisania czytelnych, > klarownych programow obiektowych i prototypowania? Jak najbardziej. Dobrym przykładem jest wspomniany w tym wątku (tylko w innym poście) bot IRC, którego pisałem dawno, dawno temu z wykorzystaniem wyłącznie czystego Tcl (model strukturalny), a około rok później przepisałem go w IncrTcl, co znacznie uprościło konstrukcję i pomogło wyeliminować niemal wszystkie błędy spotkane w poprzedniej wersji. -- Pozdrawiam (Greetings)! Googie
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Wojciech Kocjan
Date: Fri, 02 Dec 2005 07:15
Date: Fri, 02 Dec 2005 07:15
35 lines
2580 bytes
2580 bytes
On Tue, 29 Nov 2005 11:49:22 +0100, Maciej Sobczak <no.spam@no.spam.com> wrote: > [ciach] > Dlatego *moje skromne zdanie* jest takie, że chociaż Tcl jest idealnym > językiem do zastosowań skryptowych, to Incr Tcl (czy jakiekolwiek inne > obiektowe pomysły) ma taki sam sens, jak wyścigi ciężarówek. Tu akurat się muszę z Tobą nie zgodzić. Pisałem już dosyć duże aplikacje GUI powiązane z bazami danych i porównując do wysiłku w stworzeniu i utrzymaniu tych aplikacji, Tcl+IncrTcl wyszedł znacznie lepiej. Fakt, że najpierw przysiadłem trochę i stworzyłem system obsługi baz danych (wraz z całym GUI do ich prostej edycji - jest opensource), ale po kilku projektach ten czas i tak się spłacił. Jeśli chodzi o mnie to Tcl posiada wszystkie cechy, które pozwalają na stworzenie dobrej aplikacji. A statyczne typowanie ani nie pomaga ani nie przeszkadza, po prostu każde podejście wymaga innego myślenia - w Javie też można wymieniać się Vector'ami parametrów i takie systemy też istnieją - ale to już ewidentnie dynamiczne typowanie w statycznie typowanym języku... >> Czy waszym zdaniem nadaje sie do pisania czytelnych, klarownych >> programow obiektowych i prototypowania? > > W ogóle nie ma sensu rozróżniać języki na te do prototypowania i na te > "właściwe". Rozwiązania tymczasowe mają dziwną tendencję do trwania na > zawsze, więc prototyp powinno robić się tak, żeby "w razie czego" mógł > stać się z czasem rozwiązaniem końcowym - i dlatego powinien być też > robiony w języku docelowym, jakikolwiek by on nie był. A z tym się akurat zgadzam. -- WK
Re: Wasza opinia (Incr TCL, OraTCL i obiektowosc)
Author: Wojciech Kocjan
Date: Fri, 02 Dec 2005 07:33
Date: Fri, 02 Dec 2005 07:33
24 lines
1930 bytes
1930 bytes
On Sun, 27 Nov 2005 23:46:25 +0100, Aneta <aneta_ra@WYTNIJ.gazeta.pl> wrote: > Czy rzeczywiscie Incr TCL ma jakies "gramatyczne braki" wzgledem innych > jezykow OOP? Czy waszym zdaniem nadaje sie do pisania czytelnych, > klarownych > programow obiektowych i prototypowania? Nie ma. Tcl jest językiem bardzo dynamicznym - ktoś przyzwyczajony do statycznego typowania może to uznać za duży brak. Tak samo ktoś kto pisze dużo w Tcl może uznać brak możliwości dynamicznego budowania kodu w trakcie pracy za braki języków kompilowanych... > Poza tym dysponuje ktos moze jakimis polskojezycznymi > materialami/wykladami na > temat Incr TCL albo OraTCL (dialekt stosowany w Oracle'u)? Ja nie. Ale jeśli chcesz wygodnie korzystać z Oratcl to polecam tcldb (http://sourceforge.net/projects/dqsoftware). To jest pakiet, który pozwala ujednolicić dostęp do różnych baz danych. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
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