Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-04-2006, 12:51   #1
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Il topic della frustrazione

Codice:
		virtual bool		IsCloth() const { return false; }
Se vi vedo mai scrivere una cosa di questo tipo in Diamonds, cancello il repository :|

Dovrebbero istituire la patente per il programmatore e non darla a tutti soprattutto nella game industry...
fek è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 12:53   #2
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 12:54   #3
cover
Senior Member
 
L'Avatar di cover
 
Iscritto dal: May 2002
Città: Milan
Messaggi: 572
chi è il pazzo che l'ha scritto ? :|
__________________
.:. NEONISI .:. a new island for online auctions. It's worldwide, safe, simple and free. Join Us!

Ultima modifica di cover : 27-04-2006 alle 22:25.
cover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 12:59   #4
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 08:15   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da fek
Codice:
		virtual bool		IsCloth() const { return false; }
Se vi vedo mai scrivere una cosa di questo tipo in Diamonds, cancello il repository :|

Dovrebbero istituire la patente per il programmatore e non darla a tutti soprattutto nella game industry...
Adesso però dicci dove hai visto quest'abominio.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 12:02   #6
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
E la frustrazione continua:

Codice:
virtual void SetScene(CScene *scene) {m_Scene = scene;}
E' C++
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 17:10   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Ma allora non era una svista, e' proprio recidivo:

Codice:
virtual EMaterialType	GetType() const { return MATERIAL_TYPE_DEFAULT_MATERIAL; }
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 17:42   #8
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Prima della cura:

Codice:
			Material* p_material = NULL;
			if (src_material.GetType()==A_MATERIAL_TYPE)
			{
				const MyMaterial& my_material = (MyMaterial*) (src_material);
				p_material = new MyMaterial(my_material);
			}
			else
			{
                               // error
			}

			material_array[c_mat] = p_material;
Dopo la cura:

Codice:
  material_array[c_mat] = src_material.Clone();
Clone polimorfico. GetType() non serve, ecco perche' ve li faccio levare sempre
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 17:49   #9
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Usare un metodo GetType con la programmazione a oggetti è una vera e propria bestemmia: tanto vale rimanere alla programmazione strutturata e alle catene di switch/case.

Ultima modifica di cdimauro : 02-05-2006 alle 10:17. Motivo: Tolto di mezzo il nome del gioco. ;)
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 01:35   #10
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da cdimauro
Usare un metodo GetType con la programmazione a oggetti è una vera e propria bestemmia: tanto vale rimanere alla programmazione strutturata e alle catene di switch/case.
Non sono d'accordo...dipende da cosa si vuole fare.
Se si vuole andare ad introdurre un isistema a PLUG-IN addirittura hot-deployable....bhè, senza Refelction e GetType nn si fa molto
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 08:37   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non mi sono occupato come si deve delle problematiche alla creazione e all'uso di applicazioni che usano plug-in (da diversi anni ho in mente un progetto, ma non ho mai avuto il tempo per realizzarlo. ): perché sarebbe necessario un metodo GetType secondo te?
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 10:20   #12
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Bonfo
Non sono d'accordo...dipende da cosa si vuole fare.
Se si vuole andare ad introdurre un isistema a PLUG-IN addirittura hot-deployable....bhè, senza Refelction e GetType nn si fa molto
Usare GetType e' una vera bestemmia

Anche in caso di necessita' di persistenza degli oggetti, ci sono validissime alternative, quali creare delle metaclassi che contengono le informazioni, e magari i factory method per la creazione e clonazione degli oggetti.

Ma un GetType cosi' per selezionare il comportamento in base al tipo dell'oggetto e messo pure virtuale non ha alcun senso logico: il polimorfismo nasce proprio per non aver bisogno di quel metodo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:22   #13
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
chi mi ricorda a che servono i metodi virtuali???
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:31   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Codice:
class animale

  virtual verso()

  movimento()
    print 'movimento base!'

class gatto(animale)

  virtual verso()
    print 'miao!'

  movimento()
    print 'movimento felino!'


class cane(animale)

  virtual verso()
    print 'bau!'

class pitbull(cane)

  virtual verso()
    print 'MEGA BAU!!!'


var
  a: animale
  b: gatto

a = new gatto()
a.verso() # -> 'miao!'
a.movimento() # -> 'movimento base!'
b = gatto(a)
b.movimento() # -> 'movimento felino!'

a = new cane()
a.verso() # -> 'bau!'
a.movimento() # -> 'movimento base!'

a = new pitbull(cane)
a.verso() # -> 'MEGA BAU!!!'
a.movimento() # -> 'movimento base!'
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:38   #15
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ok... ricordavo che c'entravano con le classi astratte....
ma in java ci sono pure?
non me li ricordo proprio....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:41   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da ^TiGeRShArK^
ok... ricordavo che c'entravano con le classi astratte....
ma in java ci sono pure?
non me li ricordo proprio....
In Java tutti i metodi sono virtuali se non dichiarati final (o la classe e' dichiarata final se ricordo bene).
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:46   #17
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da fek
In Java tutti i metodi sono virtuali se non dichiarati final (o la classe e' dichiarata final se ricordo bene).
quindi la parola chiave virtual non c'è...
xkè non me la ricordo proprio in java
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 13:32   #18
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da fek
Usare GetType e' una vera bestemmia

Anche in caso di necessita' di persistenza degli oggetti, ci sono validissime alternative, quali creare delle metaclassi che contengono le informazioni, e magari i factory method per la creazione e clonazione degli oggetti.

Ma un GetType cosi' per selezionare il comportamento in base al tipo dell'oggetto e messo pure virtuale non ha alcun senso logico: il polimorfismo nasce proprio per non aver bisogno di quel metodo.
Ecco quando io userei GetType().
Io ho una applicazione che utilizza degli oggetti. L'utente li vede divsi per categoria.

Ora supponiamo che io voglio fare in modo che sia possibile aggiungere nuove categorie o nuovi tipi di oggetti senza dover ricompilare l'applicazione o dovendo modificare delle libreire e addirittura senza toccaremanco un file di configurazione.

Io faccio i nuovi oggetti rispettando le interfaccie dovute o estendendo una classe base. A quelpunto rilascio una DLL o un JAR.
L'applicazione può leggerseli all'avvio, o addirittura mentre è già in esecuzione e dandare a cercare le calsssi che implementino quell'interfaccia o che estendano la calsse base (Uso di getType() ), istanzio se c'è nè bisogno, lo casto senza problemi avendo controllato il tipo e poi lo uso.

BAZZA Così si che si estende unì'applicazione conm Plug-In in modo facile e snello

Addirittura se non tutti gli oggetti hanno il metodo pincopallo che serve solo se l'oggetto vuole fare certe cose, io senza sapere nulla posso attraverso la Refelction capire se ha quel metodo e invocarlo.

In realtà io vedo in GetType un'arma a doppio taglio....se non si usano correttamente i paradigmi dell'OO come polimorfismo ma si caratterizano i comportamenti con getType() si è dei pazzi. Ma se invece si usa per andare a lavorare OO addirittura su oggetti che non si conoscono...bhè...direi che è una ottima estensione dell'OO



Scusate se sono stato lungo
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 13:47   #19
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Stai parlando dei pattern Composite Interfaces e Plugin e del concetto di GUID che e' profondamente diverso dal GetType()

In pratica stai parlando di COM. E sai che cosa hanno fatto per risolvere i suoi (enormi) problemi? Hanno tolto le GUID ed hanno scritto una macchina virtuale, il CLR, ed hanno creato .NET pur di togliere quella cosa che e' tanto simile al GetType().
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 14:08   #20
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da fek
Stai parlando dei pattern Composite Interfaces e Plugin e del concetto di GUID che e' profondamente diverso dal GetType()

In pratica stai parlando di COM. E sai che cosa hanno fatto per risolvere i suoi (enormi) problemi? Hanno tolto le GUID ed hanno scritto una macchina virtuale, il CLR, ed hanno creato .NET pur di togliere quella cosa che e' tanto simile al GetType().
WAKKA...tutte queste robe ho tirato fuori

In ogni caso mi chiedo allora a cosa serva veramente la refelction e il metodo GetType() ??
Per chè lo hanno inventato e realizzato se in realtà non serve a nulla??
In .NET c'è il getType() e fa fare tante belle cosine...come ad esempio ho utilizzato la Refelction, anche per esercitazione, per creare da un file XML una fnestra e i suoi control. Insomma un XAML formato embrione...

In ogni caso ....insisti Fek...fammi capire che sono una testa dura

Imparo Imapro Imparo
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
Fra 3 giorni, a mezzanotte, Amazon attiv...
Il principale limite del MacBook Neo &eg...
899€ in tutti i colori, crolla il prezzo...
Sempre più pubblicità su Y...
Costo della memoria alle stelle? Non ave...
GPT-5.4 cambia il modo di usare ChatGPT:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v