Article View: pl.comp.lang.c
Article #267830Re: Ciemna strona C++
From: Sektor van Skijlen
Date: Wed, 05 Dec 2007 16:07
Date: Wed, 05 Dec 2007 16:07
63 lines
4547 bytes
4547 bytes
Dnia Tue, 04 Dec 2007 16:16:50 +0100, Seweryn Habdank-Wojewódzki skrobie: > Witam > Sektor van Skijlen wrote: > Trochę się już pogubiłem w wątku, ale ... > >> - Dostać się do prywatnych składników obiektu albo modułu. > > > > Tego to chyba w żadnej refleksji nie można :) > Np. w Javie jest metoda setAccesible(Boolean) i ona pozwala w każdej klasie > ustawić dostępność prywatnej metody poprzez zapodanie true jako argument. A, tego że można modyfikować kod w czasie wykonywania, to nie wiedziałem. > Krótko mówiąc prywatność w Javie jest taką samą kwestią jak w Py -- szacunek > kodera, a nie sprawa języka/kompilatora. W C i C++ tak nie jest, kompilator > (np. gcc, ale też inne) zarówno C jak i C++ pozwala module określić co jest > widziane na zewnątrz, a co nie. I do tego optymalizatory tak "kaszanią" > kod, że interfejs mający 3 metody posiada 9 funkcji o nazwach np. fun001. Nie znam takich, ale może i mało widziałem :) > I wracając do tytułu wątku, czy ta opcja J jest ciemną stroną refleksji, czy > jaśniejącą gwiazdą zaranną? To zależy :) > >> To, co można, wystarcza np. do tego, żeby interpreterowi Pythona > >> udostępnić funkcjonalność danego modułu Koguta (tudzież zbioru modułów) > >> bez konieczności listowania zawartości tego modułu. Obecnie trzeba > >> jednak statycznie zaimportować ten moduł, tzn. nie można znaleźć go > >> z poziomu Pythona znając dynamicznie jego nazwę. > > > > No ale czy do tego nie potrzebowałeś czasem dorobić odpowiedniej > > przystawki do tego w Pythonie? > Oba języki są dynamiczne, więc można robić co się podoba. W szczególności w > Py można sobie wszystko napisać w locie, dodawać zmienne, whatever. Wydaje > mi się, że Kogut jest o wiele bardziej restrykcyjny. No, jak najbardziej, natomiast problemy mogą się pojawić np. na etapie zgodności typów. > Interesuje mnie podobna dyskusja jak Koguta spiąć z JVM, tudzież z C#, oba > statyczne, oba mają VM, C# ma VM? Od kiedy? > C# ma możliwość bindingsów typu C, Java, cóż wszyscy kochają JNI :-). Taaa... już ja słyszałem, jak "kochają". Zależy w którą stronę chcesz podpinać. Bibliotekę kogutową można skompilować do DLL-ki, a potem interfejs systemowy. Gorzej w drugą stronę, ale być może sprawy systemowe są wystarczająco wyodrnione. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethouris(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "Java is answer for a question that has never been stated"
Technical Details
Message-ID:
<fj6ic3$mij$1@kujawiak.man.lodz.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.man.lodz.pl!not-for-mailReferences:
<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> <fiee2a$af0$1@kujawiak.man.lodz.pl> <1196084612.2991.60.camel@qrnik> <fj3el2$j5u$1@kujawiak.man.lodz.pl> <fj3q5a$kvh$1@news.vectranet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.lang.c
Subject: Re: Ciemna strona C++
Date: Wed, 5 Dec 2007 16:07:31 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 63
Sender: Michal Malecki <sektor@student.kis.p.lodz.pl>
Message-ID: <fj6ic3$mij$1@kujawiak.man.lodz.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> <fiee2a$af0$1@kujawiak.man.lodz.pl> <1196084612.2991.60.camel@qrnik> <fj3el2$j5u$1@kujawiak.man.lodz.pl> <fj3q5a$kvh$1@news.vectranet.pl>
NNTP-Posting-Host: student.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1196870851 23123 212.191.89.21 (5 Dec 2007 16:07:31 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Wed, 5 Dec 2007 16:07:31 +0000 (UTC)
User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (FreeBSD/6.2-RELEASE-p3 (sparc64))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit