-
garbage collection e allocazione risorseScritto daNon Autenticatoil 2009-04-04 12:42:00.0 alle 2009-04-04 12:42:00.0è vero in C++ devi ricordarti di rilasciare gli oggetti, in modo da liberare la memoria.
Ecco allora che salta fuori il garbage collector che ti risolve il problema eliminando la necessità di liberare manualmente la memoria.
Quindi in C# e Java non devo più chiamare delete. Solo che alcune risorse allocate dagli oggetti devono comunque essere rilasciate.
Allora è buona pratica creare una funzione membro adhoc (dispose) e richiamarla quando le risorse allocate devono essere rilasciate.
Cioè in pratica torno alla situazione del C++, devo ricordarmi di rilasciare le risorse. Eh ma non la memoria, di quella se ne occupa il GC!!!

Che progresso del cazzo.-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 13:01:00.0 alle 2009-04-04 13:01:00.0
- Scritto da:
> è vero in C++ devi ricordarti di rilasciare gli
> oggetti, in modo da liberare la
> memoria.
>
> Ecco allora che salta fuori il garbage collector
> che ti risolve il problema eliminando la
> necessità di liberare manualmente la
> memoria.
>
> Quindi in C# e Java non devo più chiamare delete.
> Solo che alcune risorse allocate dagli oggetti
> devono comunque essere
> rilasciate.
>
> Allora è buona pratica creare una funzione membro
> adhoc (dispose) e richiamarla quando le risorse
> allocate devono essere
> rilasciate.
>
> Cioè in pratica torno alla situazione del C++,
> devo ricordarmi di rilasciare le risorse. Eh ma
> non la memoria, di quella se ne occupa il GC!!!
>
>
>
> Che progresso del cazzo.
Un bel progresso sì invece, i puntatori sono sempre stati una gran rottura di cazzi-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 13:36:00.0 alle 2009-04-04 13:36:00.0
- Scritto da:
>
> - Scritto da:
> > è vero in C++ devi ricordarti di rilasciare gli
> > oggetti, in modo da liberare la
> > memoria.
> >
> > Ecco allora che salta fuori il garbage collector
> > che ti risolve il problema eliminando la
> > necessità di liberare manualmente la
> > memoria.
> >
> > Quindi in C# e Java non devo più chiamare
> delete.
> > Solo che alcune risorse allocate dagli oggetti
> > devono comunque essere
> > rilasciate.
> >
> > Allora è buona pratica creare una funzione
> membro
> > adhoc (dispose) e richiamarla quando le risorse
> > allocate devono essere
> > rilasciate.
> >
> > Cioè in pratica torno alla situazione del C++,
> > devo ricordarmi di rilasciare le risorse. Eh ma
> > non la memoria, di quella se ne occupa il GC!!!
> >
> >
> >
> > Che progresso del cazzo.
>
> Un bel progresso sì invece, i puntatori sono
> sempre stati una gran rottura di
> cazzi
i puntatori ci sono ancora solo che ora li chiami reference-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 14:30:00.0 alle 2009-04-04 14:30:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > è vero in C++ devi ricordarti di rilasciare
> gli
> > > oggetti, in modo da liberare la
> > > memoria.
> > >
> > > Ecco allora che salta fuori il garbage
> collector
> > > che ti risolve il problema eliminando la
> > > necessità di liberare manualmente la
> > > memoria.
> > >
> > > Quindi in C# e Java non devo più chiamare
> > delete.
> > > Solo che alcune risorse allocate dagli oggetti
> > > devono comunque essere
> > > rilasciate.
> > >
> > > Allora è buona pratica creare una funzione
> > membro
> > > adhoc (dispose) e richiamarla quando le
> risorse
> > > allocate devono essere
> > > rilasciate.
> > >
> > > Cioè in pratica torno alla situazione del C++,
> > > devo ricordarmi di rilasciare le risorse. Eh
> ma
> > > non la memoria, di quella se ne occupa il
> GC!!!
> > >
> > >
> > >
> > > Che progresso del cazzo.
> >
> > Un bel progresso sì invece, i puntatori sono
> > sempre stati una gran rottura di
> > cazzi
>
> i puntatori ci sono ancora solo che ora li chiami
> reference
Ma nessuno dice niente riguardo a questo interessantissimo argomento?-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 15:09:00.0 alle 2009-04-04 15:09:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > > è vero in C++ devi ricordarti di rilasciare
> > gli
> > > > oggetti, in modo da liberare la
> > > > memoria.
> > > >
> > > > Ecco allora che salta fuori il garbage
> > collector
> > > > che ti risolve il problema eliminando la
> > > > necessità di liberare manualmente la
> > > > memoria.
> > > >
> > > > Quindi in C# e Java non devo più chiamare
> > > delete.
> > > > Solo che alcune risorse allocate dagli
> oggetti
> > > > devono comunque essere
> > > > rilasciate.
> > > >
> > > > Allora è buona pratica creare una funzione
> > > membro
> > > > adhoc (dispose) e richiamarla quando le
> > risorse
> > > > allocate devono essere
> > > > rilasciate.
> > > >
> > > > Cioè in pratica torno alla situazione del
> C++,
> > > > devo ricordarmi di rilasciare le risorse. Eh
> > ma
> > > > non la memoria, di quella se ne occupa il
> > GC!!!
> > > >
> > > >
> > > >
> > > > Che progresso del cazzo.
> > >
> > > Un bel progresso sì invece, i puntatori sono
> > > sempre stati una gran rottura di
> > > cazzi
> >
> > i puntatori ci sono ancora solo che ora li
> chiami
> > reference
>
> Ma nessuno dice niente riguardo a questo
> interessantissimo
> argomento?
La programmazione ad oggetti non è fatta per "semplificare" quella tradizionale.
-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 16:05:00.0 alle 2009-04-04 16:05:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > > è vero in C++ devi ricordarti di
> rilasciare
> > > gli
> > > > > oggetti, in modo da liberare la
> > > > > memoria.
> > > > >
> > > > > Ecco allora che salta fuori il garbage
> > > collector
> > > > > che ti risolve il problema eliminando la
> > > > > necessità di liberare manualmente la
> > > > > memoria.
> > > > >
> > > > > Quindi in C# e Java non devo più chiamare
> > > > delete.
> > > > > Solo che alcune risorse allocate dagli
> > oggetti
> > > > > devono comunque essere
> > > > > rilasciate.
> > > > >
> > > > > Allora è buona pratica creare una funzione
> > > > membro
> > > > > adhoc (dispose) e richiamarla quando le
> > > risorse
> > > > > allocate devono essere
> > > > > rilasciate.
> > > > >
> > > > > Cioè in pratica torno alla situazione del
> > C++,
> > > > > devo ricordarmi di rilasciare le risorse.
> Eh
> > > ma
> > > > > non la memoria, di quella se ne occupa il
> > > GC!!!
> > > > >
> > > > >
> > > > >
> > > > > Che progresso del cazzo.
> > > >
> > > > Un bel progresso sì invece, i puntatori sono
> > > > sempre stati una gran rottura di
> > > > cazzi
> > >
> > > i puntatori ci sono ancora solo che ora li
> > chiami
> > > reference
> >
> > Ma nessuno dice niente riguardo a questo
> > interessantissimo
> > argomento?
>
> La programmazione ad oggetti non è fatta per
> "semplificare" quella
> tradizionale.
non esiste il paradigma di programmazione "tradizionale". Io conosco paradigmi imperativi, ad oggetti, dichiarativi, ma non "tradizionali"-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 21:36:00.0 alle 2009-04-04 21:36:00.0
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > > è vero in C++ devi ricordarti di
> > rilasciare
> > > > gli
> > > > > > oggetti, in modo da liberare la
> > > > > > memoria.
> > > > > >
> > > > > > Ecco allora che salta fuori il garbage
> > > > collector
> > > > > > che ti risolve il problema eliminando la
> > > > > > necessità di liberare manualmente la
> > > > > > memoria.
> > > > > >
> > > > > > Quindi in C# e Java non devo più
> chiamare
> > > > > delete.
> > > > > > Solo che alcune risorse allocate dagli
> > > oggetti
> > > > > > devono comunque essere
> > > > > > rilasciate.
> > > > > >
> > > > > > Allora è buona pratica creare una
> funzione
> > > > > membro
> > > > > > adhoc (dispose) e richiamarla quando le
> > > > risorse
> > > > > > allocate devono essere
> > > > > > rilasciate.
> > > > > >
> > > > > > Cioè in pratica torno alla situazione
> del
> > > C++,
> > > > > > devo ricordarmi di rilasciare le
> risorse.
> > Eh
> > > > ma
> > > > > > non la memoria, di quella se ne occupa
> il
> > > > GC!!!
> > > > > >
> > > > > >
> > > > > >
> > > > > > Che progresso del cazzo.
> > > > >
> > > > > Un bel progresso sì invece, i puntatori
> sono
> > > > > sempre stati una gran rottura di
> > > > > cazzi
> > > >
> > > > i puntatori ci sono ancora solo che ora li
> > > chiami
> > > > reference
> > >
> > > Ma nessuno dice niente riguardo a questo
> > > interessantissimo
> > > argomento?
> >
> > La programmazione ad oggetti non è fatta per
> > "semplificare" quella
> > tradizionale.
>
> non esiste il paradigma di programmazione
> "tradizionale". Io conosco paradigmi imperativi,
> ad oggetti, dichiarativi, ma non
> "tradizionali"
In effetti..
-
-
Re: garbage collection e allocazione risScritto daavvelentaniCubicolarioil 2009-04-04 16:16:00.0 alle 2009-04-04 16:16:00.0Trollate totali: 18184
- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > > è vero in C++ devi ricordarti di
> rilasciare
> > > gli
> > > > > oggetti, in modo da liberare la
> > > > > memoria.
> > > > >
> > > > > Ecco allora che salta fuori il garbage
> > > collector
> > > > > che ti risolve il problema eliminando la
> > > > > necessità di liberare manualmente la
> > > > > memoria.
> > > > >
> > > > > Quindi in C# e Java non devo più chiamare
> > > > delete.
> > > > > Solo che alcune risorse allocate dagli
> > oggetti
> > > > > devono comunque essere
> > > > > rilasciate.
> > > > >
> > > > > Allora è buona pratica creare una funzione
> > > > membro
> > > > > adhoc (dispose) e richiamarla quando le
> > > risorse
> > > > > allocate devono essere
> > > > > rilasciate.
> > > > >
> > > > > Cioè in pratica torno alla situazione del
> > C++,
> > > > > devo ricordarmi di rilasciare le risorse.
> Eh
> > > ma
> > > > > non la memoria, di quella se ne occupa il
> > > GC!!!
> > > > >
> > > > >
> > > > >
> > > > > Che progresso del cazzo.
> > > >
> > > > Un bel progresso sì invece, i puntatori sono
> > > > sempre stati una gran rottura di
> > > > cazzi
> > >
> > > i puntatori ci sono ancora solo che ora li
> > chiami
> > > reference
> >
> > Ma nessuno dice niente riguardo a questo
> > interessantissimo
> > argomento?
>
> La programmazione ad oggetti non è fatta per
> "semplificare" quella
> tradizionale.
questi discorsi non c'entrano niente con la programmazione ad oggetti
I think happiness is love
- Vladimir Putin-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 16:19:00.0 alle 2009-04-04 16:19:00.0
- Scritto da: avvelentani
>
> - Scritto da:
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > > è vero in C++ devi ricordarti di
> > rilasciare
> > > > gli
> > > > > > oggetti, in modo da liberare la
> > > > > > memoria.
> > > > > >
> > > > > > Ecco allora che salta fuori il garbage
> > > > collector
> > > > > > che ti risolve il problema eliminando la
> > > > > > necessità di liberare manualmente la
> > > > > > memoria.
> > > > > >
> > > > > > Quindi in C# e Java non devo più
> chiamare
> > > > > delete.
> > > > > > Solo che alcune risorse allocate dagli
> > > oggetti
> > > > > > devono comunque essere
> > > > > > rilasciate.
> > > > > >
> > > > > > Allora è buona pratica creare una
> funzione
> > > > > membro
> > > > > > adhoc (dispose) e richiamarla quando le
> > > > risorse
> > > > > > allocate devono essere
> > > > > > rilasciate.
> > > > > >
> > > > > > Cioè in pratica torno alla situazione
> del
> > > C++,
> > > > > > devo ricordarmi di rilasciare le
> risorse.
> > Eh
> > > > ma
> > > > > > non la memoria, di quella se ne occupa
> il
> > > > GC!!!
> > > > > >
> > > > > >
> > > > > >
> > > > > > Che progresso del cazzo.
> > > > >
> > > > > Un bel progresso sì invece, i puntatori
> sono
> > > > > sempre stati una gran rottura di
> > > > > cazzi
> > > >
> > > > i puntatori ci sono ancora solo che ora li
> > > chiami
> > > > reference
> > >
> > > Ma nessuno dice niente riguardo a questo
> > > interessantissimo
> > > argomento?
> >
> > La programmazione ad oggetti non è fatta per
> > "semplificare" quella
> > tradizionale.
>
> questi discorsi non c'entrano niente con la
> programmazione ad oggetti
>
bla bla bla lisp bisbisbisbistrisavoro della OOP bla bla bla-
Re: garbage collection e allocazione risScritto daavvelentaniCubicolarioil 2009-04-04 22:28:00.0 alle 2009-04-04 22:28:00.0Trollate totali: 18184
- Scritto da:
>
> - Scritto da: avvelentani
> >
> > - Scritto da:
> > >
> > > - Scritto da:
> > > >
> > > > - Scritto da:
> > > > >
> > > > > - Scritto da:
> > > > > >
> > > > > > - Scritto da:
> > > > > > > è vero in C++ devi ricordarti di
> > > rilasciare
> > > > > gli
> > > > > > > oggetti, in modo da liberare la
> > > > > > > memoria.
> > > > > > >
> > > > > > > Ecco allora che salta fuori il garbage
> > > > > collector
> > > > > > > che ti risolve il problema eliminando
> la
> > > > > > > necessità di liberare manualmente la
> > > > > > > memoria.
> > > > > > >
> > > > > > > Quindi in C# e Java non devo più
> > chiamare
> > > > > > delete.
> > > > > > > Solo che alcune risorse allocate dagli
> > > > oggetti
> > > > > > > devono comunque essere
> > > > > > > rilasciate.
> > > > > > >
> > > > > > > Allora è buona pratica creare una
> > funzione
> > > > > > membro
> > > > > > > adhoc (dispose) e richiamarla quando
> le
> > > > > risorse
> > > > > > > allocate devono essere
> > > > > > > rilasciate.
> > > > > > >
> > > > > > > Cioè in pratica torno alla situazione
> > del
> > > > C++,
> > > > > > > devo ricordarmi di rilasciare le
> > risorse.
> > > Eh
> > > > > ma
> > > > > > > non la memoria, di quella se ne occupa
> > il
> > > > > GC!!!
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Che progresso del cazzo.
> > > > > >
> > > > > > Un bel progresso sì invece, i puntatori
> > sono
> > > > > > sempre stati una gran rottura di
> > > > > > cazzi
> > > > >
> > > > > i puntatori ci sono ancora solo che ora li
> > > > chiami
> > > > > reference
> > > >
> > > > Ma nessuno dice niente riguardo a questo
> > > > interessantissimo
> > > > argomento?
> > >
> > > La programmazione ad oggetti non è fatta per
> > > "semplificare" quella
> > > tradizionale.
> >
> > questi discorsi non c'entrano niente con la
> > programmazione ad oggetti
> >
>
> bla bla bla lisp bisbisbisbistrisavoro della OOP
> bla bla
> bla
garbage collection e oop sono concetti ortogonali, fattene una ragione e studia di piu`.I think happiness is love
- Vladimir Putin
-
-
-
-
-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 16:03:00.0 alle 2009-04-04 16:03:00.0- Scritto da:
>
> - Scritto da:
> >
> > - Scritto da:
> > > è vero in C++ devi ricordarti di rilasciare
> gli
> > > oggetti, in modo da liberare la
> > > memoria.
> > >
> > > Ecco allora che salta fuori il garbage
> collector
> > > che ti risolve il problema eliminando la
> > > necessità di liberare manualmente la
> > > memoria.
> > >
> > > Quindi in C# e Java non devo più chiamare
> > delete.
> > > Solo che alcune risorse allocate dagli oggetti
> > > devono comunque essere
> > > rilasciate.
> > >
> > > Allora è buona pratica creare una funzione
> > membro
> > > adhoc (dispose) e richiamarla quando le
> risorse
> > > allocate devono essere
> > > rilasciate.
> > >
> > > Cioè in pratica torno alla situazione del C++,
> > > devo ricordarmi di rilasciare le risorse. Eh
> ma
> > > non la memoria, di quella se ne occupa il
> GC!!!
> > >
> > >
> > >
> > > Che progresso del cazzo.
> >
> > Un bel progresso sì invece, i puntatori sono
> > sempre stati una gran rottura di
> > cazzi
>
> i puntatori ci sono ancora solo che ora li chiami
> reference
con i reference non fai tutte le puttanate che fai con i puntatori in c/c++ (che può essere anche una limitazione, ma almeno ti toglie tonnellate di errori). Inoltre sono ben pochi i casi dove devi dichiarare esplicitamente che vuoi passare per riferimento qualcosa (normalmente quando vuoi passare il riferimento a qualche struct che altrimenti verrebbe passata per value)
-
-
-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 15:57:00.0 alle 2009-04-04 15:57:00.0
- Scritto da:
> è vero in C++ devi ricordarti di rilasciare gli
> oggetti, in modo da liberare la
> memoria.
>
> Ecco allora che salta fuori il garbage collector
> che ti risolve il problema eliminando la
> necessità di liberare manualmente la
> memoria.
>
> Quindi in C# e Java non devo più chiamare delete.
> Solo che alcune risorse allocate dagli oggetti
> devono comunque essere
> rilasciate.
>
> Allora è buona pratica creare una funzione membro
> adhoc (dispose) e richiamarla quando le risorse
> allocate devono essere
> rilasciate.
>
> Cioè in pratica torno alla situazione del C++,
> devo ricordarmi di rilasciare le risorse. Eh ma
> non la memoria, di quella se ne occupa il GC!!!
>
>
>
> Che progresso del cazzo.
Invece è proprio un progresso, considerato che il numero di classi per il quale devi implementare IDisposable è minimo, mentre con il c++ e i suoi puntatori devi rilasciare la memoria ogni volta che termini di usare un oggetto.
Inoltre il metodo Dispose normalmente non chiami direttamente, mentre la deallocazione dell'oggetto in c++ è esplicita.
-
Re: garbage collection e allocazione risScritto daavvelentaniCubicolarioil 2009-04-04 16:14:00.0 alle 2009-04-04 16:14:00.0Trollate totali: 18184
- Scritto da:
> è vero in C++ devi ricordarti di rilasciare gli
> oggetti, in modo da liberare la
> memoria.
>
> Ecco allora che salta fuori il garbage collector
> che ti risolve il problema eliminando la
> necessità di liberare manualmente la
> memoria.
>
> Quindi in C# e Java non devo più chiamare delete.
> Solo che alcune risorse allocate dagli oggetti
> devono comunque essere
> rilasciate.
>
> Allora è buona pratica creare una funzione membro
> adhoc (dispose) e richiamarla quando le risorse
> allocate devono essere
> rilasciate.
>
> Cioè in pratica torno alla situazione del C++,
> devo ricordarmi di rilasciare le risorse. Eh ma
> non la memoria, di quella se ne occupa il GC!!!
>
>
>
> Che progresso del cazzo.
Il 90% delle risorse allocate sono memoria (prima o poi i linguaggi mainstream introdurranno anche i blocchi with del lisp e avremo risolto anche il problema delle risorse)I think happiness is love
- Vladimir Putin-
Re: garbage collection e allocazione risScritto daNon Autenticatoil 2009-04-04 16:29:00.0 alle 2009-04-04 16:29:00.0
- Scritto da: avvelentani
>
> - Scritto da:
> > è vero in C++ devi ricordarti di rilasciare gli
> > oggetti, in modo da liberare la
> > memoria.
> >
> > Ecco allora che salta fuori il garbage collector
> > che ti risolve il problema eliminando la
> > necessità di liberare manualmente la
> > memoria.
> >
> > Quindi in C# e Java non devo più chiamare
> delete.
> > Solo che alcune risorse allocate dagli oggetti
> > devono comunque essere
> > rilasciate.
> >
> > Allora è buona pratica creare una funzione
> membro
> > adhoc (dispose) e richiamarla quando le risorse
> > allocate devono essere
> > rilasciate.
> >
> > Cioè in pratica torno alla situazione del C++,
> > devo ricordarmi di rilasciare le risorse. Eh ma
> > non la memoria, di quella se ne occupa il GC!!!
> >
> >
> >
> > Che progresso del cazzo.
>
> Il 90% delle risorse allocate sono memoria (prima
> o poi i linguaggi mainstream introdurranno anche
> i blocchi with del lisp e avremo risolto anche il
> problema delle
> risorse)
ho visto che in C# c'è using () {}
non l'avevo visto-
Re: garbage collection e allocazione risScritto daavvelentaniCubicolarioil 2009-04-04 16:43:00.0 alle 2009-04-04 16:43:00.0Trollate totali: 18184
- Scritto da:
>
> - Scritto da: avvelentani
> >
> > - Scritto da:
> > > è vero in C++ devi ricordarti di rilasciare
> gli
> > > oggetti, in modo da liberare la
> > > memoria.
> > >
> > > Ecco allora che salta fuori il garbage
> collector
> > > che ti risolve il problema eliminando la
> > > necessità di liberare manualmente la
> > > memoria.
> > >
> > > Quindi in C# e Java non devo più chiamare
> > delete.
> > > Solo che alcune risorse allocate dagli oggetti
> > > devono comunque essere
> > > rilasciate.
> > >
> > > Allora è buona pratica creare una funzione
> > membro
> > > adhoc (dispose) e richiamarla quando le
> risorse
> > > allocate devono essere
> > > rilasciate.
> > >
> > > Cioè in pratica torno alla situazione del C++,
> > > devo ricordarmi di rilasciare le risorse. Eh
> ma
> > > non la memoria, di quella se ne occupa il
> GC!!!
> > >
> > >
> > >
> > > Che progresso del cazzo.
> >
> > Il 90% delle risorse allocate sono memoria
> (prima
> > o poi i linguaggi mainstream introdurranno anche
> > i blocchi with del lisp e avremo risolto anche
> il
> > problema delle
> > risorse)
>
> ho visto che in C# c'è using () {}
>
> non l'avevo visto
Si` e python da qualche mese ha with. Stando alla tabella di marcia della loggia lispara e` il prossimo passo, poi passeremo alle eccezioni common lisp-style.
e` un vero peccato che in java non ci sia.I think happiness is love
- Vladimir Putin
-
-
-