Article View: pl.comp.lang.c
Article #268137Re: Ciemna strona C++
From: Seweryn Habdank-Wojewódzki
Date: Thu, 08 Nov 2007 15:41
Date: Thu, 08 Nov 2007 15:41
63 lines
3557 bytes
3557 bytes
Witam
Sebastian Kaliszewski wrote:
>> A tu skąd kompilator ma wiedzieć, że skok iteratora z pozycji [0] do [1]
>> wynosi 8 a nie 4?
>> Podany był w deklaracji bar, a bar ma rozmiar 4.
>
>
> Skutek sp*pnego projektu języka. Jakby tablica nie była konwertowalna do
> wskażnika na jej pierwszy element to by nie było problemu.
Sebastian spójrz prawdzie w oczy. C++ powstał kiedy C był królem. Późniejsze
języki z miłą chęcią zgarnęły wszystkie doświadczenia ++ zarówno te dobre
jak i te złe. Wyjaśnij mi proszę fakt, czemu Smalltalk przeszedł do
historii, z ten badziewny C++ nie?
Zawrapowanie C było jego mocną stroną. Dziś ludziska mogą wybierać i
przebierać i mogą sobie łączyć języki jak im się podoba. Kiedyś tak nie
było!!! trzeba było osadzić język na mocnych podstawach innego języka, aby
to miało ręce i nogi. Zresztą dlaczego J ma "{"?
>> Kompilator wykonuje dokładnie to co Pan Felix chciał. Może Pan Felix
>> powinien użyć zamiast bar *, bar **?
>
> Kompilator realizuje źle zaprojrktowany język. W źle zaprojektowanym
> języku kaszana jest na porządku dziennym.
Kaszana to jest w tym PDF, tam nie ma jednego kodu w typowym stylu ++.
To są potworki napisane przez C-geeka, które niczemu nie służą.
Odpowiedz mi na jedno pytanie, czy taki kod masz w swoich kawałkach w C++?
Ja nie mam, jeśli to nie jest podyktowane jakimś mocnym argumentem za i
czasami mam tak kiedy wrapuję bibliotekę C i kod który ją owija czasem jest
syfiasty, bo np. biblioteka posługuje się void* (*) (void*). BTW wtedy
znienawidzone przez Was szablony to jedyne sensowne narzędzie sprzątające
taki gniot.
>> W C++ takie "cóś" bardziej elegancko
>> robi się używając vector < smart_ptr <bar> >. Jak chce mieć stały rozmiar
>> polecam boost::array.
>>
>> Używanie polimorfizmu albo trzeba robić, jak to przystoi na wysokim
>> poziomie np. używając kontenery zamiast tablic i smart pointery a nie
>> wskaźniki.
>>
>> Albo należy spodziewać się klapsa to tu to tam, kiedy ktoś dziubie kod
>> ala C.
>
> Co to znaczy ala C? To jest właśnie skutek kulawego języka.
Zamiast tego kodu pracowałbym na vector < smart_ptr<bar> >.
Cieszę się, że ++ jest kulawy. Chociaż raczej określiłbym go jako taki co ma
trzecią nogę w postaci "C". I jak ktoś nie umie chodzić na 3 nogach to ma
problem, ale ten co umie chodzić na 3 nogach może mieć przewagę nad tymi do
chodzą na 2.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
\/\/
Technical Details
Message-ID:
<fgv9u6$jm0$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> <20071106002442.aebf0037.sulsa@dontmail.me> <fgqpbs$9cu$1@news.vectranet.pl> <20071107012633.3efe623d@Vorago> <fgtc67$orn$1@news.vectranet.pl> <fgv710$kde$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: Thu, 08 Nov 2007 16:41:32 +0100 Organization: VectraNET - http://www.vectranet.pl Lines: 64 Message-ID: <fgv9u6$jm0$1@news.vectranet.pl> References: <fghgeo$spf$1@nemesis.news.tpi.pl> <20071106002442.aebf0037.sulsa@dontmail.me> <fgqpbs$9cu$1@news.vectranet.pl> <20071107012633.3efe623d@Vorago> <fgtc67$orn$1@news.vectranet.pl> <fgv710$kde$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 1194535686 20160 78.88.193.244 (8 Nov 2007 15:28:06 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Thu, 8 Nov 2007 15:28:06 +0000 (UTC) User-Agent: KNode/0.10.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit