Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-01-2008, 20:52   #21
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Il C++, che è un superset del C, quindi puoi fare ESATTAMENTE le stesse cose che fai in C, ma hai a disposizione tanti altri strumenti che sono utili per:
- velocizzare la scrittura del codice;
- strutturare meglio il codice;
- facilitarne la manutenibilità.

Oggi non c'è alcun motivo per continuare a usare il C, che è un linguaggio della preistoria informatica.

Certo, se proprio non c'è un compilatore C++ per il microcontrollore che devi programmare c'è poco da fare: ti accontenti di quello che hai...
Generalmente almeno per micro e DSP il compilatore è sempre C/C++ però nessuno nell'ambiente osa usare il C++.

Ci sono tanti ambienti dove anche il "costo" di una chiamata a funzione è troppo elevato per cui non si muovono dall'assembly.

Dove lavoravo, per lo sviluppo firmware si affidavano ad una azienda esterna dove lavorano mostri della programmazione (un titolare è finito al MIT allo sviluppo dell'OLPC) beh non ritenevano opportuno il passaggio al C++ in quanto "troppo peso" per un micro come l'ARM7.
Evidentemente c'è del vero visto che una sprintf è già troppo pesa per questi sistemi, figuriamoci il resto.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 20:57   #22
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ogni caratteristica del C++ ha un "peso" ben preciso: basta conoscere bene il linguaggio e il codice generato del compilatore.

La conoscenza del linguaggio è a dir poco ovvia (anche se, purtroppo, non è affatto scontata: vedi le sparate di un certo Torvalds sul C++).

Quella del codice generato è necessaria per chi lavora così a basso livello.

Alla fine è sempre un discorso di conoscenza ed esperienza.

P.S. Per inciso: C++ != oggetti.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 21:00   #23
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da a2000.1 Guarda i messaggi
e prenderlo direttamente in c. invece ?
se vuoi le chiappe son le tue
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 21:04   #24
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Oggi non c'è alcun motivo per continuare a usare il C, che è un linguaggio della preistoria informatica.
ce n'è invece, per esempio in situazioni in cui l'operatore new non è stato / non può essere implementato, e quindi non puoi gestire oggetti nel modo classico. per esempio quando si programma un driver WDM è possibile allocare memoria in più modi diversi (pool paginato e non, con il tag e senza tag), e un semplice "new" da solo non è abbastanza eloquente.

in questi casi il tuo discorso (il C++ fa almeno quanto il C) rimane valido, ma praticamente si riduce ad utilizzare le sole features del C.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 21:38   #25
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Innazitutto ti ricordo che in C++ puoi configurarti gli handler per l'allocazione della memoria come desideri.

Poi gli oggetti si possono creare anche staticamente.

Infine avevo scritto che C++ != oggetti: il linguaggio offre diverse caratteristiche che non sono legate espressamente agli oggetti.

In soldoni: se il C++ è un superset del C, non lo è soltanto perché offre la possibilità di programmare a oggetti.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 21:46   #26
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
beh si.. d'altra parte non capisco perchè qualcuno usa ancora l'automobile considerando il fatto che hanno inventato l'aereo
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 21:57   #27
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Esempio che non c'entra NULLA e volutamente capzioso.

Ritenta la prossima volta: magari sarai più fortunato...
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 22:03   #28
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Esempio che non c'entra NULLA e volutamente capzioso.

Ritenta la prossima volta: magari sarai più fortunato...
in realtà c'entra più di quello che credi visto che non era una risposta a un tuo commento.. se poi si può applicare anche al tuo commento è un caso :P

@javaboy
il D farà ben poca strada finchè non fanno una documentazione degna di questo nome.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 22:09   #29
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
in realtà c'entra più di quello che credi visto che non era una risposta a un tuo commento..
Non era chiaro, visto che i precedenti messaggi li ho scritti io.
Quote:
se poi si può applicare anche al tuo commento è un caso :P
Questo puoi dirmelo soltanto tu.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 22:33   #30
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Non era chiaro, visto che i precedenti messaggi li ho scritti io.

Questo puoi dirmelo soltanto tu.
è che non avevo nemmeno letto tutti i commenti
comunque lo sai che considero il C un linguaggio ancora utile per cui non è il caso di discuterne di nuovo tanto non si va da nessuna parte
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 22:49   #31
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Ma quali sono le funzionalità del C++ utili per programmare microcontrollori che il C non ha ?

Quali potrebbero essere i vantaggi dal passare al C++?

Non ci capisco molto di programmazione di microcontrollori

Grazie
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2008, 22:59   #32
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Certo, se proprio non c'è un compilatore C++ per il microcontrollore che devi programmare c'è poco da fare: ti accontenti di quello che hai...
è esattamente il caso a cui volevo arrivare
anche se comunque in questi casi il C è più che sufficente allo scopo anche perchè certe comodità del C++ non si potrebbe avere il lusso di usarle, quando hai 4K di ram si sta molto bene attenti a come si usano.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 00:06   #33
a2000.1
Senior Member
 
L'Avatar di a2000.1
 
Iscritto dal: Aug 2004
Messaggi: 311
ai Bamboccioni viziati della glue-programming alla copia&incolla, 10 milioni di righe di assembler forzato a testa:

Assembler Macht Frei

__________________
Senior Member
Registrato il: Jan 2001
Messaggi: 2609
a2000.1 è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 02:10   #34
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
P.S. Per inciso: C++ != oggetti.
Purtroppo...ed è forse uno dei motivi principali per cui la gente programma con i piedi con C++.

Io la vedo in modo complementare al tuo: va bene utilizzare C per la programmazione a basso livello, va bene per utilizzarlo sui microcontrollori (non è vero che C++ è sempre chiaro sull'utilizzo implicito e non di puntatori per chi non conosce A FONDO il linguaggio, al contrario l'uso della memoria in C è sempre esplicito), ma se si programma in C++ ci si programmi bene e sfruttando a pieno gli strumenti che il linguaggio mette a disposizione.

IMHO C++ in qualche prossimo standard dovrebbe abbandonare la compatibilità con C e diventare finalmente adulto...

Ultima modifica di cionci : 10-01-2008 alle 02:17.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 07:57   #35
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Ma quali sono le funzionalità del C++ utili per programmare microcontrollori che il C non ha ?

Quali potrebbero essere i vantaggi dal passare al C++?

Non ci capisco molto di programmazione di microcontrollori

Grazie
Il passaggio di parametri per riferimento, ad esempio.
Quote:
Originariamente inviato da cionci Guarda i messaggi
Purtroppo...ed è forse uno dei motivi principali per cui la gente programma con i piedi con C++.

Io la vedo in modo complementare al tuo: va bene utilizzare C per la programmazione a basso livello, va bene per utilizzarlo sui microcontrollori (non è vero che C++ è sempre chiaro sull'utilizzo implicito e non di puntatori per chi non conosce A FONDO il linguaggio, al contrario l'uso della memoria in C è sempre esplicito), ma se si programma in C++ ci si programmi bene e sfruttando a pieno gli strumenti che il linguaggio mette a disposizione.

IMHO C++ in qualche prossimo standard dovrebbe abbandonare la compatibilità con C e diventare finalmente adulto...
Conoscere a fondo il linguaggio è il minimo richiesto per un professionista.

Per l'ultima affermazione, onestamente non mi piace proprio il C++ come linguaggio, e da quel che m'ha fatto vedere Jappilas sul prossimo standard per quanto mi riguarda la situazione è peggiorata. :|
__________________
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 : 10-01-2008 alle 08:01.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 08:53   #36
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Conoscere a fondo il linguaggio è il minimo richiesto per un professionista.
Il fatto, imho, è che in C++, come in altri linguaggio ad alto livello, molti comportamenti sono impliciti e/o determinabili solo a runtime (vedi la STL), quindi non va assolutamente bene per programmare a bassissimo livello. Anche se il linguaggio lo conosci estremamente bene, l'utilizzo della memoria non è così facile da predeterminare, esattamente all'opposto del C

A meno che tu non voglia continuare ad usare il C++ a la C, ma a me questa cosa ha sempre fatto schifo Tanto vale usare il C
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 09:04   #37
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Indubbiamente, il tutto va valutato "cum grano salis".

Anche Fran nell'altro thread ha spiegato in che modo risolve alcuni problemi di questo tipo che si presentano nella realizzazione di un gioco.

Certamente non si diventa lead programmer, o in generale programmatori esperti con un linguaggio come il C++ dal giorno alla notte.

P.S. Per inciso: io NON lo sono.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 09:10   #38
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Io ho visto cente che programma i microcontrollori...ho visto fare degli #include nel mezzo al codice al posto di chiamare funzioni Tanto per farti capire quanto cercano di risparmiare anche il passaggio di parametri nelle chiamate a funzione
Tanto il programma gira molto spesso da ROM o da Flash mappate in RAM, mentre la ram vera è minima
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 09:16   #39
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Posso immaginare.

In passato ho sviluppato giochi per Amiga, e stavo a spaccare il ciclo di clock, inventandomi qualunque cosa pur risparmiare tempo d'esecuzione e/o memoria.

Per conto dell'STM ho sviluppato un decoder JPEG 2000, da implementare in hardware, e anche lì i requisiti erano molto stringenti (non potevo nemmeno usare i puntatori a funzione, tanto per dirne una; purtroppo si usava soltanto un subset dell'ANSI C standard).

