|
|
|
![]() |
|
Strumenti |
![]() |
#301 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Tra l'altro il thread sul linguaggio da cui iniziare c'è già stato, inutile ripetere le stesse cose. Certo il richiedente non aveva le stesse tue esigenze.
http://www.hwupgrade.it/forum/showth...light=imparare |
![]() |
![]() |
![]() |
#302 |
Senior Member
Iscritto dal: Jun 2007
Città: Palermo
Messaggi: 34432
|
ragazzi, vi dovete mettere d'accordo...
![]() ![]()
__________________
Case: Fractal Design Pop XL Air | PSU: Seasonic PRIME TX-1000 | CPU: Intel® Core™ i7 6950X Extreme Edition @ 4.0GHz w/ Alphacool Eisbaer Pro (Solo) + EK-Quantum Surface S280 MB: ASUS RAMPAGE V EXTREME/U3.1 | RAM: G.SKILL Trident Z DDR4 64GB @ 3200MHz (F4-3200C15Q-64GTZ) | VGA: ASUS ROG Strix GeForce® RTX 3080 Ti OC Edition 12GB Audio: Creative Sound Blaster® ZxR | SSD_1: Samsung SSD 980 PRO NVMe 1TB | SSD_2: Samsung SSD 870 QVO SATA 4TB | Monitor: ViewSonic ColorPro VP2776 |
![]() |
![]() |
![]() |
#303 | ||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Quote:
![]() Quote:
Codice:
def BitSetToStringList(Value, Names): return [Name for Shift, Name in enumerate(Names) if Name and ((Value >> Shift) & 1)] ![]() ![]() Quote:
![]() Ho visto che ti sei passato il tempo stanotte e hai fatto un gran lavoro: complimenti. ![]() Tornando a quanto decevi all'inizio del messaggio, personalmente, confrontando le due versioni, mi sembra più semplice e più leggibile quella in Python (e non ho messo nemmeno un commento ![]() L'impressione che ho è che il messanismo tipo "LINQ" di C# che hai usato soffra di analoghi problemi di leggibilità di cui si lamentano gli altri per le list comprehension di Python, e che mi hanno costretto a usare una variabile locale di appoggio autoesplicativa per identificare il risultato dell'operaziome. E' una prima impressione, comunque. Così, "a naso", come si suol dire. ![]() Vediamo cosa dicono anche gli altri. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||
![]() |
![]() |
![]() |
#304 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Confronta le due versioni e vedi quale ti sembra più semplice.
Fanno lo stesso lavoro (a parte quello in Python che calcola pure la frequenza della CPU usando un thread). ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#305 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' impossibile mettersi d'accordo
![]() Ribadisco. Secondo me non fanno le stesse cose, se un giorno avessi la necessità di scrivere codice a basso livello in un linguaggio C-Style ci metteresti molto di più a passare da Python a quel linguaggio. Necessità messa in evidenza tra l'altro dal codice di Cesare: non a caso si è appoggiato ad una libreria esterna scritta in C++ per recuperare i dati relative alla CPU (e non tutti quelli che volevi te). Ultima modifica di cionci : 30-03-2008 alle 09:12. |
![]() |
![]() |
![]() |
#306 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#307 | |||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]() Per il codice a basso livello è un discorso inutile, visto che finora è possibile tranquillamente "aggirare" il problema. Quote:
![]() Quote:
Tanto cambierebbe poco dal codice di gugoXX: invece di usare l'API scritta in C++, si usa quella di libreria. Amen. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|||
![]() |
![]() |
![]() |
#308 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Tanto ognuno resta della sua idea, inutile andare avanti
![]() |
![]() |
![]() |
![]() |
#309 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Poi, (secondo me dopo qualche anno) potra' pensare a fare di piu', se quella e' la sua strada oppure se e' un matematico. Non baserei la sua scelta sul fatto che la parte funzionale di uno o dell'altro sono piu' o meno belle. Io, fossi in uno che deve iniziare oggi da zero, prenderei un qualsiasi linguaggio procedurale, anche brutto purche' semplice, e ci passerei sopra un po', per poi passare agli OO procedurali (e se poi proprio mi dovesse piacere, agli OO Funzionali). Non che i funzionali siano indispensabili. Se ne puo' fare a meno. Una volta capiti pero' il codice resta piu' compatto. Putroppo non sono sempre cosi' leggibili. Si potrebbero fare salti mortali con i funzionali, ma secondo me e' bene restare molto semplici proprio per evitare di dover perdere tempo prezioso a "capire" cosa si sarebbe voluto fare, magari durante fasi di Debug. PS: Io i commenti li metto comunque sempre E sono un fautore dell'arte del commento in azienda. C'e' chi sa commentare e chi non lo sa fare. Quello che quasi tutti scrivono e' COSA sta facendo il codice Tipo: Faccio un ciclo che sposta questo in quell'altro, accende un pixel e pulisce la memoria. Putroppo non serve a nulla commentare cosi'. Lo vedo benissimo anche io cosa sta facendo quel codice. Non e' necessario che me lo ripeti qui. Quello che mi serve sapere e' PERCHE' hai fatto quelle cose. Meno codice il piu' delle volte equivale meno errori Fosse per me io partire con un linguaggio procedurale che non abbia bisogno di troppi tecniciscmi per partire. Un paio di settimane o un mesetto di QBasic per esempio andrebbe bene, esistesse ancora. Impara il concetto di variabile. Stampa qualcosina a caso, leggi come fare per accettare cose da tastiera e stampare stringhe sul video. Impara il costrutto IF..THEN..ELSE Impara bene cosa sono e cosa servono gli array, che sono la base di tutto. Impara il concetto di ciclo e come farlo nel linguaggio scelto. Inizierei dal goto per esempio, capendo bene il suo funzionamento. Capito cosa serve cercherei di capire i suoi problemi e quindi perche' si deve passare ai cicli controllati piu' complessi. (Ho inziato con la famiglia Commodore, il cui Basic integrato in ROM aveva solo il goto (e le chiamate a subroutine). L'ho usato per 4 anni e sono ancora vivo) Mescola questi concetti insieme e si possono gia' fare cose interessanti. Il tuo target e' comunque molto lontano, ma non scoraggiarti. Meglio, se vuoi puoi gia' copiare e incollare i pezzi di programma che abbiamo scritto finora. Ma e' come usare il pesce pescato da noi. Se vuoi la canna e' molto lontana. Ma ricorda anche che questa canna puo' servirti non solo per divertirti (sempre se ti piace), ma anche proprio per mangiare.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 30-03-2008 alle 09:47. Motivo: syntax err |
|
![]() |
![]() |
![]() |
#310 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Ma di quale idea parli? Ma dico, stiamo scherzando?
I due programmi sono FUNZIONALMENTE IDENTICI. A parte una piccola differenza di formattazione (e poi ovviamente i risultati diversi a causa delle due architetture su cui sono stati lanciati) FANNO LA STESSA COSA. Tu, invece, ti stai fissando sul COME lo fanno. E questo mi sembra OVVIO, visto che i linguaggi usati sono DIVERSI, e si appoggiano a soluzioni diverse per prelevare i dati "grezzi" che servono. Ma, come si suol dire, chi se ne frega? Il RISULTATO è quello, non si scappa. Posto che l'output sia lo stesso, si possono confrontare le soluzioni nei due diversi linguaggi, e qui starà a Mazda giudicare. x gugoXX: concordo (a parte sul goto, che ODIO ![]() ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys Ultima modifica di cdimauro : 30-03-2008 alle 09:45. |
![]() |
![]() |
![]() |
#311 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non sono d'accordo sull'inizio in un linguaggio procedurale, secondo me il paradigma ad oggetti è egualmente intuitivo, anzi, molto spesso si può riportare più facilmente a paragoni con la vita quotidiana che fanno sicuramente bene alla comprensione.
|
![]() |
![]() |
![]() |
#312 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Praticamente tutti i linguaggi permettono di utilizzare DLL esterne, allora qualsiasi linguaggio è ugualmente adatto a realizzare un'applicazione di monitoring hardware ? |
|
![]() |
![]() |
![]() |
#313 | ||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Altrimenti facciamo una cosa: visto che gugoXX è dovuto ricorrere all'ASSEMBLY per invocare l'istruzione CPUID, facciamolo partire da questo linguaggio. Tanto se in futuro dovrà scendere a basso livello, gli servirà, giusto? Quote:
Su questa base poi è da vedere il COSTO della realizzazione dell'applicazione, e qui possiamo confrontare le soluzioni coi diversi linguaggi. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
![]() |
![]() |
![]() |
#314 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Secondo me Mazda dovrebbe capire che
imparare a programma e fare il suo programmino Sono 2 cose molto distanti. Non partirei a pensare cosa fare per imparare a programmare il piu' velocemente possibile per poter fare il mio programmino. Se non ci fossero state le parti di WMI gia' pronte per C# o per IronPython, quindi se fossimo dovuti andare a prendere i dati dirattamente della SDK (Cosa che con il Python che stai usando tu cdimauro, dovresti fare o sbaglio?) allora saremmo comunque in grado di farlo. Ma l'ordine di complessita' e' molto piu' alto. Ci si deve sporcare le mani con chiamate di sistema, e quelle sono anche abbastanza incasinate. Insomma, secondo me, se vuoi imparare a programmare dimentica il tuo programmino. Se invece vorresti imparare a programmare solo per fare il tuo programmino, lascia perdere. Fatti un po' di copia incolla, impara come piazzare due textbox su una form (in C# o IronPython) e hai finito.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#315 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Per il resto, concordo con quanto hai scritto. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#316 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Chiaro che non debba imparare a programmare per farsi il suo programmino, ma averlo in mente come obiettivo e fare le sue scelte di conseguenza secondo me è fondamentale. Anche solo per una questione di motivazione.
Comunque, visto che i dati sono a disposizione, perché non fate l'esatto equivalente di questo screenshot, interfaccia utente compresa ? Almeno alla fine si chiarirà le sue idee e deciderà. Ultima modifica di cionci : 30-03-2008 alle 10:09. |
![]() |
![]() |
![]() |
#317 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
"Mettersi d'accordo" tra programmatori è un problema NP-completo.
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
![]() |
![]() |
![]() |
#318 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Sull'interfaccia utente non c'ho mai lavorato, per cui chiederò aiuto a qualcuno che c'ha già smanettato.
Per le altre informazioni, appena ho un po' di tempo vedo dove poterle recuperare per Intel e AMD, e aggiorno il programma.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#319 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#320 | |
Senior Member
Iscritto dal: Jun 2007
Città: Palermo
Messaggi: 34432
|
Quote:
__________________
Case: Fractal Design Pop XL Air | PSU: Seasonic PRIME TX-1000 | CPU: Intel® Core™ i7 6950X Extreme Edition @ 4.0GHz w/ Alphacool Eisbaer Pro (Solo) + EK-Quantum Surface S280 MB: ASUS RAMPAGE V EXTREME/U3.1 | RAM: G.SKILL Trident Z DDR4 64GB @ 3200MHz (F4-3200C15Q-64GTZ) | VGA: ASUS ROG Strix GeForce® RTX 3080 Ti OC Edition 12GB Audio: Creative Sound Blaster® ZxR | SSD_1: Samsung SSD 980 PRO NVMe 1TB | SSD_2: Samsung SSD 870 QVO SATA 4TB | Monitor: ViewSonic ColorPro VP2776 |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:46.