🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Ciemna strona C++

#267699
From: Seweryn Habdank-Wojewódzki
Date: Thu, 15 Nov 2007 13:04
47 lines
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-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>

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