🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy

#272350
From: Seweryn Habdank-Wojewódzki
Date: Tue, 26 Feb 2008 19:05
105 lines
5289 bytes
Witam

Sebastian Nibisz wrote:

>>> Ułatwić, czyli skrócić czas powstawania aplikacji a jak wiadomo czas to
>>> pieniądź.
>>
>> O tak to ma sens, ale wszystko w ten sam sposób moge sprowadzić do
>> pieniędzy. Co więcej teorię przeciwną również.
> 
> Ale po co sobie utrudniac życie, dla frajdy?

Dla ustalenia uwagi. Nie mam nic przeciwko SGCL ani Śmieciuchowi, ani innemu
GC dla C++ i C.

Podkreślę moje stanowisko.

Zarówno Ty jak i Pan Karpierz oraz wszyscy lokalni Ajatollahowie GC :-)
znają i umieją pisać w C, C++ lub innych brzydkich językach !!!

Mając to w pamięci. Kiedy mówisz o zasobach w językach z GC używasz wzorca
projektowego "język C", czyli jezeli coś ma być napisane
alokując/zwalniając zasoby inne niż RAM mówisz: "Piszemy jak w C!". 
To jest użycie wzorca projektowego "język C".

Teraz postaw się w sytuacji (która mnie dotknęła) wytłumacz to przeciętnemu
koderowi języka z GC (i tylko jednego języka, bo tacy jednojęzykowcy są
tanii).

Co mu powiesz? Wyłożysz mu C? Ile to bedzie kosztować? Szkolenie z podstaw C
też kosztuje. Ja chętnie szkolę, ale czy to jest tanie -- nie sądzę?
Jest tańsze niż wykłady firm consultingowych, ale nadal nie jest tanie.

>>> Biorąc pod uwagę rosnącą w ostatnim czasie, popularność języków z
>>> wbudowanym systemem GC, jest coraz mniej obszarów w których pamięć aż
>>> tak bardzo trzeba szanować.
>>
>> A tą ilość/liczbę jak określasz? W liniach kodu, w sztukach sprzedanych
>> instalacji.
> 
> W ilościach nowych projektów tworzonych w języku C++. Od kilka lat,
> procentowo ta ilość systematycznie spada.

Aha. No ja na to patrzę przez inny pryzmat.

Metryka używalności:

        max ( liczba użytkowników, liczba instalacji )

Przykład: Amazon -- tak o sobie piszą:

Platform: Linux, Oracle, C++, Perl, Mason, Java, Jboss, Servlets

Przykład 2: Linux sam w sobie.

Przykład 3: Winsdows + M$ Office (+ .NET).

Ta metryka jest obiektywna dla starych programów również jak i dla nowych
rewelacyjnych języków dedykowanych np. VHDL, STL (dla PLC). 
Jeśli patrzysz na komórki, to mówisz Java, ale zapominasz, że poniżej Javy
jest C, który napędza to cudo. Co więcej to właśnie w C napisane są
kluczowe (ze względu na wydajność) kawałki kodu.

Kolejna metryka:

        Łańcuch utrzymywalności i rozwijalności: Ile procentowo linii kodu 
        z danej aplikacji (biblioteki) w danym języku jest używane po 3, 7 
        i 15 latach funkcjonowania.

Podkreślam w danej aplikacji i w danym języku.

Około 7 lat temu napisałem pierwsze linijki kodu "dla przemysłu" i patrzę z
tego punktu widzenia. 
Na SF powstaje całe dzikie mnóstwo projektów. I co z tego jeśli one równie
szybko giną co powstały.
Co więcej, bardzo ciekawy jest dla mnie Python. Język, który sam dla siebie
nie istnieje, zawsze ciągnie za sobą kogoś z grupy "ciężki kaliber", o tym
należy pamiętać -- uwaga: CPython jest wiodąca produkcją, a zatem język C
dostaje bonusowe punkty chociaż niby nikt go nie lubi i co więcej domyślnie
nie ma w nim GC, a Python ma GC. Zreszta guru Pythona zazwyczaj są guru C.

> To że istnieją niekompetentni programiści, nie jest w żadnym stopniu winą
> istnienia systemów GC.

NIE! Nie jest winą GC. 

GC dla ludzi znających C, C++ i języki bez GC jest istotnie obniżeniem
kosztów w sytuacji kiedy tego trzeba. Miałem osobiście przypadki kiedy
powodowało wzrost kosztów.

Dla ludzi, nie mających pojęcia o tym, może powodować drastyczny wzrost
kosztów w projektach korzystających z zasobów innych niż RAM na skutek nie
przewidzianych katastrof.

Podsumowując -- wiem, że są sytuacje kiedy GC może być wygodne, ale GC to
jest bardzo rozleniwiająca brzytwa -- generalnie goli elegancko, ale słabo
obeznani potrafią poderżnąc sobie i innym gardło. A nalezy pamiętać, że
określony kod jest uzywany zazwyczaj w zakresie 10 - 1000 razy większym
podwzględem zasobów niż przewidziane przez koderów obciążenie.

Pozdrawiam.

-- 
|\/\/|   Seweryn Habdank-Wojewódzki
 \/\/
Technical Details
Message-ID: <fq1mqa$kqq$1@news.vectranet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq0s58$jvv$1@inews.gazeta.pl> <fq0tjl$shn$1@news.vectranet.pl> <fq10ir$8nn$1@inews.gazeta.pl> <fq140s$2u6$1@news.vectranet.pl> <fq164t$3bl$1@inews.gazeta.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: [SGCL]
 Odśmiecania współbieżnego ciąg dalszy
Date: Tue, 26 Feb 2008 20:05:43 +0100
Organization: VectraNET - http://www.vectranet.pl
Lines: 106
Message-ID: <fq1mqa$kqq$1@news.vectranet.pl>
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq0s58$jvv$1@inews.gazeta.pl> <fq0tjl$shn$1@news.vectranet.pl> <fq10ir$8nn$1@inews.gazeta.pl> <fq140s$2u6$1@news.vectranet.pl> <fq164t$3bl$1@inews.gazeta.pl>
Reply-To: shw_mail@wp.pl
NNTP-Posting-Host: 078088193244.osw.vectranet.pl
Mime-Version: 1.0
X-Trace: news.vectranet.pl 1204051594 21338 78.88.193.244 (26 Feb 2008 18:46:34 GMT)
X-Complaints-To: usenet@news.vectranet.pl
NNTP-Posting-Date: Tue, 26 Feb 2008 18:46:34 +0000 (UTC)
User-Agent: KNode/0.10.5
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit