DSL, Boo (?)

1 view
Skip to first unread message

Pawel Lesnikowski

unread,
May 20, 2008, 5:52:58 PM5/20/08
to wg-net
Czy mamy na grupie jakiego specjalistę od DSL lub/i Boo?

Arkadiusz Waśniewski

unread,
May 21, 2008, 3:39:34 AM5/21/08
to wg-net
Ayende się zna pewnie...

Wojciech Gebczyk

unread,
May 21, 2008, 3:45:03 AM5/21/08
to wg-...@googlegroups.com
Nie znam sie na Foo/Boo/Sroo. Ale troche pisalem rzezcy wokol DSLowe, lecz nie jestem specjalista.
 
v

2008/5/21 Arkadiusz Waśniewski <arkadiusz....@data.pl>:

Ayende się zna pewnie...

Michal Grzegorzewski

unread,
May 23, 2008, 6:53:26 AM5/23/08
to wg-net
Hehe :)

@Wojtek, jezyk chyba dobry jak kazdy inny, a przynajmniej do pewnych
zastosowan. Ja go nie znam, ale skoro ktos go uzywa, to pewnie ma swoj
sens :P.

@Pawel - a czemu pytasz? Chcesz zrobic sobie intellisense czy
podkreslanie w VS dla projektow z boo?

m.

On 21 Maj, 09:45, "Wojciech Gebczyk" <wojciech.gebc...@gmail.com>
wrote:
> Nie znam sie na Foo/Boo/Sroo. Ale troche pisalem rzezcy wokol DSLowe, lecz
> nie jestem specjalista.
>
> v
>
> 2008/5/21 Arkadiusz Waśniewski <arkadiusz.wasniew...@data.pl>:
>
>
>
>
>
> > Ayende się zna pewnie...- Ukryj cytowany tekst -
>
> - Pokaż cytowany tekst -

Wojciech Gebczyk

unread,
May 23, 2008, 2:26:29 PM5/23/08
to wg-...@googlegroups.com
Mam wrazenie ze po ostatnim boomie skryptowych jezykow, jez.
Programowania sa traktowane jak jakis fetysz. Zgoda ze kazda potwora
znajdzie amatora ;-)

V

--
Sent from Google Mail for mobile | mobile.google.com

Szymon Kobalczyk

unread,
May 24, 2008, 7:57:17 AM5/24/08
to wg-net
wHej,
Trochę się ostatnio tym tematem interesowałem więc spróbuje przekazać
do wiem.

Jeśli chodzi o Boo to faktycznie język jak każdy inny. Przy czym nie
jest to język skryptowy w takim sensie jak JavaScript czy IronPython.
Ma co prawda pewne elementy (type inference, duck typing, wyrażenia
lambda), przez które można go uznać za język dynamiczny ale podobnie
jak VB.NET i C# 3.0 ma silną typizację i jest statycznie kompilowany.
To co wyróżnia ten język na tle innych to makra kompilatora. Czyli sam
język umożliwia nam zmianę "pipelinu" swojego kompilatora. Pozwala to
nam chociażby dodać swoje własne słowa kluczowe do języka lub zmienić
znaczenie istniejących. W pewnym sensie można to uznać za rozszerzenie
koncepcji AOP przy czym kod jest zmieniany w trakcie kompilacji a nie
instrumentowany po jej zakończeniu. Daje to większe możliwości oraz
zapewne lepszą wydajność.

Co więcej dzięki makrom kompilacji język ten świetnie nadaje się do
tworzenia własnych języków domenowych. Przy czym nie mówimy tu o
językach graficznych jak DSL Toolkit czy Windows Workflow. Chodzi o
małe języki porgramowania takie z jakimi często mamy do czynienia pod
uniksem. Jest to też bliższe koncepcji DSL opisanej przez Martina
Fowlera.

Tak jak napisał Arek dużo więcej na ten temat wie Ayende Rahien. Nawet
pisze już książkę pt. "Building Domain Specific Languages in Boo". Jej
draft jest już dostępny w Manning EAP (pierwszy rozdział za darmo):
http://www.manning.com/rahien/

Na początek można też przeczytać jego artykuł na InfoQ:
http://www.infoq.com/articles/dsl-on-the-clr

Temat ten dosyć mnie interesuje ponieważ kiedyś razem z Marcinem
Celejem uczestniczyłem w budowaniu podobnego rozwiązania ale na bazie
IronPythona. Po przeczytaniu kilku pierwszych rozdziałów tej książki
mogę już powiedzieć że Boo daje o wiele większe możliwości.
Rozmawiałem nawet o tym niedawno z Bartkiem Pampuchem, który z kolei
jest specjalistą od workflow. Z mojego doświadczenia wynika że w
każdym większym systemie znajdzie się miejsce dla takich wbudowanych w
system mini języków, silników regułowych czy workflow. Dlatego uważam
warto jest mieć takie narzędzia zawsze pod ręką.

Pozdrawiam,
-Szymon

On 23 Maj, 20:26, "Wojciech Gebczyk" <wojciech.gebc...@gmail.com>
wrote:
> Sent from Google Mail for mobile | mobile.google.com- Ukryj cytowany tekst -
Reply all
Reply to author
Forward
0 new messages