Article View: pl.comp.lang.c
Article #267699Re: Ciemna strona C++
From: Seweryn Habdank-Wojewódzki
Date: Thu, 15 Nov 2007 13:04
Date: Thu, 15 Nov 2007 13:04
47 lines
3720 bytes
3720 bytes
Witam Sebastian Kaliszewski wrote: > Seweryn Habdank-Wojewódzki wrote: >> Ale wracając do zadania, w innym miejscu tego wątku podałem rozwiązanie >> tego zadania utrzymując konwencję tablic i całego ich spadku. > > W dobrym języku problemu po prostu nie ma. Bo tablica to tablica a > wskaźnik to wskaźnik Nie kapuję. Narazie obserwuję, że języki generalnie chowają to wszystko do jednego wora jedni mówią o referencjach (mając na myśli wskaźniki) inni o magii (mając na myśli wskaźniki). Tablice, cóż działają jak jak kontenery wysokiego rzędu, albo zgoła w takich językach nie ma tablic. >> Już nie ma żadnych problemów, a Pana F. nadal uważam za dywersanta i >> mąciwodę. > > Bo wytyka oczywistę błedy projektu języka :) Błędy może są oczywiste (dla mnie nie), ale to co jest dla mnie oczywiste, to bardzo dziwna konstrukcja przykładów, daleko odbiegająca od standardów pisania programów w C++. Tymbardziej, że jak widzisz np. dołożenie jednej linii do przykładu na slajdzie 47 leczy go całkowicie. A błąd wynika, z faktu, że statycznie Pan F. przekazuje tablicę obiektów foo, a pobiera wskaźnik do obiektów bar -- tam wykonuje ordynarne rzutowanie. Tymbardziej, że po dodaniu szablonowego parametru program działa poprawnie, czyli kompilator dobrze wie jakiego typu jest przekazywana tablica. Jednak pomimo, że kompilator to wie, Pan F. wymusza rzutowanie, to jest błąd Pana F. W żadnym języku z mi znanych takie coś nie przechodzi. W Javie nie ma innego polimorfizmu jak dynamiczny, w C# również. Python (to w ogóle jest język dynamiczny). Tak więc nadal podtrzymuję tezę, że nawet jeśli to jest błąd języka, to przykład jest daleki od poprawności zarówno podwzględem stylu pisania, jak i użytych technik. Co więcej przykład ten w sumie jeszcze bardziej przekonuje mnie, że kompilatory powinny mieć silny system ostrzegania, kiedy user wykonuje niejawne rzutowanie. Prawdę mówiąc nie testowałem, ale ciekawy jestem jak ten przykład zachowałby się przy zastosowaniu explicit_t<>. Spodziewam się jednak, że obrzuciłby Pana F. błotem -- oczywiście miałby Pan F. kolejny przykład na długość błędów np. wypisywane przez gcc. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Technical Details
Message-ID:
<fhhfae$bj$1@news.vectranet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.task.gda.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>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.task.gda.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: Thu, 15 Nov 2007 14:04:10 +0100 Organization: VectraNET - http://www.vectranet.pl Lines: 48 Message-ID: <fhhfae$bj$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> Reply-To: shw_mail@wp.pl NNTP-Posting-Host: 078088193244.osw.vectranet.pl Mime-Version: 1.0 X-Trace: news.vectranet.pl 1195131022 371 78.88.193.244 (15 Nov 2007 12:50:22 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Thu, 15 Nov 2007 12:50:22 +0000 (UTC) User-Agent: KNode/0.10.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit