🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #16382

Re: Typ należący do parametru template'a (czyli STL w parametrze)

#16382
From: Seweryn Habdank-Wojewódzki
Date: Tue, 10 Apr 2007 14:59
152 lines
7292 bytes
Witam

Adam Karpierz wrote:

> Użytkownik "Seweryn Habdank-Wojewódzki" <habdank@n0-5p4m-gmail.com>
> napisał:
> 
>>> 1. brak smieciarki
>>
>> W samym języku tak. Znam dwie smieciarki dla C++ i jedną
>> dla C czasami uznawaną jako możliwą do włączenia do C++.
> 
> Zna Pan jakas _standardowa_ i jakas _pewna_ ?

Standardowej to nie ma, bo jak Pan zauważył GC nie jest zawarte jako
standard w C++.

Są m.in. takie jak Śmieciuch [1] i SGCL [2].

> Taka np thread-safe ?
> Ale nie tak "thread-safe' jak _standardowa biblioteka_ std::. ;)

A tak a'propo to w jakim języku wszystko jest thread-safe i jeszcze do tego
wydajne? 

>>> 2. chory niskopoziomowy przydzial pamieci na stosie
>>> 3. chory niskoposiomowy przydzial pamieci w heap
>>
>> W kontekście 1. te punkty są bezzasadne, a w szczególności słowo "chore".
>> Jeżeli używa Pan śmieciarek, to słowo "chore" jest moim zdaniem nie na
>> miejscu, ale to jest kwestia gustu z którym nie ma zwyczaju dyskutować.
> 
> Gustu ?
> Chyba Pan zartuje.
> To kwestia kompletnej nieuzytecznosci takich
> przydzialow w programowaniu _realnym_,
> ze o glownym zrodle bledogenosci nie wspomne.

Rozumiem, czy jednak jedynymi błędami w programach są przydzielanie i
zwalnianie pamięci? IMHO nie. Już nie wspomnę o błędach logicznych.
Pomijam też sprawę błędów polegających na literówkach, które są trudno
identyfikowalne w językach dynamicznych jak Perl. Program działa, ale jakoś
dziwnie źle.

>>> 4. sp.. referencje wlasnie za brak siegniecia do dobrych
>>>     i juz istniejacyh lata wzorcow w sensie wspolistnienia
>>>     swiata "wartosciowego' ze swiatem "referencyjnym"
>>
>> Tak tu przyznaję rację, chociaż są pewne sytuacje, kiedy to ma
>> znaczenie np. bezpieczne napełnianie kontenerów.
> 
> Nie rowumiem ?
> Co niby jest takiego w skopanych referencjach C++
> (ktore defacto sa prymitywnymi wskaznikami, majacymi 0
>  wspolnego ze smart, gc itp) ktore je czyni ponad te z Simuli
> w przypadku kontenerow ?

A czy ja powiedziałem, że czyni je ponad te z Simuli! W ogóle niech mi Pan
nie imputuje, że cokolwiek powiedziałem złego na Simulę. Generalnie uważam,
że powstałe dawno temu języki, poprzez to, że myślano o nich nie tylko na
metry kodu, ale na papierze były lepiej przemyślane niż dzisiejsze - patrz
PHP.

>> Introspekcja?
> 
> Co to jest ?

Sobistość obiektu? :-) Samoświadomość obiektu?
 
> Z innych tematow:
> 
> Zna Pan moze w C++ jakis _standardowy_ mechanizm
> programowania procesow/zadan wspolbieznych ?

Nie ma standardowego, bo inaczej to się robi na DSP, a inaczej na Cray, a
jeszcze inaczej na klastrze opartym o Mosix. Więc standardowość byłaby za
pewne nie wskazana. Coś i tak gdzieś by nie działało, albo goście z Craya
byliby nie zadowoleni z narzuconego minimalizmu, który wymusza DSP. 

Pytałem ostatnio o platformy docelowe Ady i okazało się, że jest jakiś DSP,
który pozwala na użycie Ady. Jednak nie był on możliwy dla mnie do
rozważenia z powodu pewnych innych parametrów, które nie odpowiadały.

> Jak Pan chce uzyskac w C++ to co jest w Simuli czy w Adzie ?

Tu ma Pan rację. Te języki natywnie wspierają takie sprawy. Jednak nie widzę
tylu docelowych platform co dla C++, aby można było wskazać, że jedno
standardowe podejście jest słuszne.

Np. moje ostatnie doświadczenie jest takie, że czasem lepsze od wątków są
procesy. A dokładniej program, który jest równoległy w sensie działania
różnych (swoich) procesów.

I tego nie oferują wszystkie języki jako standard, czy to obliguje mnie do
pejoratywnej ich oceny? Chyba nie. Więc akurat istnienia takiego
wyposażenia jako standardu nie wymagam, tak jak wątków nie wymagam. 

