Article View: pl.comp.lang.c
Article #272384Re: Odśmiecania współbieżnego ciąg dalszy
From: Maciej Sobczak
Date: Wed, 27 Feb 2008 14:42
Date: Wed, 27 Feb 2008 14:42
80 lines
5607 bytes
5607 bytes
On 27 Lut, 14:39, "Sebastian Nibisz" <EB...@poczta.onet.pl> wrote: > >> Faktem jest, że restrykcje dotyczące zużycia przez aplikacje pamięci, są > >> dzisiaj znacznie mniejsze niż kiedyś. > > > To prawda, ale dotyczy to tylko części rynku oprogramowania. Dotyczy > > aplikacji > > standalowych oraz aplikacji webowych, nie dotyczy jednak aplikacji na > > systemach wbudowanych. > > Z tego co zauważyłem, to i w niektórych systemach wbudowanych znika powoli > problem z ilościa dostępnej pamięci. Nie rozumiem tego powyżej. Co to znaczy, że gdzieś znika problem z ilością pamięci? Nigdzie nie znika. Kupuje się większy hardware po to, żeby na nim puszczać większy software. Problemu pamięci to nie rozwiązuje, jedynie pozwala dalej ślizgać się po krawędzi. Ja problemy z pamięcią widzę zarowno na płytach z 64MB jak i z <put-your-favorite-number>GB, bo po prostu chodzą na nich różne systemy, które mają różne wymagania. Tak samo nie ma sensu mówić, że autobusy rozwiązują problem samochodów osobowych z ilością miejsc dla pasażerów. Kto stał w tłoku w szczycie zrozumie. Inaczej: dla każdej ilości pamięci istnieją programy, które się w niej nie mieszczą. Problem nigdzie nie "znika". Co więcej, większe programy są pisane również po to, żeby wykorzystać okazje stwarzane przez większy hardware. Kręcimy się tak od kilku dekad - każdego roku ktoś z radością ogłasza, że problem pamięci lub CPU lub dysków itd. "znika", bo oto np. firma X wyprodukowała dysk twardy o zawrotnej pojemności 80MB (megabajtów), i teraz ludzie w ekstazie nie mają pomysłu, co tam trzymać. Całą walizkę dyskietek 5.25" można tam zmieścić. Łał. Bilu też kiedyś myślał, że 640kB każdemy wystarczy - a dzisiaj Visty poniżej 2GB nie ma po co nawet uruchamiać. Pytam się więc - co to znaczy, że problem z pamięcią znika? > >> Faktem jest, że język C++ się praktycznie nie rozwija Język C++ rozwija się na dwóch płaszczyznach, z dwoma różnymi prędkościami. Jedna płaszczyzna to definicja języka, czyli standard - tempo rozwoju to jedna iteracja na dekadę. Czy to wolno? Moim zdaniem akurat - przemysł ledwo nadąża z wymianą kompilatorów w tym tempie. Hint: przemysł to nie jest koleś z laptopem i Ubuntu aktualizowanym z automatu. Druga płaszczyzna to biblioteki i narzędzia orbitujące (np. generatory kodu). To się rozwija dużo szybciej i spokojnie pozwala na przedłużenie życia C++ w dowolnym obszarze. Hint: nie potrzeba było zmieniać standardu, żeby pojawił się przykładowy Boost. > >> i że jeżeli taki > >> stan > >> się utrzyma, będzie wiódł prym lidera tylko do czasu. C++ nie wiedzie prymu lidera, bo nie musi. To jest język, który świetnie się sprawdza w wymagających zastosowaniach i nie musi być na topie popularności we wszelkich innych. Wracając do GC - sam GC nie jest problemem. Problemem jest sytuacja, w której twórca języka po wrzuceniu do niego GC otrzepuje ręce i oznajmia, że wszystkie problemy rozwiązał. Efekty takiej amatorszczyzny widać w Javie, gdzie np. w tutorialu dla początkujących co chwila jest wołami przypominane, jakie to ważne, żeby zawsze zamykać strumienie i inne takie. I to jeszcze w odpowiedniej kolejności. W XXI wieku to jest po prostu *żenujące* (chociaż początkujący czytelnicy akurat tego nie zauważą), niezależnie od dostępnych gigabajtów. To jest też dowód na to, że w Javie GC więcej problemów pozostawił, niż rozwiązał. Dodanie GC do C++ może przedłużyć mu życie w wielu obszarach. A ponieważ wiadomo, że tak się właśnie stanie, to nie ma po co ogłaszać zgonu. Co ciekawe, dodanie GC do C++ jest dużo łatwiejsze, niż dodanie sensownego systemu zarządzania czasem życia obiektów w Javie. Nie podejmuję się prorokować, jak będą wyglądały rankingi języków za ~5 lat - ale wiem, że będą ciekawe. -- Maciej Sobczak * www.msobczak.com * www.inspirel.com
Technical Details
Message-ID:
<1d522c1c-c339-4c26-a2ee-5621dd0e4883@e23g2000prf.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!e23g2000prf.googlegroups.com!not-for-mailReferences:
<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> <fq1r6d$586$1@kujawiak.man.lodz.pl> <fq3b1p$i9b$1@inews.gazeta.pl> <fq3g89$362$1@kujawiak.man.lodz.pl> <fq3p6m$mk9$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!e23g2000prf.googlegroups.com!not-for-mail From: Maciej Sobczak <see.my.homepage@gmail.com> Newsgroups: pl.comp.lang.c Subject: Re: Odśmiecania współbieżnego ciąg dalszy Date: Wed, 27 Feb 2008 06:42:29 -0800 (PST) Organization: http://groups.google.com Lines: 101 Message-ID: <1d522c1c-c339-4c26-a2ee-5621dd0e4883@e23g2000prf.googlegroups.com> 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> <fq1r6d$586$1@kujawiak.man.lodz.pl> <fq3b1p$i9b$1@inews.gazeta.pl> <fq3g89$362$1@kujawiak.man.lodz.pl> <fq3p6m$mk9$1@inews.gazeta.pl> NNTP-Posting-Host: 85.3.255.124 Mime-Version: 1.0 X-Trace: posting.google.com 1204123350 10725 127.0.0.1 (27 Feb 2008 14:42:30 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 27 Feb 2008 14:42:30 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: e23g2000prf.googlegroups.com; posting-host=85.3.255.124; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit