🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #267810

Re: Ciemna strona C++

#267810
From: Seweryn Habdank-Wojewódzki
Date: Sat, 24 Nov 2007 16:12
51 lines
3840 bytes
Witam

Marcin ?Qrczak? Kowalczyk wrote:

> Różnica jest zasadnicza. Bibliotekę Javy można owinąć w interfejs innego
> języka programowania polegając wyłącznie na informacji dostępnej w czasie
> wykonania. Podobnie jak w wielu innych językach. Można zobaczyć, jakie są
> w niej klasy, jakie one mają metody, wywoływać metody po nazwie znanej
> w czasie wykonania, przekazywać obiekty nie znając statycznie ich typu.
> 
> W C++ niczego takiego nie ma i biblioteki trzeba owijać nie dość,
> że na etapie kompilacji, to jeszcze ręcznie opisując interfejs
> każdej biblioteki - nie da się przeiterować po wszystkich elementach
> definiowanych przez bibliotekę oraz poznać ich interfejs ani w czasie
> wykonania, ani kombinacją szablonów i makr w czasie kompilacji.
> W C++ nie można też złapać wyjątku i np. przekazać go do innego wątku
> bez statycznej znajomości jego typu.

Qrczak ale, tak konkretnie, jaki masz realny target, dla takiego ficzeru.
Przecież jak piszesz nawet grę tekstową i dajesz komendę

Bob: move right

to to jest co innego niż 

Bob: move your ass

Co niby jest robione? Skąd *komputer* wie jaką komendę ma wydać? Jeśli obie
istnieją, to co robisz rand(2)? Podając (rand(3)) albo (rand(4), rand(6))
parametrów?

Zawsze gdzieś musi być koder, który zapoda co ma gdzie iść. A ten koder musi
wiedzieć co ma zapodać, a jak musi wiedzieć to musi mieć docbooka, a co za
różnica pomiędzy docbookiem a headerem. Już kiedyś była o tym dyskusja,
żaden język się od tamtej pory nie zmienił, więc tego nie rozwijam.

Czyli podsumowując podaj sensowny przykład, kiedy posługujesz się modułem
jako czarną skrzynką i nie jest to IDE. Przepraszam, ale do klas Javy aby
listować funkcje wystarczy doxygen nie potrzeba JVM (z wyjątkiem kiedy ktoś
dłubie przy setAccesible, ale metody sie niezmieniają co najwyżej ich
widoczność). 
Gorzej jest z Py, bo Py może we własnych słownikach chować wiele rzeczy,
czyli mogą istnieć rzeczy, których nie ma w polach ale są w słowniku i
są "dostępne inaczej", albo jak ktoś pisze program klasy z wykorzystaniem
funkcji for nadając nazwy zmienna_1, ..., zmienna_5.

Pozdrawiam.

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
 \/\/
Technical Details
Message-ID: <fi9hmg$dct$1@news.vectranet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhaj8u$e02$1@news.vectranet.pl> <fhf09d$ohq$1@bozon2.softax.pl> <fhfi9l$640$1@news.vectranet.pl> <fhurmu$5d9$1@bozon2.softax.pl> <fhv020$8k1$1@news.vectranet.pl> <fi1bs4$nn3$1@bozon2.softax.pl> <fi27ds$gt1$1@kujawiak.man.lodz.pl> <fi458p$fmv$1@bozon2.softax.pl> <fi9ckc$2u5$1@kujawiak.man.lodz.pl> <1195918508.27382.40.camel@qrnik>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
From: Seweryn Habdank-Wojewódzki <shw_mail@wp.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Ciemna strona C++
Date: Sat, 24 Nov 2007 17:12:16 +0100
Organization: VectraNET - http://www.vectranet.pl
Lines: 52
Message-ID: <fi9hmg$dct$1@news.vectranet.pl>
References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhaj8u$e02$1@news.vectranet.pl> <fhf09d$ohq$1@bozon2.softax.pl> <fhfi9l$640$1@news.vectranet.pl> <fhurmu$5d9$1@bozon2.softax.pl> <fhv020$8k1$1@news.vectranet.pl> <fi1bs4$nn3$1@bozon2.softax.pl> <fi27ds$gt1$1@kujawiak.man.lodz.pl> <fi458p$fmv$1@bozon2.softax.pl> <fi9ckc$2u5$1@kujawiak.man.lodz.pl> <1195918508.27382.40.camel@qrnik>
Reply-To: shw_mail@wp.pl
NNTP-Posting-Host: 078088193244.osw.vectranet.pl
Mime-Version: 1.0
X-Trace: news.vectranet.pl 1195919890 13725 78.88.193.244 (24 Nov 2007 15:58:10 GMT)
X-Complaints-To: usenet@news.vectranet.pl
NNTP-Posting-Date: Sat, 24 Nov 2007 15:58:10 +0000 (UTC)
User-Agent: KNode/0.10.5
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit