🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Ciemna strona C++

#268137
From: Seweryn Habdank-Wojewódzki
Date: Thu, 08 Nov 2007 15:41
63 lines
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-mail
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>

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