🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Ciemna strona C++

#267702
From: Seweryn Habdank-Wojewódzki
Date: Wed, 21 Nov 2007 19:43
103 lines
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-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> <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