Non è facile sviluppare sui microcontrollori, e onestamente m'è passata la voglia da un bel pezzo di andare a smanettare così a basso livello.
__________________
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
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 10-01-2008, 09:56   #40
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
beh si.. d'altra parte non capisco perchè qualcuno usa ancora l'automobile considerando il fatto che hanno inventato l'aereo
Perche' in aereo non puoi andare in autostrada da Milano a Torino, mentre in C++ puoi fare esattamente tutto quello che fai in C con la stessa efficienza e molte altre cose con efficienza maggiore.

Mi fai un esempio di un costrutto in C standard che, a meno di errori di sintassi, non e' compilato da un compilatore C++ standard con la medesima efficienza?

C++ non vuol dire programmare a oggetti.
fek è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
Paolo Zaccardi: "Smettere di assume...
Finalmente a buon prezzo 2 mini PC con R...
Samsung Galaxy Watch 7: uno crolla a 146...
NVIDIA pronta al 'piano B' per la Cina: ...
Xiaomi TV A Pro 55 a soli 366€: è...
No, i tuoi dati di Pokémon Go non sono f...
XBOX potrebbe diventare una societ&agrav...
Il primo trilionario al mondo ha un nome...
Infineon apre il 2 luglio lo Smart Power...
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: 10:26.


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