Thread View: pl.comp.objects
83 messages
83 total messages
Page 1 of 2
Started by Aleksander Galicki
Sun, 19 Mar 2006 20:12
Page 1 of 2 • 83 total messages
C++0x...
Author: Aleksander Galicki
Date: Sun, 19 Mar 2006 20:12
Date: Sun, 19 Mar 2006 20:12
97 lines
5179 bytes
5179 bytes
Ten jezyk 21 stulecia bedzie w 2009...
A tak wyglada dosc typowa reakcja http://beust.com/weblog/archives/000374.html
"I recently attended a presentation of C++0x by Bjarne Stroustrup. It wasn't
pretty.
C++0x is the next version of the C++ specification and it's scheduled to be
final in 2009. Yes, you read that right: 2009.
"Well, okay, I guess that with such a distant deadline, the changes to C++ are
going to be completely revolutionary, right?"
Right?
Not really.
If you are a hardcore C++ developer, I'm sure you will welcome these
modifications, but anyone with a simple passing (or forced) interest in C++
will be less than impressed and will probably shrug the whole effort away and
go back to using gcc while avoiding templates because they are still buggy in
that implementation.
So,
what's going on with C++? Here is a quick rundown (obviously not exhaustive).
Make the language easier for beginners, for example by providing easy ways to
convert ints to strings.
Get rid of the maddeningly mandatory space required between ">" signs for
templates. It's about time users, and not compiler authors, got the last word
on that one.
Scoped macros, one of my favorite features: you can now clearly delineate
where your macros apply and when they become undefined with... well, macros
(#scope / #endscope). The intent is noble, but rescoping existing macros is
probably not going to happen, so this change will only benefit new macros.
"Admit the GC as a valid implementation technique". I am quoting this directly
from Stroustrup's slides because the phrasing is too precious. It looks like
there is something to learn from "next generation languages" (Java, C#) after
all...
ype inference, woohoo! In C++0x, variables can declared with auto. Now we're
talking 21st century.
Better runtime type information, dubbed XTI ("Extended Type Information").
Reflection for C++... Well, as much as possible anyway.
Template typedefs. A long overdue good idea that will make templates (and
related errors) a tad more readable.
As you can see, nothing that is really going to help C++ programmers raise the
level of abstraction where they are currently stuck: no closures, no LINQ, no
new keywords, and still this unavoidable exposure to all these low-level
details that fewer and fewer people care for these days. Why do I even need to
know about the existence of iterators when all I want is to work on every
element of a collection?
I wrote my last line of C++ about nine years ago, so my exposure to Java, C#
and Ruby these past years has undoubtedly made me very biased, but I have to
say I found all the snippets of code that Bjarne showed absolutely dreadful to
read. Coding conventions have never been the forté of C++ programmers, but
with the advent of templates, partial specialization, traits and other advanced
programming techniques, C++ code has become a terrible alphabet soup mixing
lower case, upper case, all caps, camel case, *, & and [] and const appearing
sometimes left and sometimes right, underscore sometimes followed by a capital,
other times by a lowercase character or an all-caps word, etc...
Now, to be fair, you need to remember that from day one, C++ has been submitted
to extremely strict constraints that have had a very strong impact on its
design. I certainly give credit to Bjarne and the C++ committee (which I used
to be a part of) for never forgetting their users and keeping in mind that
breaking the slightest feature in the language will result in millions of lines
of code breaking across the planet.
Having said that, it's becoming increasingly clear to me that C++ is turning
into a niche language, and if you want to start a new project, you'd better
have some very good reasons to pick C++. Chances are very good that Java, C#
or Visual Basic will fit the bill in 99% of the cases.
Good bye, C++. I'm looking forward to reusing my C++ brain cells for concepts
that will help me tackle the software challenges of the next twenty years as
opposed to not forgetting to insert a space in my code or remembering to free
the memory that I'm not even sure I allocated in the first place."
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: A..L.
Date: Sun, 19 Mar 2006 22:40
Date: Sun, 19 Mar 2006 22:40
19 lines
1250 bytes
1250 bytes
On Sun, 19 Mar 2006 21:12:06 +0100, "Aleksander Galicki" <no@no.com> wrote: > >Ten jezyk 21 stulecia bedzie w 2009... > >A tak wyglada dosc typowa reakcja http://beust.com/weblog/archives/000374.html > >"I recently attended a presentation of C++0x by Bjarne Stroustrup. It wasn't >pretty. > >C++0x is the next version of the C++ specification and it's scheduled to be >final in 2009. Yes, you read that right: 2009. Who cares?... C++ i tak juz ejst w stanie zaniku... A.L.
Re: C++0x...
Author: Sektor van Skijlen
Date: Mon, 20 Mar 2006 01:37
Date: Mon, 20 Mar 2006 01:37
26 lines
1829 bytes
1829 bytes
Dnia Sun, 19 Mar 2006 16:40:12 -0600, A..L. skrobie: > On Sun, 19 Mar 2006 21:12:06 +0100, "Aleksander Galicki" <no@no.com> > wrote: > > > >Ten jezyk 21 stulecia bedzie w 2009... > > > >A tak wyglada dosc typowa reakcja http://beust.com/weblog/archives/000374.html > > > >"I recently attended a presentation of C++0x by Bjarne Stroustrup. It wasn't > >pretty. > > > >C++0x is the next version of the C++ specification and it's scheduled to be > >final in 2009. Yes, you read that right: 2009. > Who cares?... > C++ i tak juz ejst w stanie zaniku... Pobożne życzenia :) -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Re: C++0x...
Author: A..L.
Date: Mon, 20 Mar 2006 04:46
Date: Mon, 20 Mar 2006 04:46
17 lines
1191 bytes
1191 bytes
On Mon, 20 Mar 2006 01:37:18 +0000 (UTC), Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote: >> >C++0x is the next version of the C++ specification and it's scheduled to be >> >final in 2009. Yes, you read that right: 2009. > >> Who cares?... > >> C++ i tak juz ejst w stanie zaniku... > >Pobożne życzenia :) Nie wiem. Moze z Panskiego podworka wynika ze C++ ma sie dobrze. Ale, wie Pan, my mamy inne podworka... A.L.
Re: C++0x...
Author: Piotr Dembiński
Date: Mon, 20 Mar 2006 11:47
Date: Mon, 20 Mar 2006 11:47
7 lines
990 bytes
990 bytes
A..L. <alewando@fala2005.com> writes: [...] > C++ i tak juz ejst w stanie zaniku... Niestety na razie jeszcze nie. Ale bądźmy dobrej myśli :>
Re: C++0x...
Author: Aleksander Galicki
Date: Tue, 21 Mar 2006 01:39
Date: Tue, 21 Mar 2006 01:39
26 lines
1716 bytes
1716 bytes
>>A tak wyglada dosc typowa reakcja
>http://beust.com/weblog/archives/0 00374.html
>>
>>"I recently attended a presentation of C++0x by Bjarne Stroustrup. It
>wasn't
>>pretty.
>>
>>C++0x is the next version of the C++ specification and it's scheduled to be
>>final in 2009. Yes, you read that right: 2009.
>
>Who cares?...
>
>C++ i tak juz ejst w stanie zaniku...
Zanikajace kultury moga byc pasjonujace. Nie kazdy moze zostac antropologiem i
pojechac studiowac obyczaje rdzennych mieszkancow Wyspy Wielkanocnej. Ale
praktycznie kazdy moze zajrzec (choc raz do roku) na
comp.lang.c++/pl.comp.lang.c i zobaczyc jakie problemy na codzien rozwiazuje ta
rozwinieta cywilizacja. Iteratory, wskazniki, METAPROGRAMOWANIE...
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: AL.
Date: Tue, 21 Mar 2006 15:21
Date: Tue, 21 Mar 2006 15:21
30 lines
1824 bytes
1824 bytes
On Tue, 21 Mar 2006 02:39:11 +0100, "Aleksander Galicki" <no@no.com> wrote: >>>A tak wyglada dosc typowa reakcja >>http://beust.com/weblog/archives/0 00374.html >>> >>>"I recently attended a presentation of C++0x by Bjarne Stroustrup. It >>wasn't >>>pretty. >>> >>>C++0x is the next version of the C++ specification and it's scheduled to be >>>final in 2009. Yes, you read that right: 2009. >> >>Who cares?... >> >>C++ i tak juz ejst w stanie zaniku... > >Zanikajace kultury moga byc pasjonujace. Nie kazdy moze zostac antropologiem i >pojechac studiowac obyczaje rdzennych mieszkancow Wyspy Wielkanocnej. Ale >praktycznie kazdy moze zajrzec (choc raz do roku) na >comp.lang.c++/pl.comp.lang.c i zobaczyc jakie problemy na codzien rozwiazuje ta >rozwinieta cywilizacja. Iteratory, wskazniki, METAPROGRAMOWANIE... Smart pointers, prosze nei zapominac o smart pointers. No i oczywiscie, jezyk bedzie sie pozytywnei wyroznial od smiecia zwanego java tym ze nie bedzie mial odsmiecacza. Garbage collector potrzebny jest tylko programistom uposledzonym na umysle. A.L.
Re: C++0x...
Author: Sektor van Skijlen
Date: Tue, 21 Mar 2006 16:19
Date: Tue, 21 Mar 2006 16:19
48 lines
3021 bytes
3021 bytes
Dnia Tue, 21 Mar 2006 09:21:02 -0600, AL. skrobie: > On Tue, 21 Mar 2006 02:39:11 +0100, "Aleksander Galicki" <no@no.com> > wrote: > >>>A tak wyglada dosc typowa reakcja > >>http://beust.com/weblog/archives/0 00374.html > >>> > >>>"I recently attended a presentation of C++0x by Bjarne Stroustrup. It > >>wasn't > >>>pretty. > >>> > >>>C++0x is the next version of the C++ specification and it's scheduled to be > >>>final in 2009. Yes, you read that right: 2009. > >> > >>Who cares?... > >> > >>C++ i tak juz ejst w stanie zaniku... > > > >Zanikajace kultury moga byc pasjonujace. Nie kazdy moze zostac antropologiem i > >pojechac studiowac obyczaje rdzennych mieszkancow Wyspy Wielkanocnej. Ale > >praktycznie kazdy moze zajrzec (choc raz do roku) na > >comp.lang.c++/pl.comp.lang.c i zobaczyc jakie problemy na codzien rozwiazuje ta > >rozwinieta cywilizacja. Iteratory, wskazniki, METAPROGRAMOWANIE... > Smart pointers, prosze nei zapominac o smart pointers. > No i oczywiscie, jezyk bedzie sie pozytywnei wyroznial od smiecia > zwanego java tym ze nie bedzie mial odsmiecacza. Akurat będzie miał. I to nawet bardzo bliski temu, co jest w Javie i C#. > Garbage collector > potrzebny jest tylko programistom uposledzonym na umysle. Tu się - jak się pan oczywiście może domyślać - całkowicie z panem zgadzam (pod warunkiem, oczywiście, że to nie jest ironia - z panem to nigdy nie wiadomo). Tylko jeśli już takie coś założymy, to nie rozumiem, czemu pan kpi sobie ze smart pointers. Bez jednego ani drugiego pozostają nam gołe wskaźniki z całkowicie ręczną obsługą, a to wyjście jest IMHO zdecydowanie najgorsze. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Re: C++0x...
Author: AL.
Date: Tue, 21 Mar 2006 16:41
Date: Tue, 21 Mar 2006 16:41
27 lines
2065 bytes
2065 bytes
On Tue, 21 Mar 2006 16:19:48 +0000 (UTC), Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote: http://update.eclipse.org/updates/3.1 >> No i oczywiscie, jezyk bedzie sie pozytywnei wyroznial od smiecia >> zwanego java tym ze nie bedzie mial odsmiecacza. > >Akurat bêdzie mia³. I to nawet bardzo bliski temu, co jest w Javie i C#. > >> Garbage collector >> potrzebny jest tylko programistom uposledzonym na umysle. > >Tu siê - jak siê pan oczywi¶cie mo¿e domy¶laæ - ca³kowicie z panem zgadzam >(pod warunkiem, oczywi¶cie, ¿e to nie jest ironia - z panem to nigdy nie >wiadomo). > To JEST ironia. Jezyk bez odsmiecacza to zwykly smiec. A jezeli Pan tego nie wie, to pisze Pan programy trywialne. >Tylko je¶li ju¿ takie co¶ za³o¿ymy, to nie rozumiem, czemu pan kpi sobie ze >smart pointers. Bez jednego ani drugiego pozostaj± nam go³e wska¼niki z >ca³kowicie rêczn± obs³ug±, a to wyj¶cie jest IMHO zdecydowanie najgorsze. Ja sobie kpie z C++. Z mojego punktu siedzenia widze jak firmy pozbywaja sie C++ jak zarazy. A.L.
Re: C++0x...
Author: Sektor van Skijlen
Date: Tue, 21 Mar 2006 19:29
Date: Tue, 21 Mar 2006 19:29
50 lines
3146 bytes
3146 bytes
Dnia Tue, 21 Mar 2006 10:41:27 -0600, AL. skrobie: > On Tue, 21 Mar 2006 16:19:48 +0000 (UTC), Sektor van Skijlen > <ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote: > http://update.eclipse.org/updates/3.1 > >> No i oczywiscie, jezyk bedzie sie pozytywnei wyroznial od smiecia > >> zwanego java tym ze nie bedzie mial odsmiecacza. > > > >Akurat b?dzie mia?. I to nawet bardzo bliski temu, co jest w Javie i C#. > > > >> Garbage collector > >> potrzebny jest tylko programistom uposledzonym na umysle. > > > >Tu si? - jak si? pan oczywi?cie mo?e domy?la? - ca?kowicie z panem zgadzam > >(pod warunkiem, oczywi?cie, ?e to nie jest ironia - z panem to nigdy nie > >wiadomo). > > > To JEST ironia. Wiem. Ale chciałem być złośliwy. > Jezyk bez odsmiecacza to zwykly smiec. To ja już wiem, po co C++ będzie miał odśmiecacz. Po to, żeby zamykać gębę takim jak pan. > A jezeli Pan tego nie wie, to pisze Pan programy trywialne. Wie pan, pisałem już w życiu wiele nietrywialnych aplikacji w C++ (w tym również oprogramowanie, z którego pan być może pośrednio korzystasz, choć pewnie pan sobie nie zdajesz z tego aktualnie sprawy) i jakoś nie zauważyłem sytuacji, w której odśmiecacz miałby mi w czymkolwiek pomóc. A mogę wskazać wiele sytuacji, w których by przeszkodził. > >Tylko je?li ju? takie co? za?o?ymy, to nie rozumiem, czemu pan kpi sobie ze > >smart pointers. Bez jednego ani drugiego pozostaj? nam go?e wska?niki z > >ca?kowicie r?czn? obs?ug?, a to wyj?cie jest IMHO zdecydowanie najgorsze. > Ja sobie kpie z C++. Z mojego punktu siedzenia widze jak firmy > pozbywaja sie C++ jak zarazy. Jak to sie mówi, żyjemy w epoce medialnej. Resztę pozostawiam na domysł. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Re: C++0x...
Author: wiktor.gworek
Date: Thu, 23 Mar 2006 23:02
Date: Thu, 23 Mar 2006 23:02
20 lines
2452 bytes
2452 bytes
>> Jezyk bez odsmiecacza to zwykly smiec. > To ja juz wiem, po co C++ bedzie mial odsmiecacz. Po to, zeby zamykac gebe > takim jak pan. Tutaj to juz daliscie sie poniesc emocja. Z jednej strony taki jezyk jak Java nie nadaje sie do pisania aplikacji czasu rzeczywistego albo do sterowania samolotem, bo nagle GC sie wlaczy i bedzie booom. Z drugiej strony w C++ o wiele trudniej i dluzej pisze sie duze biznesowe aplikacje, ktore takim problemem nie musza sie przejmowac. Czas tworzenia w Javie jest okolo 2 razy krotszy niz czas tworzenia w C++. To jest wazny aspekt biznesowy. C++ jest jezykiem zagadkowym i ide o zaklad, ze jest bardzo malo ludzi, ktorzy potrafia sie nim w pelni poslugiwac. Z tego powodu Java zyskala wielu zwolennikow, z czystego lenistwa programistow. Trzeba przyznac, ze C++ wyznaczylo pewien standard w jezykach obiektowych (oczywiscie Smalltalk i tak powinien rzadzic ;)) i kiedy widze C# 3.0, Jave 5 (i pewne zalozenia Javy 6 Mustang) to widac, ze te jezyki byly wczesniej zbyt proste i mialy zbyt mala sile wyrazu, ze postanowiono je wzmocnic.
Re: C++0x...
Author: AL.
Date: Thu, 23 Mar 2006 23:25
Date: Thu, 23 Mar 2006 23:25
37 lines
2401 bytes
2401 bytes
On 23 Mar 2006 15:02:54 -0800, wiktor.gworek@gmail.com wrote: >>> Jezyk bez odsmiecacza to zwykly smiec. > >> To ja juz wiem, po co C++ bedzie mial odsmiecacz. Po to, zeby zamykac gebe >> takim jak pan. > >Tutaj to juz daliscie sie poniesc emocja. Z jednej strony taki jezyk >jak Java nie nadaje sie do pisania aplikacji czasu rzeczywistego albo >do sterowania samolotem, bo nagle GC sie wlaczy i bedzie booom. To jest mit utrzymywany pzrez ludzi ktorzy dyplomy uzyakali przed rokiem 1980 i od tego czasu siedli na laurach. Java calkiem dobrze nadaje sie dp programwania real-time, i problem doczekal sie juz podrecznikow, patrz na przyklad Concurrent and Real-Time Programming in Java by Andrew Wellings Mozna tez popatzrec na przyklad tutaj http://news.com.com/2100-1012_3-5768953.html > Z >drugiej strony w C++ o wiele trudniej i dluzej pisze sie duze biznesowe >aplikacje, ktore takim problemem nie musza sie przejmowac. Czas >tworzenia w Javie jest okolo 2 razy krotszy niz czas tworzenia w C++. >To jest wazny aspekt biznesowy. > >C++ jest jezykiem zagadkowym i ide o zaklad, ze jest bardzo malo ludzi, >ktorzy potrafia sie nim w pelni poslugiwac. Z tego powodu Java zyskala >wielu zwolennikow, z czystego lenistwa programistow. Trzeba przyznac, >ze C++ wyznaczylo pewien standard w jezykach obiektowych A to juz jest nonsens.... A.L>
Re: C++0x...
Author: A..L.
Date: Fri, 24 Mar 2006 02:50
Date: Fri, 24 Mar 2006 02:50
11 lines
1558 bytes
1558 bytes
On Tue, 21 Mar 2006 19:29:02 +0000 (UTC), Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote: >Wie pan, pisałem już w życiu wiele nietrywialnych aplikacji w C++ (w tym >również oprogramowanie, z którego pan być może pośrednio korzystasz, choć >pewnie pan sobie nie zdajesz z tego aktualnie sprawy) i jakoś nie zauważyłem >sytuacji, w której odśmiecacz miałby mi w czymkolwiek pomóc. To jeszcze dluuuuga droga przed Panem... A.L.
Re: C++0x...
Author: Piotr Kobzda
Date: Fri, 24 Mar 2006 07:37
Date: Fri, 24 Mar 2006 07:37
15 lines
1555 bytes
1555 bytes
AL. wrote: > Java calkiem dobrze nadaje sie dp programwania real-time, i problem > doczekal sie juz podrecznikow, patrz na przyklad Concurrent and > Real-Time Programming in Java by Andrew Wellings > > Mozna tez popatzrec na przyklad tutaj > > http://news.com.com/2100-1012_3-5768953.html Lub tutaj: http://www.aicas.com/jamaica.html piotr
Re: C++0x...
Author: Adam Karpierz
Date: Fri, 24 Mar 2006 13:11
Date: Fri, 24 Mar 2006 13:11
27 lines
2029 bytes
2029 bytes
<wiktor.gworek@gmail.com> wrote in message > C++ jest jezykiem zagadkowym Ta sentencje zapisalem sobie w "zlotych powiedzeniach" :) Dzieki :) > Trzeba przyznac, ze C++ wyznaczylo pewien standard w > jezykach obiektowych Nic bardziej blednego !. Ten model obiektowosci ktory jest we "wspolczesnych" jezykach programowania wyznaczyla Simula. C++ (i inne) wprost go zerznely (w dodatku neiudolnie) z Simuli. Druga osobna "odnoga" obiektowki jest Smalltalk. > ze te jezyki byly wczesniej zbyt proste i mialy zbyt mala sile > wyrazu, ze postanowiono je wzmocnic. Sorry... Zupelna nieprawda. Bylo dokladnie odwrotnie. Simula byl a"za ciezka" aby pociagnal ja PCt 4.77MHz Dlatego C wlazlo na PC-ty bo bylo sklajnie prymityne == mozliwe do implementacji na tym 4.77. Potem to juz poszlo jak zwykle sila rozpedu. AK
Re: C++0x...
Author: A..L.
Date: Fri, 24 Mar 2006 13:17
Date: Fri, 24 Mar 2006 13:17
20 lines
1567 bytes
1567 bytes
On Fri, 24 Mar 2006 08:37:32 +0100, Piotr Kobzda <pikob@gazeta.pl> wrote: >AL. wrote: > >> Java calkiem dobrze nadaje sie dp programwania real-time, i problem >> doczekal sie juz podrecznikow, patrz na przyklad Concurrent and >> Real-Time Programming in Java by Andrew Wellings >> >> Mozna tez popatzrec na przyklad tutaj >> >> http://news.com.com/2100-1012_3-5768953.html > >Lub tutaj: >http://www.aicas.com/jamaica.html > Dzieki za link! A.L.
Re: C++0x...
Author: Michal Przybylek
Date: Fri, 24 Mar 2006 17:20
Date: Fri, 24 Mar 2006 17:20
17 lines
1941 bytes
1941 bytes
"Piotr Kobzda" <pikob@gazeta.pl> wrote: > Lub tutaj: > http://www.aicas.com/jamaica.html A moglby ktos napiac co to jest ten "Deterministic Garbage Collection" i jak ma dzialac ? Tylko tak bez sciemy. Przejrzalem kilka papierow ntt. i mam nieodparte wrazenie, ze po polowie zachodza nastepujace przypadki: a) nazywanie "soft real-time" "hard real-time", wtedy napisanie odsmiecacza spelniajacego wymogi HRTS faktycznie nie jest szczegolnie trudne, b) ukryta informacja, ze zagwarantowanie wlasciwych przedzialow czasowych na wystapienie odpowiednich zdarzen moze kosztowac rzedy wielkosci czasu. mp
Re: C++0x...
Author: AL.
Date: Fri, 24 Mar 2006 17:54
Date: Fri, 24 Mar 2006 17:54
27 lines
1946 bytes
1946 bytes
On Fri, 24 Mar 2006 18:20:43 +0100, "Michal Przybylek" <mrp@neostrada.pl> wrote: >"Piotr Kobzda" <pikob@gazeta.pl> wrote: > >> Lub tutaj: >> http://www.aicas.com/jamaica.html > >A moglby ktos napiac co to jest ten "Deterministic Garbage Collection" i jak >ma dzialac ? Tylko tak bez sciemy. Przejrzalem kilka papierow ntt. i mam >nieodparte wrazenie, ze po polowie zachodza nastepujace przypadki: > >a) nazywanie "soft real-time" "hard real-time", wtedy napisanie odsmiecacza >spelniajacego wymogi HRTS faktycznie nie jest szczegolnie trudne, > >b) ukryta informacja, ze zagwarantowanie wlasciwych przedzialow czasowych na >wystapienie odpowiednich zdarzen moze kosztowac rzedy wielkosci czasu. > Zapomnialem Pana wsadzic do KF na tej grupie. Proponuje popatrzec na przyklad tutaj http://www.aicas.com/publications.html A.L.
Re: C++0x...
Author: Michal Przybylek
Date: Fri, 24 Mar 2006 22:26
Date: Fri, 24 Mar 2006 22:26
29 lines
2264 bytes
2264 bytes
"AL." <alewando@ziuta66.com> wrote: > Zapomnialem Pana wsadzic do KF na tej grupie. Daj sobie spokoj z ta dziecinada. Przecierz nie chodzi o to, aby mnie nie czytac. Chyba nie chodzi o to, aby ze mna nie dyskutowac. Zas, dezaprobate w stosunku do mojej osoby, mozesz wyrazac na o wiele mniej wyrafinowane i skuteczniejsze sposoby. Wiesz, AL, naprawde spuzlowalo mnie to, ze odpisales. Tylko przekonuje sie o tym jak "dziwny" czlowiek z Ciebie. Jestes jedyna osoba, z ktora nie potrafie sie dluzej komunikowac. Jestes jedyna osoba, dla ktorej specjalnie opracowalem szereg algorytmow komunikacyjnych. I kazdy z tych algorytmow w ktoryms momencie sie zacial. Ja wiem dlaczego... > Proponuje popatrzec na przyklad tutaj > > http://www.aicas.com/publications.html Dzieki za zwrocenie na to uwagi. Faktycznie, czuje sie juz teraz usatysfakcjonowany. mp
Re: C++0x...
Author: Sektor van Skijlen
Date: Thu, 30 Mar 2006 00:09
Date: Thu, 30 Mar 2006 00:09
36 lines
2628 bytes
2628 bytes
Dnia Fri, 24 Mar 2006 23:26:21 +0100, Michal Przybylek skrobie: > "AL." <alewando@ziuta66.com> wrote: > > Zapomnialem Pana wsadzic do KF na tej grupie. > Daj sobie spokoj z ta dziecinada. > Przecierz nie chodzi o to, aby mnie nie czytac. Jak widzę ten błąd ortograficzny, to skłaniam się ku stwierdzeniu, że chyba jednak chodzi. > Chyba nie chodzi o to, aby ze mna nie dyskutowac. Gdybyż się dało... > Zas, dezaprobate w stosunku do mojej osoby, mozesz wyrazac na o wiele mniej > wyrafinowane i skuteczniejsze sposoby. > Wiesz, AL, naprawde spuzlowalo mnie to, ze odpisales. Tylko przekonuje sie o > tym jak "dziwny" czlowiek z Ciebie. > Jestes jedyna osoba, z ktora nie potrafie sie dluzej komunikowac. Jestes > jedyna osoba, dla ktorej specjalnie opracowalem szereg algorytmow > komunikacyjnych. I kazdy z tych algorytmow w ktoryms momencie sie zacial. > Ja wiem dlaczego... Ja też wiem. Bo najwyraźniej taki z ciebie programista, jak i dyskutant. -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Re: C++0x...
Author: wiktor.gworek
Date: Thu, 30 Mar 2006 18:58
Date: Thu, 30 Mar 2006 18:58
10 lines
2044 bytes
2044 bytes
Hmmm... to co napisales daje mi do myslenia. Jestem "tylko" studentem i przyznaje sie do niewiedzy :) Moje spojrzenie na jezyki obiektowe obejmuje tylko Smalltalk, C++, Java i troszeczke Pythona, wiec moge wydawac sie ignorantem dla niektorych, bo komputery z 4.77 MHz brzmi dla mnie jak bajka (bez urazy oczywiscie ;)). Czy jestescie wstawie podrzucic jakies linki, ktore opisuja historie jezykow obiektowych? Wiktor
Re: C++0x...
Author: Daniel Kos
Date: Fri, 31 Mar 2006 22:34
Date: Fri, 31 Mar 2006 22:34
62 lines
3072 bytes
3072 bytes
Radzilbym ignorowac Pana A.I. To zwykly troll.. niestety Dnia Tue, 21 Mar 2006 20:29:02 +0100, Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisał: > Dnia Tue, 21 Mar 2006 10:41:27 -0600, AL. skrobie: >> On Tue, 21 Mar 2006 16:19:48 +0000 (UTC), Sektor van Skijlen >> <ethouris@guess.if.gmail.com.is.valid.or.invalid> wrote: >> http://update.eclipse.org/updates/3.1 >> >> No i oczywiscie, jezyk bedzie sie pozytywnei wyroznial od smiecia >> >> zwanego java tym ze nie bedzie mial odsmiecacza. >> > >> >Akurat b?dzie mia?. I to nawet bardzo bliski temu, co jest w Javie i >> C#. >> > >> >> Garbage collector >> >> potrzebny jest tylko programistom uposledzonym na umysle. >> > >> >Tu si? - jak si? pan oczywi?cie mo?e domy?la? - ca?kowicie z panem >> zgadzam >> >(pod warunkiem, oczywi?cie, ?e to nie jest ironia - z panem to nigdy >> nie >> >wiadomo). >> > > >> To JEST ironia. > > Wiem. Ale chciałem być złośliwy. > >> Jezyk bez odsmiecacza to zwykly smiec. > > To ja już wiem, po co C++ będzie miał odśmiecacz. Po to, żeby zamykać > gębę > takim jak pan. > >> A jezeli Pan tego nie wie, to pisze Pan programy trywialne. > > Wie pan, pisałem już w życiu wiele nietrywialnych aplikacji w C++ (w tym > również oprogramowanie, z którego pan być może pośrednio korzystasz, choć > pewnie pan sobie nie zdajesz z tego aktualnie sprawy) i jakoś nie > zauważyłem > sytuacji, w której odśmiecacz miałby mi w czymkolwiek pomóc. > > A mogę wskazać wiele sytuacji, w których by przeszkodził. > >> >Tylko je?li ju? takie co? za?o?ymy, to nie rozumiem, czemu pan kpi >> sobie ze >> >smart pointers. Bez jednego ani drugiego pozostaj? nam go?e wska?niki z >> >ca?kowicie r?czn? obs?ug?, a to wyj?cie jest IMHO zdecydowanie >> najgorsze. > >> Ja sobie kpie z C++. Z mojego punktu siedzenia widze jak firmy >> pozbywaja sie C++ jak zarazy. > > Jak to sie mówi, żyjemy w epoce medialnej. Resztę pozostawiam na domysł. > > -- uno (unodgs@tlen.pl)
Re: C++0x...
Author: AL.
Date: Fri, 31 Mar 2006 23:02
Date: Fri, 31 Mar 2006 23:02
20 lines
1623 bytes
1623 bytes
On Sat, 01 Apr 2006 00:34:23 +0200, "Daniel Kos" <unodgs@tlen.pl> wrote: >Radzilbym ignorowac Pana A.I. To zwykly troll.. niestety > Radzilbym ignorowc Pana Daniela Kosa. Nei dosc ze pisze nie na temat, to jeszcze nie wie jak sie pisze posty na usenecie. A pisze sie, Panie Kos, tak: a) Pisze sie wlasny post POD cytwanym tekstem a nie nad, b) Obcina sie cytaty, tak aby nei cytowac calej strony po to zeby napisac jedna linilke komentarza, c) Pisze sei na temat zwiazany z grupa. Poniewaz to Panski pierwszy post na tej grupie, rozumiem ze jest Pan poczatkujacym Internauta. Ale niech Pan sie nie martwi, Internet nie taki trudny i z czasem Pan sie nauczy. A.L.
Re: C++0x...
Author: Daniel Kos
Date: Sat, 01 Apr 2006 11:13
Date: Sat, 01 Apr 2006 11:13
36 lines
2403 bytes
2403 bytes
Dnia Sat, 01 Apr 2006 01:02:41 +0200, AL. <alewando@ziuta66.com> napisał: > On Sat, 01 Apr 2006 00:34:23 +0200, "Daniel Kos" <unodgs@tlen.pl> > wrote: > >> Radzilbym ignorowac Pana A.I. To zwykly troll.. niestety >> > Radzilbym ignorowc Pana Daniela Kosa. Nei dosc ze pisze nie na temat, > to jeszcze nie wie jak sie pisze posty na usenecie. A pisze sie, Panie > Kos, tak: > > a) Pisze sie wlasny post POD cytwanym tekstem a nie nad, > b) Obcina sie cytaty, tak aby nei cytowac calej strony po to zeby > napisac jedna linilke komentarza, > c) Pisze sei na temat zwiazany z grupa. > > Poniewaz to Panski pierwszy post na tej grupie, rozumiem ze jest Pan > poczatkujacym Internauta. Ale niech Pan sie nie martwi, Internet nie > taki trudny i z czasem Pan sie nauczy. I kto tu pisze nie na temat.. a cytowanie kwestia gustu.. Prosze Pana, czytam pana posty na tej grupe i na pl.lang.c i sposob w jaki pan pisze, jak pan traktuje swoich rozmowcow, w moich oczach jednoznacznie kwalifikuje pana jako trolla.. co ma znaczyc wypowiedz: > Jezyk bez odsmiecacza to zwykly smiec. A jezeli Pan > tego nie wie, to pisze Pan programy trywialne. Czy to jest wypowiedz na poziomie?? Prosze spojrzec na comp.lang.c++.moderated jak dyskutuje sie na poziomie... -- uno (unodgs@tlen.pl)
Re: C++0x...
Author: A..L.
Date: Sat, 01 Apr 2006 12:56
Date: Sat, 01 Apr 2006 12:56
54 lines
3140 bytes
3140 bytes
On Sat, 01 Apr 2006 13:13:46 +0200, "Daniel Kos" <unodgs@tlen.pl> wrote: >Dnia Sat, 01 Apr 2006 01:02:41 +0200, AL. <alewando@ziuta66.com> napisał: > >> On Sat, 01 Apr 2006 00:34:23 +0200, "Daniel Kos" <unodgs@tlen.pl> >> wrote: >> >>> Radzilbym ignorowac Pana A.I. To zwykly troll.. niestety >>> >> Radzilbym ignorowc Pana Daniela Kosa. Nei dosc ze pisze nie na temat, >> to jeszcze nie wie jak sie pisze posty na usenecie. A pisze sie, Panie >> Kos, tak: >> >> a) Pisze sie wlasny post POD cytwanym tekstem a nie nad, >> b) Obcina sie cytaty, tak aby nei cytowac calej strony po to zeby >> napisac jedna linilke komentarza, >> c) Pisze sei na temat zwiazany z grupa. >> >> Poniewaz to Panski pierwszy post na tej grupie, rozumiem ze jest Pan >> poczatkujacym Internauta. Ale niech Pan sie nie martwi, Internet nie >> taki trudny i z czasem Pan sie nauczy. > > >I kto tu pisze nie na temat.. a cytowanie kwestia gustu.. To nie ejst kwestia gustu. Jako stary wyjadacz Internetowy powinien Pan wiedziec ze jest cos takiego jak Nerykieta oraz zwyczaje ktorych wsztscu przestzregaja, a ktore wyksztalcily sie w czasie gdy usentet dzialal przy pomocy protokolu uucp. To co Pan napisal brzmi mniej wiecej jak "puszczanie bonka przy stole na imieninach cioci lub nie puszczanei to kwestia osobistego gustu" >Prosze Pana, czytam pana posty na tej grupe i na pl.lang.c i sposob w jaki >pan pisze, jak pan traktuje >swoich rozmowcow, w moich oczach jednoznacznie kwalifikuje pana jako >trolla.. co ma znaczyc wypowiedz: > >> Jezyk bez odsmiecacza to zwykly smiec. A jezeli Pan >> tego nie wie, to pisze Pan programy trywialne. > Bo uwazam ze jezyk bez odsmiecacza to zwykly smiec i jezeli ktos nigdy tego nie odczul to pisze programy trywialne. Co powtorze jeszcza raz, z mala nadzieja abym Pana przekonal. >Czy to jest wypowiedz na poziomie?? Prosze spojrzec na >comp.lang.c++.moderated jak dyskutuje sie na poziomie... To niech Pan pisuje na comp.lang.moderated. A.L.
Re: C++0x...
Author: Daniel Kos
Date: Sat, 01 Apr 2006 16:30
Date: Sat, 01 Apr 2006 16:30
27 lines
2301 bytes
2301 bytes
> To nie ejst kwestia gustu. Jako stary wyjadacz Internetowy powinien > Pan wiedziec ze jest cos takiego jak Nerykieta oraz zwyczaje ktorych > wsztscu przestzregaja, a ktore wyksztalcily sie w czasie gdy usentet > dzialal przy pomocy protokolu uucp. Ja tez staram sie jej przestrzegac, czasami jednak tak sie napisze a nie inaczej, zwlaszcza ze przegladarki internetowe przy dawaniu odpowiedzi umiszczaja kursor przed cytowaniami a nie po nich (przynajmniej opera) (i jest to kwestia gustu (o ile na danej grupie/forum nie wybierze danego stylu jako obowiazujacy), bo czy lepiej (czytelniej) jest pisac przed cytowaniami, po lub pomiedzy to sprawa dyskusyjna - majaca i swoich zwolennikow i przeciwnikow. > > Bo uwazam ze jezyk bez odsmiecacza to zwykly smiec i jezeli ktos > nigdy tego nie odczul to pisze programy trywialne. Co powtorze > jeszcza raz, z mala nadzieja abym Pana przekonal. Czy corel draw, maya, microsoft office, windows XXXX, autocad to programy trywialne??? Zdaje sie wszystkie byly pisane w c/c++ i to na dlugo przed moda na wszelkiego typu odsmiecacze... -- uno (unodgs@tlen.pl)
Re: C++0x...
Author: A..L.
Date: Sat, 01 Apr 2006 18:21
Date: Sat, 01 Apr 2006 18:21
25 lines
2131 bytes
2131 bytes
On Sat, 01 Apr 2006 18:30:47 +0200, "Daniel Kos" <unodgs@tlen.pl> wrote: >> Bo uwazam ze jezyk bez odsmiecacza to zwykly smiec i jezeli ktos >> nigdy tego nie odczul to pisze programy trywialne. Co powtorze >> jeszcza raz, z mala nadzieja abym Pana przekonal. > >Czy corel draw, maya, microsoft office, windows XXXX, autocad to programy >trywialne??? >Zdaje sie wszystkie byly pisane w c/c++ i to na dlugo przed moda na >wszelkiego typu odsmiecacze... Wszysko mozan napisac w maszynie Turinga ktora nie ma odsmiecacza, tylko to jest dowod na co?... A jak idzie o "mode" to proponuje Panu powtorke z historii. Odsmeicacz mial Lisp juz pod koniec lat 50. Odsmiecacz miala Simula 67, jak sama nazwa wskazuje, pod koniec lat 60. Odsmiecacz mial Smalltalk. I to bynajmniej nie z powodu mody: napisanie zlozonego programu OBIEKTOWEGO bez odsmiecacza tak aby nie mial "memory leaks" jest bardzo trudne i zajmuje czas. A wiec jest kosztowne. A akurat programy ktore Pan wymienil sa dosyc malo obiektowe. A.L.
Re: C++0x...
Author: Piotr Dembiński
Date: Sat, 01 Apr 2006 19:45
Date: Sat, 01 Apr 2006 19:45
7 lines
1457 bytes
1457 bytes
A..L. <alewando@fala2005.com> writes: [...] > Wszysko mozan napisac w maszynie Turinga ktora nie ma odsmiecacza, To znaczy taka jest hipoteza. Bo programujemy na maszynach RAM.
Re: C++0x...
Author: Daniel Kos
Date: Mon, 03 Apr 2006 17:56
Date: Mon, 03 Apr 2006 17:56
35 lines
2655 bytes
2655 bytes
> Wszysko mozan napisac w maszynie Turinga ktora nie ma odsmiecacza, > tylko to jest dowod na co?... To jest dowod na to ze wybrano c++ bez odmicacza a nie np jave/c# z odsmiecaczem z jakis wyraznych, konkretnych powodow. > A jak idzie o "mode" to proponuje Panu powtorke z historii. > Odsmeicacz mial Lisp juz pod koniec lat 50. Odsmiecacz miala Simula > 67, jak sama nazwa wskazuje, pod koniec lat 60. Odsmiecacz mial > Smalltalk. I to bynajmniej nie z powodu mody: napisanie zlozonego > programu OBIEKTOWEGO bez odsmiecacza tak aby nie mial "memory leaks" > jest bardzo trudne i zajmuje czas. A wiec jest kosztowne. Moda, bo tak naprawde zaczeto o tym glosno mowic wraz ze wzrostem popularnosci javy (w moim odczuciu). Co do memory leaks - uwazam, ze lepsza jest sytuacja, gdy program wywala sie jak najszybciej, niz sytuacja kiedy program dziala x czasu (bo odsmiecacz fakt wycieku dosc zgrabnie ukrywa) i przestaje dzialac w najmniej oczekiwanym momencie. Poza tym, przy prawidlowym stosowaniu jezyka i przy pewnym doswiadczeniu walka z memory leakami nie jest az tak kosztowna (o ile wogole trzeba z tym walczyc). > > A akurat programy ktore Pan wymienil sa dosyc malo obiektowe. > Nie wiem jak w duzym stopniu obiektowe sa programy ktore wymienilem, ale maya jest napisana w pelni obiektowo (czasami pisze do niej pluginy) -- uno (unodgs@tlen.pl)
Re: C++0x...
Author: Grzesiek G.
Date: Wed, 05 Apr 2006 15:05
Date: Wed, 05 Apr 2006 15:05
21 lines
2127 bytes
2127 bytes
Daniel Kos napisał(a): [...] > Co do memory leaks - uwazam, ze lepsza jest sytuacja, gdy program > wywala sie jak najszybciej, niz sytuacja kiedy program dziala x czasu > (bo odsmiecacz fakt wycieku dosc zgrabnie ukrywa) i przestaje dzialac > w najmniej oczekiwanym momencie. Dlaczego program z odśmiecaczem ma się wywalić z powodu wycieków pamięci? Chyba z powodów błędów implementacji odśmiecacza :-). > Poza tym, przy prawidlowym stosowaniu jezyka i przy pewnym > doswiadczeniu walka z memory leakami nie jest az tak kosztowna (o ile > wogole trzeba z tym walczyc). Tu mam inne doświadczenia. Pozdrawiam -- Grzegorz Gruza Odpowiadając usuń "spamerom_nie." z adresu!!!
Re: C++0x...
Author: Jedrzej Dudkiewicz
Date: Wed, 05 Apr 2006 15:30
Date: Wed, 05 Apr 2006 15:30
9 lines
1856 bytes
1856 bytes
> Glownie dlatego, ze programisci piszacy w jezykach z GC nie zdaja sobie > sprawy z tego, ze GC nie gwarantuje braku wyciekow pamieci. Mogę prosić o szczegóły? Bo wydawało mi się, że jeżeli jest GC to zwykle nie ma możliwości, by explicite ją dealokować, co jest warunkiem sine qua non dla wycieków. Masz może na myśli odwołania cykliczne albo podobne konstrukcje? JD
Re: C++0x...
Author: Michal Przybylek
Date: Wed, 05 Apr 2006 15:45
Date: Wed, 05 Apr 2006 15:45
15 lines
2036 bytes
2036 bytes
"Grzesiek G." <gruza@spamerom_nie.priv4.onet.pl> wrote: > > Co do memory leaks - uwazam, ze lepsza jest sytuacja, gdy program > > wywala sie jak najszybciej, niz sytuacja kiedy program dziala x czasu > > (bo odsmiecacz fakt wycieku dosc zgrabnie ukrywa) i przestaje dzialac > > w najmniej oczekiwanym momencie. > > Dlaczego program z odśmiecaczem ma się wywalić z powodu wycieków > pamięci? Glownie dlatego, ze programisci piszacy w jezykach z GC nie zdaja sobie sprawy z tego, ze GC nie gwarantuje braku wyciekow pamieci. mp
Re: C++0x...
Author: mgl
Date: Wed, 05 Apr 2006 16:08
Date: Wed, 05 Apr 2006 16:08
26 lines
2717 bytes
2717 bytes
Jedrzej Dudkiewicz wrote: >>Glownie dlatego, ze programisci piszacy w jezykach z GC nie zdaja sobie >>sprawy z tego, ze GC nie gwarantuje braku wyciekow pamieci. > > > Mogę prosić o szczegóły? Bo wydawało mi się, że jeżeli jest GC to zwykle nie > ma możliwości, by explicite ją dealokować, co jest warunkiem sine qua non > dla wycieków. Masz może na myśli odwołania cykliczne albo podobne > konstrukcje? Z odwołania cyklicznymi (podgrafami obiektów połączonych zależnościami) GC radzi sobie znakomicie. Jędrzejowi może chodzić o to, że GC usuwa tylko te instancje, do których nie ma bezpośrednich czy pośrednich referencji z programu - obiekty mogą zostać usunięte wtedy, gdy stają się out-of-scope albo usuwane są referencje do nich. Zdarza się jednak, choć nie są te częste sytuacje, że w wyniku nieuwagi referencje do pewnych niepotrzebnych i nigdy już niewykorzystywanych obiektów nie są usuwane, bo trafiają np. na dno jakiegoś kontenera, który cały czas jest używany. Ale takie błędy bardzo szybko wychodzą na wierzch, dużo szybciej niż cuda dziejące po nieudanej zabawie wskaźnikami czy niekonsekwentnej dealokacji zasobów w C/C++. pozdrawiam, -- mgl
Re: C++0x...
Author: Michal Przybylek
Date: Wed, 05 Apr 2006 18:14
Date: Wed, 05 Apr 2006 18:14
54 lines
4013 bytes
4013 bytes
"mgl" <ask@for.email.com> wrote: > >>Glownie dlatego, ze programisci piszacy w jezykach z GC nie zdaja sobie > >>sprawy z tego, ze GC nie gwarantuje braku wyciekow pamieci. > > > > > > Mogę prosić o szczegóły? Bo wydawało mi się, że jeżeli jest GC to zwykle > > nie ma możliwości, by explicite ją dealokować, co jest warunkiem sine > > qua non dla wycieków. Masz może na myśli odwołania cykliczne albo > > podobne konstrukcje? > > Z odwołania cyklicznymi (podgrafami obiektów połączonych zależnościami) > GC radzi sobie znakomicie. Jędrzejowi może chodzić o to, że GC usuwa > tylko te instancje, do których nie ma bezpośrednich czy pośrednich > referencji z programu - obiekty mogą zostać usunięte wtedy, gdy stają > się out-of-scope albo usuwane są referencje do nich. Komu... ? :-) > Zdarza się jednak, choć nie są te częste sytuacje, że w wyniku nieuwagi > referencje do pewnych niepotrzebnych i nigdy już niewykorzystywanych > obiektów nie są usuwane, bo trafiają np. na dno jakiegoś kontenera, > który cały czas jest używany. Nagminnie spotykam sie z takimi problemami (z ktorych wiekszosc, fakt, jest banalnych do zalatania). Po prostu, mowi sie, ze przy GC nie ma problemow z pamiecia. I programisci tak gleboko wierza, ze problemow nie ma, ze kompletnie o tym nie mysla. To raz. Dwa, co jest tez do pewnego stopnia konsekwencja poprzedniego - wiekszosc jezykow z GC kompletnie zmywa dwie zupelnie rozne rzeczy i zmywa do tego stopnia, ze, znowuz, programisci gleboko wierza, ze sa one tym samym: - czas zycia obiektu - tzn. to kiedy logicznie obiekt jest powolywany do zycia i kiedy logicznie przestaje istniec w systemie, - czas istnienia w pamieci - pewien szczegol techniczny, implementacyjny, nie zwiazany z logika systemu. Szczegolnie to niezrozumienie widac np. przy dyskusjach o roznych sztuczkach typu RAII, ktore ladnie sie integruja z C++'owymi destruktorami, zas przy Java'owych finalizacjach nie chca dzialac nalezycie. Ano nie chca dzialac, nie przez to, ze mamy w Javie GC, a w C++ reczna gospodarke. Nie chca dzialac, przez to, ze w Javie (jak i w wiekszosci jezykow z GC) nie mamy odpowiedznich mechanizmow do zarzadzania logicznym czasem zycia obiektow. Np. w Common Lisp'ie, przy odrobinie wysilku, moglbym dodac do obiektow destruktory o semantyce z C++, co pewnie brzmi dla wiekszosci ludzi jak jakas kompletna herezja... mp
Re: C++0x...
Author: Aleksander Galicki
Date: Wed, 05 Apr 2006 20:59
Date: Wed, 05 Apr 2006 20:59
48 lines
3051 bytes
3051 bytes
>> Zdarza się jednak, choć nie są te częste sytuacje, że w wyniku nieuwagi
>> referencje do pewnych niepotrzebnych i nigdy już niewykorzystywanych
>> obiektów nie są usuwane, bo trafiają np. na dno jakiegoś kontenera,
>> który cały czas jest używany.
>
>Nagminnie spotykam sie z takimi problemami (z ktorych wiekszosc, fakt, jest
>banalnych do zalatania).
>
>Po prostu, mowi sie, ze przy GC nie ma problemow z pamiecia. I programisci
>tak gleboko wierza, ze problemow nie ma, ze kompletnie o tym nie mysla. To
>raz.
Jakichs takich dziwnych programistow spotykasz...
>Dwa, co jest tez do pewnego stopnia konsekwencja poprzedniego - wiekszosc
>jezykow z GC kompletnie zmywa dwie zupelnie rozne rzeczy i zmywa do tego
>stopnia, ze, znowuz, programisci gleboko wierza, ze sa one tym samym:
>- czas zycia obiektu - tzn. to kiedy logicznie obiekt jest powolywany do
>zycia i kiedy logicznie przestaje istniec w systemie,
>- czas istnienia w pamieci - pewien szczegol techniczny, implementacyjny,
>nie zwiazany z logika systemu.
Ogolnie, obiekt "przestaje istniec w systemie" wtedy gdy nie ma do niego
referencji. (Moze sie inaczej zdarzyc, jak sie odpowiednio zaimplementuje
finalize()).
>Szczegolnie to niezrozumienie widac np. przy dyskusjach o roznych sztuczkach
>typu RAII, ktore ladnie sie integruja z C++'owymi destruktorami, zas przy
>Java'owych finalizacjach nie chca dzialac nalezycie.
>
>Ano nie chca dzialac, nie przez to, ze mamy w Javie GC, a w C++ reczna
>gospodarke. Nie chca dzialac, przez to, ze w Javie (jak i w wiekszosci
>jezykow z GC) nie mamy odpowiedznich mechanizmow do zarzadzania logicznym
>czasem zycia obiektow.
>
ogo RAII obshodzi w Javie czy C#? Ogolnie, mam wrazenie, ze "problemy", ktore
opisujesz sa jakies takie akademickie i malo kogo obchodza...
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: Aleksander Galicki
Date: Wed, 05 Apr 2006 21:11
Date: Wed, 05 Apr 2006 21:11
31 lines
2605 bytes
2605 bytes
>> Mogę prosić o szczegóły? Bo wydawało mi się, że jeżeli jest GC to zwykle
>nie
>> ma możliwości, by explicite ją dealokować, co jest warunkiem sine qua non
>> dla wycieków. Masz może na myśli odwołania cykliczne albo podobne
>> konstrukcje?
>
>Z odwołania cyklicznymi (podgrafami obiektów połączonych zależnościami)
>GC radzi sobie znakomicie. Jędrzejowi może chodzić o to, że GC usuwa
>tylko te instancje, do których nie ma bezpośrednich czy pośrednich
>referencji z programu - obiekty mogą zostać usunięte wtedy, gdy stają
>się out-of-scope albo usuwane są referencje do nich.
>
>Zdarza się jednak, choć nie są te częste sytuacje, że w wyniku nieuwagi
>referencje do pewnych niepotrzebnych i nigdy już niewykorzystywanych
>obiektów nie są usuwane, bo trafiają np. na dno jakiegoś kontenera,
>który cały czas jest używany. Ale takie błędy bardzo szybko wychodzą na
>wierzch,
Czasami to wychodzi wraz z OutOfMemoryException. Albo system sie zawiesza, bo
GC rozpaczliwie probuje zdobyc jeszcze troche pamieci i zaczyna wyrzucac klasy
z pamieci. GC nie rozwiazuje wszystkich problemow z pamiecia. Tyle, ze w np.
Javie jest cale mnostwo odpowiednich tooli, ktore czynia wyszukiwanie memory
leaks dosc prostym zajeciem. No i JEE ma taka architekture, ze naprawde trzeba
sie "postarac" (np. uzywajac statycznych kolekcji) by uzyskac memory leak.
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: Michal Przybylek
Date: Wed, 05 Apr 2006 21:39
Date: Wed, 05 Apr 2006 21:39
10 lines
1494 bytes
1494 bytes
"Aleksander Galicki" <no@no.com> wrote: > Ogolnie, mam wrazenie, ze "problemy", ktore > opisujesz sa jakies takie akademickie i malo kogo obchodza... Nie zdarzylo Ci sie kiedykolwiek w Javie przechodzic przez jakas strukture dowiazan i ustawiac po drodze referencje na null ? mp
Re: C++0x...
Author: Seweryn Habdank-Wojewódzki
Date: Thu, 06 Apr 2006 05:47
Date: Thu, 06 Apr 2006 05:47
29 lines
2268 bytes
2268 bytes
Witam Aleksander Galicki wrote: > Czasami to wychodzi wraz z OutOfMemoryException. Albo system sie zawiesza, bo > GC rozpaczliwie probuje zdobyc jeszcze troche pamieci i zaczyna wyrzucac > klasy z pamieci. GC nie rozwiazuje wszystkich problemow z pamiecia. Tyle, ze > w np. Javie jest cale mnostwo odpowiednich tooli, ktore czynia wyszukiwanie > memory leaks dosc prostym zajeciem. No i JEE ma taka architekture, ze > naprawde trzeba sie "postarac" (np. uzywajac statycznych kolekcji) by uzyskac > memory leak. Polecam wątek: http://groups.google.pl/group/pl.comp.lang.c/browse_frm/thread/acc3cfd2c1bbd0ad/1ee9382868c25c69?lnk=st&q=c%2B%2B0x+GC+group%3Apl.comp.lang.c&rnum=1&hl=pl#1ee9382868c25c69 Tam gdzieś ok. 201 post, została uruchomiona wojna ojczyźniana nt. GC. CG, ładnie sprząta pamięć, choć to nieprawda, że jest idealny, bo ma wiele wad. To czego NIE robi to nie czyści zasobów, nie odłącza połączeń z bazami danych itd. Proszę też zobaczyć na nawyki jakie wytważa w kontekście pisania finalizatorów, ich się nie pisze, więc kiedy trzeba napisać to się nie wie jak - oczywiście jeśli mowa o javie. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki `\/\/
Re: C++0x...
Author: Aleksander Galicki
Date: Thu, 06 Apr 2006 06:44
Date: Thu, 06 Apr 2006 06:44
53 lines
2736 bytes
2736 bytes
>bo
>> GC rozpaczliwie probuje zdobyc jeszcze troche pamieci i zaczyna wyrzucac
>> klasy z pamieci. GC nie rozwiazuje wszystkich problemow z pamiecia. Tyle,
>ze
>> w np. Javie jest cale mnostwo odpowiednich tooli, ktore czynia wyszukiwanie
>> memory leaks dosc prostym zajeciem. No i JEE ma taka architekture, ze
>> naprawde trzeba sie "postarac" (np. uzywajac statycznych kolekcji) by
>uzyskac
>> memory leak.
>
>Polecam wątek:
>
>http://groups.google.pl/group/pl.c omp.lang.c/browse_frm/thread/acc3cf
d2c1bbd0ad/1ee9382868c25c69?lnk=st& q=c%2B%2B0x+GC+group%3Apl.comp.lang .c&rnum=1&hl=pl#1ee9382868c25c69
>
>Tam gdzieś ok. 201 post, została uruchomiona wojna ojczyźniana nt. GC.
Litosci. Grupa pl.comp.lang.c nadaje sie tylko do jednego : raz do roku mozna
tam zobaczyc ludzi, ktorych podnieca metaprogramowanie.
>
>CG, ładnie sprząta pamięć, choć to nieprawda, że jest idealny, bo ma wiele
>wad.
>To czego NIE robi to nie czyści zasobów, nie odłącza połączeń z bazami danych
>itd.
GC rowniez nie nadaje sie do nastepujacych rzeczy:
-parzenie kawy
-wzglednie herbaty
-prania skarpetek
-polowania na niedzwiedzi
-mycia podlogi
...
Przegapilem cos?
> Proszę też zobaczyć na nawyki jakie wytważa w kontekście pisania
>finalizatorów, ich się nie pisze, więc kiedy trzeba napisać to się nie wie
>jak
>- oczywiście jeśli mowa o javie.
Finalizatorow sie nie pisze. Albo pisze sie _bardzo_ rzadko. W szczegolnosci
finalizatory sie nie nadaja do zarzadzania zasobami.
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: Aleksander Galicki
Date: Thu, 06 Apr 2006 08:31
Date: Thu, 06 Apr 2006 08:31
17 lines
1626 bytes
1626 bytes
>"Aleksander Galicki" <no@no.com> wrote:
>
>> Ogolnie, mam wrazenie, ze "problemy", ktore
>> opisujesz sa jakies takie akademickie i malo kogo obchodza...
>
>Nie zdarzylo Ci sie kiedykolwiek w Javie przechodzic przez jakas strukture
>dowiazan i ustawiac po drodze referencje na null ?
Po to by jeden obiekt z pamieci wylecial? Juz nawet nie pamietam kiedy tak
ostatnio robilem. Zwykle z odciana sie korzen by cale (pod)dzrewo wylecialo.
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: Seweryn Habdank-Wojewódzki
Date: Thu, 06 Apr 2006 08:54
Date: Thu, 06 Apr 2006 08:54
55 lines
2576 bytes
2576 bytes
Witam
Aleksander Galicki wrote:
>>Tam gdzieś ok. 201 post, została uruchomiona wojna ojczyźniana nt. GC.
>
> Litosci. Grupa pl.comp.lang.c nadaje sie tylko do jednego : raz do roku mozna
> tam zobaczyc ludzi, ktorych podnieca metaprogramowanie.
Widzę, że wychodzą kompleksy, nawet nie zajrzałeś do tego wątku. Tak napisałeś,
bo ostatnio na pl.comp.lang.c nie byłeś wstanie obronić swoich tez i tyle.
Pragnę zauważyć, że w tym wątku, padały też bardzo istotne argumenty za GC, ze
strony ludzi, którzy bardzo dobrze programują w C i mają dużo racji.
> GC rowniez nie nadaje sie do nastepujacych rzeczy:
> -parzenie kawy
> -wzglednie herbaty
> -prania skarpetek
> -polowania na niedzwiedzi
> -mycia podlogi
> ...
>
> Przegapilem cos?
Pomijam fakt, że to jest nie na temat, co świadczy o ignorancji i braku
kompetencji.
> Finalizatorow sie nie pisze.
Przykład funkcji ściągniętej ze strony java.sun.com:
protected void finalize(){
//Objects created in run method are finalized when
//program terminates and thread exits
try{
server.close();
} catch (IOException e) {
System.out.println("Could not close socket");
System.exit(-1);
}
}
> Albo pisze sie _bardzo_ rzadko. W szczegolnosci
> finalizatory sie nie nadaja do zarzadzania zasobami.
Jeśli połączenie internetowe to nie jest zasób, to tak. Od kiedy zasób to tylko
pamięć.
Pozdrawiam.
--
|\/\/| Seweryn Habdank-Wojewódzki
`\/\/
Re: C++0x...
Author: Aleksander Galicki
Date: Thu, 06 Apr 2006 09:37
Date: Thu, 06 Apr 2006 09:37
75 lines
3474 bytes
3474 bytes
>Witam
>
>Aleksander Galicki wrote:
>
>>>Tam gdzieś ok. 201 post, została uruchomiona wojna ojczyźniana nt. GC.
>>
>> Litosci. Grupa pl.comp.lang.c nadaje sie tylko do jednego : raz do roku
>mozna
>> tam zobaczyc ludzi, ktorych podnieca metaprogramowanie.
>
>Widzę, że wychodzą kompleksy, nawet nie zajrzałeś do tego wątku. Tak
>napisałeś,
>bo ostatnio na pl.comp.lang.c nie byłeś wstanie obronić swoich tez i tyle.
>
>Pragnę zauważyć, że w tym wątku, padały też bardzo istotne argumenty za GC,
>ze
>strony ludzi, którzy bardzo dobrze programują w C i mają dużo racji.
Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie GC.
Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie same maja
o GC pojecie. A i btw: jakie kompleksy? :-) Ze sobie nie pometaprogramuje? :-)
>> GC rowniez nie nadaje sie do nastepujacych rzeczy:
>> -parzenie kawy
>> -wzglednie herbaty
>> -prania skarpetek
>> -polowania na niedzwiedzi
>> -mycia podlogi
>> ...
>>
>> Przegapilem cos?
>
>Pomijam fakt, że to jest nie na temat, co świadczy o ignorancji i braku
>kompetencji.
Ignorancja w wzwiazku z czym? Brak jakich kompetencji? Konkretnie :-)
GC nie sluzy do zarzadzanie innymi zasobami niz pamiec. Wyciaganie za kazdym
razem "ale mi GC polaczenia nie zamknie" jest poprostu nie na temat.
>> Finalizatorow sie nie pisze.
>
>Przykład funkcji ściągniętej ze strony java.sun.com:
>
>protected void finalize(){
>//Objects created in run method are finalized when
>//program terminates and thread exits
>try{
>server.close();
>} catch (IOException e) {
>System.out.println("Could not close socket");
>System.exit(-1);
>}
>}
Powtarzam: tak sie RZADKO pisze. Nawet jak to znalazles na sun.com. Nawet
gdybys to znalazl w Ewangelii.
>> Albo pisze sie _bardzo_ rzadko. W szczegolnosci
>> finalizatory sie nie nadaja do zarzadzania zasobami.
>
>Jeśli połączenie internetowe to nie jest zasób, to tak. Od kiedy zasób to
>tylko
>pamięć.
Finally sie uzywa. I to rzadko, bo malo kto bezposrednio w soketki sie bawi. I
ogolnie - co to za maniera - widac ze tutorialu o Javie nie przeczytales, a juz
zamierzasz ludziom tlumaczyc jak sie programuje w Javie? Moze troche pokory?
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: Seweryn Habdank-Wojewódzki
Date: Thu, 06 Apr 2006 10:11
Date: Thu, 06 Apr 2006 10:11
60 lines
3662 bytes
3662 bytes
Witam Aleksander Galicki wrote: > Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie > GC. Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie same > maja o GC pojecie. No więc nadal nie zerknąłeś na wątek poczytaj zatem wypowiedzi Qrczaka, to zrozumiesz. I nie mów, że ktoś jest nie douczony jeśli nie wiesz co wie, bo nie chciało ci się poczytać wypowiedzi kogokolwiek, a krytykujesz. > Ignorancja w wzwiazku z czym? Brak jakich kompetencji? Konkretnie :-) Proszę powiedzieć coś rozsądnego o GC, bo jak na razie to widzę tylko stek bzdur o jego jakiejkolwiek nie przydatności np. do parzenia kawy. Takie po prostu szczekanie: "GC rulez" i nic ani ZA ani PRZECIW. > Powtarzam: tak sie RZADKO pisze. Nawet jak to znalazles na sun.com. Nawet > gdybys to znalazl w Ewangelii. I co z tego, że rzadko. Jeżeli specyfikacja to przewiduje to jednak goście z SUN/IBM pomyśleli szerzej niż Ty, co im się chwali. > Finally sie uzywa. I to rzadko, bo malo kto bezposrednio w soketki sie bawi. Wiem, wiem, implementacja soketów SUN/IBM są jedyne słuzne i nikt nie może nic innegopisać, tylko tak, aby problem zawsze sprowadzić do już zrobionych soketów. Wiem, wiem, są do tego gotowce. Ale to był tylko przykład. Pewnie powiesz, że na pamięci i soketach się świat kończy i że restę się rzadko używa. Nawet jeśli rzadko, to nie znaczy, że się nie używa. > I ogolnie - co to za maniera - widac ze tutorialu o Javie nie przeczytales, a > juz zamierzasz ludziom tlumaczyc jak sie programuje w Javie? Przeczytałem, ale jeśli chcesz mi coś powiedzieć, to podaj konkret np. link do strony. A nie gadaj, że czegoś nie czytałem. Gdzie w tutorialu jest napisane, że NIE pisze się finalizatorów. > Moze troche pokory? Pokorny jestem wobec tych, którzy wykazują się wiedzą i umiejętnością dyskutowania. Jak mi ktoś mówi, że tak jest lepiej, bo jest lepiej, to raczej temu komuś nie ufam, chyba, że ktoś u mnie zdobył zaufanie na drodze wcześniejszego wykazania się wiedzą. A może, jak jesteś taki guru, względem którego trzeba mieć dobre maniery i pokorę, to podasz w celach dydaktycznych dla początkującego java usera, link do stronki, kiedy jednak się używa finalizatorów z podkreśleniem faktu, który z przypadków jest rzadki, a którego się prawie nigdy nie używa, bo są odpowiednie pakiety w javie. Zeby być mentorem, trzeba mieć mentorskie zacięcie. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki `\/\/
Re: C++0x...
Author: Adam Karpierz
Date: Thu, 06 Apr 2006 10:12
Date: Thu, 06 Apr 2006 10:12
16 lines
1630 bytes
1630 bytes
"Aleksander Galicki" <no@no.com> wrote: > GC nie sluzy do zarzadzanie innymi zasobami niz pamiec. Dokladnie ! Wszyscy przeciwnicy GC (szczegolnie Ci z dwoma krzyzykami na oczach) zdaja sie o tym w ogole nie pamietac W ogole widze poplatanie z pomieszaniem we wszelkich dyskusjach za/przeciw GC. Poplatanie zwalniania pamieci z destrukcja/"uniewaznieniem" obiektu, pomieszanie GC z finalizacja itp. itp itd PS: zeby nie bylo; Pisze w C/C+ 20 lat Ak
Re: C++0x...
Author: major
Date: Thu, 06 Apr 2006 10:16
Date: Thu, 06 Apr 2006 10:16
91 lines
4580 bytes
4580 bytes
Aleksander Galicki wrote:
> >Witam
> >
> >Aleksander Galicki wrote:
> >
> >>>Tam gdzieś ok. 201 post, została uruchomiona wojna ojczyźniana nt. GC.
> >>
> >> Litosci. Grupa pl.comp.lang.c nadaje sie tylko do jednego : raz do roku
> >mozna
> >> tam zobaczyc ludzi, ktorych podnieca metaprogramowanie.
> >
> >Widzę, że wychodzą kompleksy, nawet nie zajrzałeś do tego wątku. Tak
> >napisałeś,
> >bo ostatnio na pl.comp.lang.c nie byłeś wstanie obronić swoich tez i tyle.
> >
> >Pragnę zauważyć, że w tym wątku, padały też bardzo istotne argumenty za GC,
> >ze
> >strony ludzi, którzy bardzo dobrze programują w C i mają dużo racji.
>
> Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie GC.
> Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie same maja
> o GC pojecie. A i btw: jakie kompleksy? :-) Ze sobie nie pometaprogramuje? :-)
>
> >> GC rowniez nie nadaje sie do nastepujacych rzeczy:
> >> -parzenie kawy
> >> -wzglednie herbaty
> >> -prania skarpetek
> >> -polowania na niedzwiedzi
> >> -mycia podlogi
> >> ...
> >>
> >> Przegapilem cos?
> >
> >Pomijam fakt, że to jest nie na temat, co świadczy o ignorancji i braku
> >kompetencji.
>
> Ignorancja w wzwiazku z czym? Brak jakich kompetencji? Konkretnie :-)
> GC nie sluzy do zarzadzanie innymi zasobami niz pamiec. Wyciaganie za kazdym
> razem "ale mi GC polaczenia nie zamknie" jest poprostu nie na temat.
>
> >> Finalizatorow sie nie pisze.
> >
> >Przykład funkcji ściągniętej ze strony java.sun.com:
> >
> >protected void finalize(){
> >//Objects created in run method are finalized when
> >//program terminates and thread exits
> >try{
> >server.close();
> >} catch (IOException e) {
> >System.out.println("Could not close socket");
> >System.exit(-1);
> >}
> >}
>
> Powtarzam: tak sie RZADKO pisze. Nawet jak to znalazles na sun.com. Nawet
> gdybys to znalazl w Ewangelii.
>
>
> >> Albo pisze sie _bardzo_ rzadko. W szczegolnosci
> >> finalizatory sie nie nadaja do zarzadzania zasobami.
> >
> >Jeśli połączenie internetowe to nie jest zasób, to tak. Od kiedy zasób to
> >tylko
> >pamięć.
>
> Finally sie uzywa. I to rzadko, bo malo kto bezposrednio w soketki sie bawi. I
> ogolnie - co to za maniera - widac ze tutorialu o Javie nie przeczytales, a juz
> zamierzasz ludziom tlumaczyc jak sie programuje w Javie? Moze troche pokory?
>
>
finalize() to jednak doskonałe zabezpieczenie w przypadku wymiany
danych przez internet (szeroko rozumianych aplikacji typu smart client
lub inne rozproszone na dwie strony funkcjonalności), jeżeli nie
pomagaja timeout-y to jest to najbezpiecznejsza forma kontroli
zakończenia procesu jaki odbywa sie po stronie klienta i serwera
do kompletu przydaje się initialize()
polecam takie rozwiązanie, gdyż zawsze wiadomo co się wykonało w
systemie a co przerwało
TRK
> A.
> --
> ============= P o l N E W S ==============
> archiwum i przeszukiwanie newsów
> http://www.polnews.pl
Re: C++0x...
Author: Seweryn Habdank-Wojewódzki
Date: Thu, 06 Apr 2006 10:26
Date: Thu, 06 Apr 2006 10:26
41 lines
2289 bytes
2289 bytes
Witam Adam Karpierz wrote: > "Aleksander Galicki" <no@no.com> wrote: > >> GC nie sluzy do zarzadzanie innymi zasobami niz pamiec. > > Dokladnie ! > Wszyscy przeciwnicy GC (szczegolnie Ci z dwoma krzyzykami na oczach) > zdaja sie o tym w ogole nie pamietac Nie. To w Javie jest tak, że GC jest odpowiedzialne za finalizację objektów. Samemu nie wykonuje się metody finalize - no chyba, że znowu czegoś nie doczytałem w tutorialu. Włąsnie w języku z dwoma krzyżykami GC jest odpowiedzialny za pamięć, a z resztę jest odpowiedzialny programista i projektant. > W ogole widze poplatanie z pomieszaniem we wszelkich dyskusjach > za/przeciw GC. Słusznie. Jest poplątanie, bo w niektórych językach GC weszło tak daleko, że uzurpuje sobie prawa do zamykania każdego obiektu nie zależnie od tego z jakiego zasobu korzysta. > Poplatanie zwalniania pamieci z destrukcja/"uniewaznieniem" obiektu, > pomieszanie GC z finalizacja itp. itp itd A może jakiś link w celu pokazania jak wyglądają te procesy w różnych językach? > PS: zeby nie bylo; Pisze w C/C+ 20 lat A w javie? Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki `\/\/
Re: C++0x...
Author: Aleksander Galicki
Date: Thu, 06 Apr 2006 12:08
Date: Thu, 06 Apr 2006 12:08
81 lines
4507 bytes
4507 bytes
>> Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie
>> GC. Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie
>same
>> maja o GC pojecie.
>
>No więc nadal nie zerknąłeś na wątek poczytaj zatem wypowiedzi Qrczaka, to
>zrozumiesz. I nie mów, że ktoś jest nie douczony jeśli nie wiesz co wie, bo
>nie chciało ci się poczytać wypowiedzi kogokolwiek, a krytykujesz.
Ale ja nie chce zagladac na pl.comp.lang.c . Nie w tgym roku kalendarzowym.
>> Ignorancja w wzwiazku z czym? Brak jakich kompetencji? Konkretnie :-)
>
>Proszę powiedzieć coś rozsądnego o GC, bo jak na razie to widzę tylko stek
>bzdur o jego jakiejkolwiek nie przydatności np. do parzenia kawy. Takie po
>prostu szczekanie: "GC rulez" i nic ani ZA ani PRZECIW.
abawnie - ja przeciez niczego pt "GC rules" nie napisalem. To Kolega pewnie o
sobie pisze w zwiazku z szczekaniem? Ja napisalem konkretnie: GC nie sluzy do
zwalniania innych zasobow niz pamiec. Zatem litanie "GC nie zamyka polaczen do
azy danych" sa tyle samo warte, co "GC nie upral mi skarpetek". Teraz jasno?
>> Powtarzam: tak sie RZADKO pisze. Nawet jak to znalazles na sun.com. Nawet
>> gdybys to znalazl w Ewangelii.
>
>I co z tego, że rzadko. Jeżeli specyfikacja to przewiduje to jednak goście z
>SUN/IBM pomyśleli szerzej niż Ty, co im się chwali.
Co IBM wymyslil w zwiazku z finalizatorami???? Co specyfikacja przewiduje??
>> Finally sie uzywa. I to rzadko, bo malo kto bezposrednio w soketki sie
>bawi.
>
>Wiem, wiem, implementacja soketów SUN/IBM są jedyne słuzne i nikt nie może
>nic
>innegopisać,
To goraczka? O czym kolega pisze? (I o co chodzi z tym IBM?)
> tylko tak, aby problem zawsze sprowadzić do już zrobionych
>soketów. Wiem, wiem, są do tego gotowce. Ale to był tylko przykład. Pewnie
>powiesz, że na pamięci i soketach się świat kończy i że restę się rzadko
>używa. Nawet jeśli rzadko, to nie znaczy, że się nie używa.
Narzekanie na finalize(), ktorego zwykle sie nie uzywa do zarzadzania zasobami,
w kontekscie dyskusji o zarzadzaniu pamiecia poprostu mija sie z jakimkolwiek
sensem. Ale proponuje eksperyment: sciagnij zrodla jakiegos wiekszego open
source w Javie (np. ActiveMQ, czy JBoss) i zapusc tekstowe wyszukiwanie po
slowach "finally" i "finalize".
>> I ogolnie - co to za maniera - widac ze tutorialu o Javie nie przeczytales,
>a
>> juz zamierzasz ludziom tlumaczyc jak sie programuje w Javie?
>
>Przeczytałem, ale jeśli chcesz mi coś powiedzieć, to podaj konkret np. link
>do
>strony. A nie gadaj, że czegoś nie czytałem. Gdzie w tutorialu jest napisane,
>że NIE pisze się finalizatorów.
To wlasnie dowod na to, ze do dyskusji trzeba cos wiecej niz przeczytac
tutorial. Finalize i finally gwarantuja inne kontrakty. Finalize wykona sie
tylko raz gdzies miedzy likwidacja ostatniej referencji z systemu do obiektu a
skasowaniem tego obiektu przez GC. To malo uzyteczny kontrakt w kontekscie
zarzadzania zasobamic - bo nie wiadomo kiedy ten GC sie wywola no i zwyczajnie
nie ma sensu laczyc kwestie zwalniania pamieci ze zwalnianiem jakichkolwiek
innych zasobow. Finally gwarantuje , ze akcja (zamkniecie polaczenia np) wykona
sie po opuszczeniu bloku i najczesciej o to wlasnie chodzi.
A.
--
============= P o l N E W S ==============
archiwum i przeszukiwanie newsów
http://www.polnews.pl
Re: C++0x...
Author: A..L.
Date: Thu, 06 Apr 2006 12:28
Date: Thu, 06 Apr 2006 12:28
12 lines
1272 bytes
1272 bytes
On Thu, 06 Apr 2006 07:47:12 +0200, Seweryn Habdank-Wojewódzki <habdank@gmail.com> wrote: > > >CG, ładnie sprząta pamięć, choć to nieprawda, że jest idealny, bo ma wiele wad. >To czego NIE robi to nie czyści zasobów, nie odłącza połączeń z bazami danych >itd. Bo to NIE JEST zadanie GC. A.L.
Re: C++0x...
Author: A..L.
Date: Thu, 06 Apr 2006 12:30
Date: Thu, 06 Apr 2006 12:30
22 lines
1703 bytes
1703 bytes
On Thu, 06 Apr 2006 10:54:45 +0200, Seweryn Habdank-Wojewódzki
<habdank@gmail.com> wrote:
>
>Przykład funkcji ściągniętej ze strony java.sun.com:
>
> protected void finalize(){
>//Objects created in run method are finalized when
>//program terminates and thread exits
> try{
> server.close();
> } catch (IOException e) {
> System.out.println("Could not close socket");
> System.exit(-1);
> }
> }
Niespecjalnie wazne co pisze Sun. Tam nie tylko sa same Einsteiny,
tam jest tez sporo idiotow. A za powyzszy kod student dostalby lufe
a pracownik wylecial z pracy.
A.L.
Re: C++0x...
Author: Sektor van Skijlen
Date: Thu, 06 Apr 2006 16:07
Date: Thu, 06 Apr 2006 16:07
76 lines
4895 bytes
4895 bytes
Dnia Thu, 06 Apr 2006 11:37:11 +0200, Aleksander Galicki skrobie: > >Widzę, że wychodzą kompleksy, nawet nie zajrzałeś do tego wątku. Tak > >napisałeś, > >bo ostatnio na pl.comp.lang.c nie byłeś wstanie obronić swoich tez i tyle. > > > >Pragnę zauważyć, że w tym wątku, padały też bardzo istotne argumenty za GC, > >ze > >strony ludzi, którzy bardzo dobrze programują w C i mają dużo racji. > Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie GC. Jasne. Najlepsze rekomendacje pochodzą od ludzi, którzy zajmują się wyłacznie językami mającymi GC i w ogóle nie wiedzą, co to zwalnianie pamięci. Tak samo jak najlepsze rekomendacje w kwestii Windowsów posiadają ludzie z Microsoftu, a najlepsze rekomendacje do wypowiadania się o Javie mają ludzie z firmy Sun lub p. Aleksander Galicki, który, jak wszyscy wiedzą, wszystko wie o programowaniu biznesowym. > Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie same maja > o GC pojecie. A i btw: jakie kompleksy? :-) Ze sobie nie pometaprogramuje? :-) Nie wiem jakie; kompleksy zwykle objawiają się demonstracyjną arogancją, jaką ty właśnie prezentujesz, więc po prostu sam o sobie wystawiasz świadectwo. > >> GC rowniez nie nadaje sie do nastepujacych rzeczy: > >> -parzenie kawy > >> -wzglednie herbaty > >> -prania skarpetek > >> -polowania na niedzwiedzi > >> -mycia podlogi > >> ... > >> > >> Przegapilem cos? > > > >Pomijam fakt, że to jest nie na temat, co świadczy o ignorancji i braku > >kompetencji. > Ignorancja w wzwiazku z czym? Brak jakich kompetencji? Konkretnie :-) To, co napisałeś, to jest odwracanie kota ogonem. Ja też mógłbym nawypisywać, że ręczne zarządzanie zasobami nie nadaje się do parzenia kawy, wiązania butów i podcierania się, o ile oczywiście chciałbym robić z siebie idiotę. > GC nie sluzy do zarzadzanie innymi zasobami niz pamiec. Wyciaganie za kazdym > razem "ale mi GC polaczenia nie zamknie" jest poprostu nie na temat. To jest na temat. Chyba że w "twojej" branży wszystkie istniejące w oprogramowaniu obiekty wymagają do swojego istnienia i do działania określonych dla nich funkcjonalności tylko jednego rodzaju zasobu: pamięci. Szczerze mówiąc, nie wiem, czy w ogóle istnieje takie oprogramowanie. Skoro jednak zasoby, z jakich korzystają obiekty to nie tylko pamięć, więc jasne jest, że - skoro, jak powiedziałeś słusznie, GC nie służy do zarządzania innymi zasobami, niż pamięć - nie do wszystkich obiektów można stosować automatyczne zarządzanie zasobami, jakie dostarcza GC. W szczególności nie nadaje się do zarządzania OBIEKTAMI, które używają innych zasobów, niż pamięć. Efekt jest taki, że zarządzanie pamięcią mamy z głowy, ale zarządzanie innymi zasobami jest nie do zorganizowania (pomińmy już "metodę C", czyli wołanie zamykaczy w każdym miejscu, w którym to konieczne). Przykładowo, co się stanie, jeśli trzymasz wewnątrz obiektu identyfikator przydzielonego zasobu i nagle tracisz wszystkie referencje do tego obiektu? > Powtarzam: tak sie RZADKO pisze. Nawet jak to znalazles na sun.com. Nawet > gdybys to znalazl w Ewangelii. No tak, oczywiście - 99.9% wszystkich obiektów nie operuje na niczym innym, niż pamięć, przecież wszyscy wiedzą... -- // _ ___ Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl> \\ L_ |/ `| /^\ ,() <ethourhs(O)gmail.com> // \_ |\ \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx "I am allergic to Java because programming in Java reminds me casting spells"
Re: C++0x...
Author: Seweryn Habdank-Wojewódzki
Date: Thu, 06 Apr 2006 21:46
Date: Thu, 06 Apr 2006 21:46
75 lines
3984 bytes
3984 bytes
Witam Aleksander Galicki wrote: >>> Dobre programowanie w C to takie sobie rekomendacje jesli chodzi o kwestie >>> GC. Na tamtej grupie na GC patrza jak na zelaznego wilka z bajki i takie >>same >>> maja o GC pojecie. >> >>No więc nadal nie zerknąłeś na wątek poczytaj zatem wypowiedzi Qrczaka, to >>zrozumiesz. I nie mów, że ktoś jest nie douczony jeśli nie wiesz co wie, bo >>nie chciało ci się poczytać wypowiedzi kogokolwiek, a krytykujesz. > > Ale ja nie chce zagladac na pl.comp.lang.c . Nie w tgym roku kalendarzowym. No to tylko zaznaczę, tam się wypowiada także specjalista od języków, który stworzył własny język funkcyjny i zaimplementował go włączając do niego m.in. GC. Jednak jego opinia, jest dla mnie o tyle wartościowa o ile jest zawsze konkretna oraz wskazuje, że autor naprawdę zna się na rzeczy, chociaż nie zawsze się z jego opinią zgadzam. > Ja napisalem konkretnie: GC nie sluzy do > zwalniania innych zasobow niz pamiec. Zatem litanie "GC nie zamyka polaczen > do azy danych" sa tyle samo warte, co "GC nie upral mi skarpetek". > Teraz jasno? Czyli zgadzamy się oboje. > Co IBM wymyslil w zwiazku z finalizatorami???? Co specyfikacja przewiduje?? Nic po prostu nic. Tak jakoś napisałem, bo znam javę ogólnie i wielu jej aspektów nie kapuje. > To goraczka? 36.6 st. C > O czym kolega pisze? (I o co chodzi z tym IBM?) SUN tworzy javę, i IBM też. Przy czym SUN ustala specyfikację, tak mi się wydaje, choć myślę, że specyfikacja nie jest tylko i wyłącznie sprawą SUN. > Narzekanie na finalize(), ktorego zwykle sie nie uzywa do zarzadzania > zasobami, w kontekscie dyskusji o zarzadzaniu pamiecia poprostu mija sie z > jakimkolwiek sensem. Może. Zatem jak się sprząta, tak profesjonalnie, po sobie zasoby w javie. > Ale proponuje eksperyment: sciagnij zrodla jakiegos > wiekszego open source w Javie (np. ActiveMQ, czy JBoss) i zapusc tekstowe > wyszukiwanie po slowach "finally" i "finalize". Chętnie. > To wlasnie dowod na to, ze do dyskusji trzeba cos wiecej niz przeczytac > tutorial. Finalize i finally gwarantuja inne kontrakty. Finalize wykona sie > tylko raz gdzies miedzy likwidacja ostatniej referencji z systemu do obiektu > a skasowaniem tego obiektu przez GC. To malo uzyteczny kontrakt w kontekscie > zarzadzania zasobamic - bo nie wiadomo kiedy ten GC sie wywola no i > zwyczajnie nie ma sensu laczyc kwestie zwalniania pamieci ze zwalnianiem > jakichkolwiek innych zasobow. Finally gwarantuje, ze akcja (zamkniecie > polaczenia np) wykona sie po opuszczeniu bloku i najczesciej o to wlasnie > chodzi. Super. zatem mam zadanie domowe. Dziękuję, że wreszcie postawione jakieś konstruktywne zadania poparte słowami kluczowymi. Linki sam sobie znajdę. Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki `\/\/
Page 1 of 2 • 83 total messages
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads