🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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)
#202
Author: Aneta
Date: Sun, 27 Nov 2005 22:46
21 lines
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)
#203
Author: Derek Kuliński / takeda
Date: Mon, 28 Nov 2005 03:43
43 lines
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)
#204
Author: Artur
Date: Tue, 29 Nov 2005 08:07
87 lines
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)
#205
Author: Maciej Sobczak
Date: Tue, 29 Nov 2005 10:49
61 lines
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)
#206
Author: Googie
Date: Wed, 30 Nov 2005 18:04
22 lines
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)
#208
Author: Googie
Date: Wed, 30 Nov 2005 18:18
42 lines
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)
#207
Author: Wojciech Kocjan
Date: Fri, 02 Dec 2005 07:15
35 lines
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)
#209
Author: Wojciech Kocjan
Date: Fri, 02 Dec 2005 07:33
24 lines
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