Wolę mieć pulę dostępnych rozwiązań i wybrać sobie jedno (np. [3][4][5][6
[7][8]), niż mieć w standardzie i patrzeć na nie jak na prawdę objawioną. 

To samo dotyczy biblioteki STL. Jak mi nie odpowiada to jej nie używam, bo
są jej różne implementacje. Szczególnie ciekawa i użyteczna jest
http://stxxl.sourceforge.net/.

> Te jezyki maja ponad i prawie pol wieku a Pan mi chce wmowic
> ze jezyk ktory nie ma ustandaryzowanego _zadnego mechanizmu
> wspolbieznosci_ (a jeden z jego Guru wyraznie dowodzi ze w
> C++ nie da sie uzyskac pewnosci w programach wspolbieznych)
> ma byc kurde nowoczesny i mainstream ?

A czy one są w mainstream i czy są nowoczesne?
 
>> Rozumiem, że Simula będąc językiem kompilowalnym stoi
>> w kontekście dynamizmu po tej samej stronie co C++.
> 
> Chyba Pan zartuje !.
> Algol czy Simula ze swoim call by name do prymitywizmu
> wartosciowego C++ ?

Jakoś nie widzę przykładów dodawania do obiektów metod czy pól w locie tak
jak to jest możliwe w Pythonie. Ale może znowu żartuje.
 
>> A tak w ogóle to czemu Pan porównuje C++ do Simuli?
> 
> Bo sie C++ uwaza np na pl.comp.lang.c za sukcesora i "poprawiacza"
> Simuli a to wielkie g.. prawda.

No może się tak uważa - ja tak nie twierdzę. Tak samo jak nie twierdzę, że
Java jest lepszym Smalltalkiem.

> To najwyzej jakis bekart inzynierii oprogramowania ktoremu sie
> najwyrazniej matki pomylily (a raczej ojcowie - assembler).

I Pan mi usiłuje powiedzieć, że nie posługuje się Pan pejoratywnymi
określeniami względem C++? Niech Pan zacznie być dorosły!

Pozdrawiam.

[1] http://smieciuch.sourceforge.net/
[2] http://sourceforge.net/projects/sgcl
[3] http://www.boost.org/doc/html/threads.html 
[4] http://zthread.sourceforge.net/documentation.html
[5] http://www.dinkumware.com/manuals/?manual=compleat&page=index_thr.html
[6] http://www.llnl.gov/computing/tutorials/pthreads/
[7] http://msdn2.microsoft.com/en-us/library/975t8ks0(VS.80).aspx
[8] http://msdn2.microsoft.com/en-us/library/ms693421.aspx

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
 \/\/

To reply remove "n0-5p4m-" from e-mail address.
Technical Details
Message-ID: <evg8sf$vr0$1@tkdami.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!uw.edu.pl!newsgate.cistron.nl!xs4all!feeder.news-service.com!194.186.254.21.MISMATCH!newsfeed.gamma.ru!Gamma.RU!teleglobe.net!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mail
References: <slrnf1kjcu.ave.lrem@lrem.maxnet> <evdlhb$f4p$1@inews.gazeta.pl> <slrnf1kuam.ave.lrem@lrem.maxnet> <evdu5j$341$3@tkdami.pl> <eve1rq$2sk$1@inews.gazeta.pl> <evfipj$b8r$1@tkdami.pl> <evfk7p$bus$1@inews.gazeta.pl> <evfnv7$h5j$1@tkdami.pl> <evfpaj$675$1@inews.gazeta.pl> <evfvr3$nst$1@tkdami.pl> <evg14r$e4f$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!uw.edu.pl!newsgate.cistron.nl!xs4all!feeder.news-service.com!194.186.254.21.MISMATCH!newsfeed.gamma.ru!Gamma.RU!teleglobe.net!newsfeed.tpinternet.pl!news.tkdami.net!news.tkdami.pl!not-for-mail
From: Seweryn Habdank-Wojewódzki <habdank@n0-5p4m-gmail.com>
Newsgroups: pl.comp.objects
Subject: Re: Typ należący do parametru template'a
 (czyli STL w parametrze)
Date: Tue, 10 Apr 2007 16:59:57 +0200
Organization: VectraNet Oswiecim
Lines: 152
Message-ID: <evg8sf$vr0$1@tkdami.pl>
References: <slrnf1kjcu.ave.lrem@lrem.maxnet> <evdlhb$f4p$1@inews.gazeta.pl> <slrnf1kuam.ave.lrem@lrem.maxnet> <evdu5j$341$3@tkdami.pl> <eve1rq$2sk$1@inews.gazeta.pl> <evfipj$b8r$1@tkdami.pl> <evfk7p$bus$1@inews.gazeta.pl> <evfnv7$h5j$1@tkdami.pl> <evfpaj$675$1@inews.gazeta.pl> <evfvr3$nst$1@tkdami.pl> <evg14r$e4f$1@inews.gazeta.pl>
Reply-To: habdank@n0-5p4m-gmail.com
NNTP-Posting-Host: 82.139.21.12
Mime-Version: 1.0
X-Trace: tkdami.pl 1176217295 32608 82.139.21.12 (10 Apr 2007 15:01:35 GMT)
X-Complaints-To: usenet@news.tkdami.pl
NNTP-Posting-Date: Tue, 10 Apr 2007 15:01:35 +0000 (UTC)
User-Agent: KNode/0.10.4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit