Article View: pl.comp.lang.c
Article #267702Re: Ciemna strona C++
From: Seweryn Habdank-Wojewódzki
Date: Wed, 21 Nov 2007 19:43
Date: Wed, 21 Nov 2007 19:43
103 lines
4889 bytes
4889 bytes
Witam Sebastian Kaliszewski wrote: >> A błąd wynika, z >> faktu, że statycznie Pan F. przekazuje tablicę obiektów foo, > > Nie. A tak. Proszę wróć do tego slajdu i zobacz co kolo robi. >> a pobiera >> wskaźnik do obiektów bar -- tam wykonuje ordynarne rzutowanie. > > Nie wykonuje żadnego rzutowania. W C++ do zwykłej funkcji *nie można* > przekazać tablicy. Statycznie przekazuje wskaźnik i to jest tego efekt. Oh i ah, jaki on wielki. A mnie się udało to zrobić poprawnie, bo jestem tylko zwykły zjadacz chleba i wolę cieszyć się pozytywami ;-P. Pytanie kontrolne: Czemu w Javie, C#, C i C++ są "ichnie" GUI, a np. taki Python nie ma swojego? Jak jest taki wielki to niech ma. Już widzę prędkość światła, odświeżanie okienek 50 fps. Themesy, ikony 3D, zbiór emotek dla end-users równie obszerny jak utf, 3D menu, okienka rzucają cienie, wszystko jest elegancko konfigurowalne z poziomu prawdziwego Pythona. Szkoda tylko, że psyco ma kłopoty z 64-bit :-(, bo może istniałby cień szansy, aby Py miał swoje własne GUI. >> Tymbardziej, >> że po dodaniu szablonowego parametru program działa poprawnie, czyli >> kompilator dobrze wie jakiego typu jest przekazywana tablica. > > Wie tylko czasem. Ren trick z szablonem ma jedną zasadniczą wadę -- można > przekazać tylko i wyłącznie tablicę której rozmiar jest znany (co C++ > stara się maksymalnie utrudnić) Bajka, ja przekazuję typ poprzez wskaźnik, tylko że umnie typ jest poprawnie identyfikowany. Popracuj z tym kodem to zobaczysz jak działa. Tablica może mieć zmienny rozmiar. > i dla każdego rozmiaru tablicy jest osobna > instancja szablonu Bzdura! Tam jest wskaźnik. > (czyli niesamowite marnotrastwo). Czyli to jest mało > użyteczny trick. To jest to, że nawet nie masz ochoty przeczytać uważnie co napisałem, co podałem, bo tak jak Pan F. na siłę udowadniasz wady, zamiast szukać zalet. Wiesz. Ostatnio jeden człowiek powiedział, że dziecinadą jest pisanie w Asemblerze. Jak myślisz czy on ma rację? No z punktu widzenia łepmajsterów -- łebmajsterkowiczów również -- to jest dziecinada. Teraz sam sobie odpowiedz na pytanie czy to dziecinada. Jeśli to dziecinada, to żyjemy w całkiem innych światach, jeśli nie to oboje wiemy, że zarówno na Asm, C i C++, Fertran jest miejsce w świecie. A jeśli jest i ma sens je gdzieś używać, to należy je używać z uwzględnieniem specyfiki i niebezpieczeństw. Pytanie kontrolne. Jak w Pythonie wykorzystasz ficzery SSE3? A może Python sam z siebie oferuje funkcje używające SSE3? >> Jednak >> pomimo, że kompilator to wie, Pan F. wymusza rzutowanie, to jest błąd >> Pana F. > > Język pomyślany jest tak, żeby w większości praktycznych sytuacji > kompilator nie wiedział. Czego? U mnie kompilator wie co za durne kawały płata Pan F, szablon elegancko wpasowuje się w jego kretyński przykładzik i uwalnia go od błędów. >> W żadnym języku z mi znanych takie coś nie przechodzi. > > Jakto? Przechodzi w C i w C++. Dorzucam Asm. Licytujesz się dalej? Może Fortran? Poczytałeś o pakiecie fpconst dla Pythona? Zobaczyłeś tam "power" rzutowania? Mnie bardzo cieszy takie cos jak tam pokazano, czy Ciebie też? Pozdrawiam. Ps. Chętnie wrócę do tematu kasowania metod w Pythonowych klasach. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Technical Details
Message-ID:
<fi20va$5ud$1@news.vectranet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.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> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl>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: Wed, 21 Nov 2007 20:43:54 +0100 Organization: VectraNET - http://www.vectranet.pl Lines: 104 Message-ID: <fi20va$5ud$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> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl> Reply-To: shw_mail@wp.pl NNTP-Posting-Host: 078088193244.osw.vectranet.pl Mime-Version: 1.0 X-Trace: news.vectranet.pl 1195673387 6093 78.88.193.244 (21 Nov 2007 19:29:47 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Wed, 21 Nov 2007 19:29:47 +0000 (UTC) User-Agent: KNode/0.10.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit