🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16777

Re: Groovy

#16777
From: ethouris
Date: Fri, 11 May 2007 22:31
59 lines
3688 bytes
On 10 Maj, 05:16, "Adam Karpierz" <karpierz@_NOSPAM_python.pl> wrote:
> Użytkownik "Aleksander Galicki" <tret...@WYTNIJ.gazeta.pl> napisał:
>
> >> Prosze nie miaszac dwoch zupelnie ortogonalnych pojec.
>
> > Niczego nie mieszam. Prosze spojrzec:  The Computer Science and
> > Engineering
> > "Type system: A collection of type rules for a typed programming language.
>
> Prawda
>
> > Same as static type system."
>
> Bzdury.
>
> > "Untyped language: A language that does not have a (static) type system"
>
> Bzdury
>
> > Python jest wlasnie untyped - zgodnie z terminogia ktora istnieje od
> > jakichs
> > kilkudziesieciu lat.
>
> Bzdury a nie terminologia
>
> PS: Jezykiem beztypowym to jest np Tcl.
>       Tam wszystko jest stringiem.

Bzdura.

Język Tcl jak najbardziej posiada typy (z tym tylko, że w zakresie
języka nie można tworzyć własnych). Zasada EIAS tak naprawdę polega
tylko na tym, że każdy obiekt Tcl-owy (a więc należący do jednego z
Tcl-owych typów) jest automatycznie serializowalny, tzn. zawsze może
być przekonwertowany na string i odwrotnie. No i oczywiście nie można
tych typów jawnie weryfikować w programach.

Aczkolwiek jest to zupełnie niepotrzebne, bo w Tcl-u się po prostu
tego nie robi. Jeśli np. potrzebujemy wykonać operację dodawania na
dwóch wartościach, a jedna z nich jest stringiem nie konwertowalnym na
liczbę, to leci wyjątek (note: odmiennie, niż np. w Perlu, w którym
"jeden" == "dwa" zwraca true). Część kwalifikacji wartości można
wykonać np. za pomocą komendy [string is].

>       Jezykiem beztypowym w czesci jest Perl.

Aha, czyli "beztypowy" oznacza dla ciebie "taki, gdzie obiektom nie
można sprawdzić typu". Cóż, niektórzy uważają, że jest to zbędny
ficzer. Ja przychylam się do twierdzenia, że język beztypowy to taki,
który nie posiada statycznego systemu typów (co mówiłem już od dawna),
ale i w takim języku nie widzę koniecznej potrzeby posiadania
możliwości sprawdzania typu. W języku skryptowym przykładowo mogę mieć
"coś" pobrane z jakiegoś źródła i nie interesuje mnie czy w postaci
liczby całkowitej, czy stringa, ale interesuje mnie jednak, czy to, co
dostałem, to liczba. Więc nie obchodzi mnie jakiś zakodowany dla
obiektu TYP, po stwierdzeniu którego mogę stwierdzić, że, kurde, mogę
sobie wziąć na żywca, albo dopiero muszę przekonwertować string na
liczbę. Sprawdzam tylko czy [string is integer $liczba] i to mi
wystarczy.
Technical Details
Message-ID: <1178922714.630317.141500@y80g2000hsf.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!y80g2000hsf.googlegroups.com!not-for-mail
References: <f1tdl6$2s4$1@inews.gazeta.pl><f1todc$8s5$1@inews.gazeta.pl> <f1tss8$iq3$1@inews.gazeta.pl> <f1u2qu$1pm$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.germany.com!postnews.google.com!y80g2000hsf.googlegroups.com!not-for-mail
From: ethouris <ethouris@gmail.com>
Newsgroups: pl.comp.objects
Subject: Re: Groovy
Date: 11 May 2007 15:31:54 -0700
Organization: http://groups.google.com
Lines: 70
Message-ID: <1178922714.630317.141500@y80g2000hsf.googlegroups.com>
References: <f1tdl6$2s4$1@inews.gazeta.pl><f1todc$8s5$1@inews.gazeta.pl>   <f1tss8$iq3$1@inews.gazeta.pl>   <f1u2qu$1pm$1@inews.gazeta.pl>
NNTP-Posting-Host: 81.219.244.75
Mime-Version: 1.0
X-Trace: posting.google.com 1178922715 32615 127.0.0.1 (11 May 2007 22:31:55 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 11 May 2007 22:31:55 +0000 (UTC)
In-Reply-To: <f1u2qu$1pm$1@inews.gazeta.pl>
User-Agent: G2/1.0
X-HTTP-UserAgent: Opera/9.10 (Windows NT 5.0; U; pl),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: y80g2000hsf.googlegroups.com; posting-host=81.219.244.75;   posting-account=W6788A0AAADjfLYufIDScQB28tLT5-6D
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit