Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme GT7: un "flaghsip killer" concreto! La recensione
realme GT7: un "flaghsip killer" concreto! La recensione
Abbiamo provato l'ultimo smartphone di realme, il nuovo GT7. Si tratta di un device che si colloca in una fascia di mercato delicata, ovvero quella che possiamo definire medio-alta. La specifica che salta all'occhio è senza dubbio la sua batteria da 7.000 mAh e un design elegante e premium. Ma come funziona nel quotidiano? E soprattutto è davvero un Flagship Killer? Ve lo diciamo nella nostra recensione completa.
Oracle guida Stargate UAE: nasce il supercluster per l'IA sovrana
Oracle guida Stargate UAE: nasce il supercluster per l'IA sovrana
Il cloud ottimizzato per l'intelligenza artificiale di Oracle si combina con un'infrastruttura per la sovranità sul dato negli Emirati Arabi. "Questa implementazione epocale stabilisce un nuovo standard per la sovranità digitale", afferma Larry Ellison, fondatore di Oracle
Tutto sulla nuova Tesla Model Y: autonomia in autostrada, prova bagagliaio e dettagli
Tutto sulla nuova Tesla Model Y: autonomia in autostrada, prova bagagliaio e dettagli
Abbiamo guidato per diversi giorni la nuova Tesla Model Y, in versione di lancio dual motor e con batteria long range. Ecco tutto quello che c'è da sapere sull'erede dell'auto più venduta al mondo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2012, 21:50   #1
Metalmino
Junior Member
 
Iscritto dal: Jul 2009
Messaggi: 29
C++ e GUI, consigli

Allora raga, vado brevemente a spiegarvi la mia situazione disastrosa.
Senza annoiarvi con inutili dettagli, mi sono iscritto solo a novembre (a causa di vari problemi) alla facoltà di ingegneria informatica, elettronica e delle telecomunicazioni.
Ora devo recuperare il programma che hanno fatto nel primo semestre di programmazione orientata agli oggetti in C++.

Ho comprato i libri della Deitel e devo dire che sono ottimi. Sono al capitolo 6 del primo libro (fondamenti di programmazione) e sinora non ho riscontrato problemi di sorta, anzi pian piano posso dire che sto imparando.

Il problema nasce cone le GUI. Vi linko il programma del mio professore: http://www.ce.unipr.it/people/tomamic/fondinfo

Come potete vedere nella sezione "Programmazione in C++", dopo le varie lezioni sul linguaggio, c'è la sezione "QT: interfacce grafiche" e sinceramente non ci sto capendo una beneamata cippa.

Sarà perchè ancora devo imparare bene il C++ (in pratica ho imparato le definizioni di classi, oggetti, file intestazione e sorgente, cicli while, do... while, for, switch, if, if... else e i vari accessori ) o anche dopo aver finito sia il primo libro che il secondo (tecniche avanzate di programmazione) non capirò una cippa sulle GUI?

In tal caso, esiste qualche cartaceo sulle GUI con librerie QT? Devo per forza usare QT Creator ovviamente.

Per la cronaca, l'esame è a giugno xD insieme agli altri (programmazione c che inizia a febbraio, analisi matematica, fisica, geometria e vhdl-reti logiche).
Metalmino è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2012, 10:12   #2
kurt_85
Member
 
L'Avatar di kurt_85
 
Iscritto dal: Feb 2005
Città: Lancusi (SA)
Messaggi: 193
Ciao,
io ti consiglio questo libro:

http://developer.qt.nokia.com/books/...cial_c_qt_book

L'ho usato per imparare le QT al fine di sviluppare un software nell'ambito di una tesi e mi sono trovato benissimo, considerando che non sono un esperto di C++
kurt_85 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2012, 10:26   #3
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Ti adoro, ho scaricato tutte le lezioni dei corsi del tuo prof, avevo proprio bisogno di qualcosa per continuare il mio autodidattismo (si dice così? )!!
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2012, 14:03   #4
Metalmino
Junior Member
 
Iscritto dal: Jul 2009
Messaggi: 29
Considerando che l'esame è a giugno penso che il mese prossimo (termine che mi sono prefissato per finire i due libri di programmazione C++) comprerò il libro da te consigliato

Ovviamente conosco bene l'inglese, ma è di facile comprensione? Cioè, tutti i codici che scrive per implementare le GUI li spiega bene?

Inoltre, ritornando alla mia domanda precedente, secondo voi al termine dello studio ci capirò qualcosa sulle GUI senza dover acquistare il libro?

Grazie raga
Metalmino è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2012, 21:27   #5
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
Adesso fondinfo la fa il timido Tomaiuolo? Il programma mi sembra discretamente più interessante di quello Educal (pace all'anima sua...)/Bertozzi però è estremamente più ampio.
Vedendo le esercitazioni la progressione mi sembra forsennata.
  • Mi sembra di capire che parti praticamente dalle basi. Mi raccomando, cerca di fare più esercizi che puoi, non limitarti ad imparare a memoria costrutti e regole.
    In fondo si tratta praticamente di imparare una lingua straniera, senza la pratica si resta *molto* impacciati.
  • Asseconda lo stile di programmazione e le eventuali manie del prof.
  • Analizza per bene esercitazioni ed esercizi, soprattutto agli inizi può tornare molto utile abbozzare tracce di soluzione su carta.
  • *non copiare*, risulta invece molto utile confrontare le proprie soluzioni con gli amici.
  • Se non trovi la soluzione dopo averci sbattuto la testa a lungo fa una bella pausa e riprova prima di cercare aiuto (arrivare alla soluzione con le proprie forze, soprattutto se sofferta, solitamente è una bella soddisfazione e aiuta molto ad imparare).
  • Dovresti riuscire a comprendere meglio le Qt una volta assorbiti per bene i concetti di programmazione ad oggetti: le Qt sono sostanzialmente un'enorme collezione di oggetti pronti all'uso.
Passare dalla prima parte del corso alle Qt è un bel salto concettuale, ma è la progressione naturale.
Cercando di fare un paio di similitudini all'inizio hai praticamente carta bianca e sei libero di usare una manciata di semplici mattoncini a mani nude per creare dei modellini. Con le Qt hai a disposizione un'officina piena di strumenti e componenti; quanto hai imparato prima sono materie prime, viti e giunzioni: potrai costruire qualsiasi cosa.

Apprezzo molto le Qt, le ho usate un po' e le ho trovate molto ordinate, molto complete e la documentazione ufficiale mi è stata sufficiente per produrre un buon progettino in breve tempo.

Per finire ti segnalo un corso che ho apprezzato molto sulla programmazione ad oggetti ed una spolverata di Standard Template Library: OOPCPP0405 - Reggiani Monica. Ti puoi ancora iscrivere in corsi.unipr.it e trovare sia slide che assegnamenti.

P.S. Non ci sarà mica anche il Deba a far delle lezioni...?
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2012, 01:11   #6
Metalmino
Junior Member
 
Iscritto dal: Jul 2009
Messaggi: 29
Frequenti l'università di Parma pure tu? comunque c'è solo Tomaiuolo. Al secondo semestre si farà programmazione in C e il prof dovrebbe essere Alberto Broggi.

Comunque come ho detto mi sono perso molte lezioni (per dirla in breve mi sono iscritto in ritardo per problemi di salute, sono celiaco xD) e quindi, anche se ora sto procedendo bene (sia con l'apprendimento e con gli esercizi) ho paura di non imparare le QT senza un supporto cartaceo, ma se come hai detto tu una volta appresi per bene i concetti della programmazione ad oggetti il salto per passare alle GUI sarà naturale allora mi tranquillizzo xD anche se credo che, anche per uso personale, il libro consiliatomi qualche post fa lo comprerò xD

Grazie mille per i consigli gli esercizi li faccio sempre tutti e per ora non ho trovato grosse difficoltà (e sinceramente, per la prima volta in vita mia, posso dire che gli studi matematici del mio scientifico sperimentale mi stanno aiutando xD). Mi viene molto naturale elaborare soluzioni per poter scrivere il programma richeisto. Per quanto riguarda lo stile del prof, aimè, per i motivi su citati non li conosco pienamente. Speriamo bene

Ultima modifica di Metalmino : 19-01-2012 alle 01:15.
Metalmino è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2012, 20:01   #7
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
Io son vecchio , sono uscito da qualche anno. Leggendo altri indizi penserei anche al vecchio distaccamento di via Costituente...

Il libro che ti ha consigliato kurt_85 è consigliato dagli ex-troll in persona, non mi sembra male. Anche le valutazioni in Amazon tendono a definirlo buono, anche se chi non lo ha apprezzato lo ha solitamente stroncato.
Tra l'altro, come puoi leggere nella pagina, puoi scaricare liberamente la prima edizione del giugno 2006 incentrata sulle Qt 4.1, mentre la seconda arriva alle 4.3.

In bocca al lupo!
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2012, 21:15   #8
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
ma perchè lì a parma si studia il C++ e qua a milano solo il C?? come siamo arretrati
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2012, 23:32   #9
Metalmino
Junior Member
 
Iscritto dal: Jul 2009
Messaggi: 29
Ops scusami Gimli ho già scaricato la prima edizione ma sicuramente come ho detto il libro lo comprerò crepi il lupo!

@tecno: un mio amico studia al politecnico di Milano, primo anno e anche lui studia il C e non il C++. Forse lo farete al secondo semestre, non so. Io dal 27 febbraio inizierò programmazione in C mentre come ho già detto al primo abbiamo fatto C++ orientato agli oggetti
Metalmino è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 08:04   #10
tecno789
Senior Member
 
L'Avatar di tecno789
 
Iscritto dal: Jan 2010
Città: (MB)
Messaggi: 11971
Quote:
Originariamente inviato da Metalmino Guarda i messaggi

@tecno: un mio amico studia al politecnico di Milano, primo anno e anche lui studia il C e non il C++. Forse lo farete al secondo semestre, non so. Io dal 27 febbraio inizierò programmazione in C mentre come ho già detto al primo abbiamo fatto C++ orientato agli oggetti
nono proprio il C++ non è in programma negli esami che si fanno qui....
strano che vi insegnino prima la programmazione ad oggetti....
misteri delle università italiane
__________________
CPU: Ryzen 3700x DISSY: CM HYPER EVO 212 RAM: 16gb DDR4 3000Mhz MOBO: MSI b350 tomahawk VGA: MSI Ventus 2X 4060TI 16GB ALI: Cooler Master V550 SSD: Samsung 970 Evo Plus Trattive+:(a) topolino2808(x2), galfum, giap959, sm_morgan, Biduzzo, huangwei, maxmax80, bubbi, dinamite2, PaxNoctis;(v) rubrie, CubeDs, Slater91, Juvanni, FireFox152, gluvocio, giulio81, emahwupgrade, Velvet, semmy83, giocher03
tecno789 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 10:10   #11
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da tecno789 Guarda i messaggi
nono proprio il C++ non è in programma negli esami che si fanno qui....
strano che vi insegnino prima la programmazione ad oggetti....
misteri delle università italiane
Pensa che mio cugino a Ottobre s'è laureato in ingegneria informatica (triennale) e il C++ l'ha a malapena sentito nominare. In compenso ha fatto molto Java. Non sono ancora esperto, ma a quanto ho capito C++ è più potente di Java, nel senso che ci si può fare di più, pur essendo più difficile e pericoloso da programmare a dovere.

E riguardo al C...credo che lo si studi ancora perchè i prof ritengono utile sviluppare una mentalità adatta alla programmazione procedurale prima di passare agli oggetti, però ora che inizio a capire cos'è una classe, un oggetto e come si relazionano tra di loro mi rendo conto che è tutto un altro livello rispetto alla programmazione procedurale. C'è anche una buona probabilità che alcuni prof insegnino ancora il C e simili perchè son vecchi e non hanno voluto o saputo passare al C++, cioè non hanno voluto o saputo cambiare modo di pensare.

Io stesso al 1° anno di Ingegneria Chimica al Politecnico ho fatto C, poi FORTRAN per svolgere calcolo scientifico (giusto per ribadire il concetto che alcuni prof si rifiutano di imparare cose nuove ) e poi per fortuna il prof. di Metodi Numerici ci ha fatto lavorare in C++ con le sue librerie, tutta un'altra cosa
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 10:37   #12
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21572
Quote:
Originariamente inviato da vendettaaaaa Guarda i messaggi
Pensa che mio cugino a Ottobre s'è laureato in ingegneria informatica (triennale) e il C++ l'ha a malapena sentito nominare. In compenso ha fatto molto Java. Non sono ancora esperto, ma a quanto ho capito C++ è più potente di Java, nel senso che ci si può fare di più, pur essendo più difficile e pericoloso da programmare a dovere.

E riguardo al C...credo che lo si studi ancora perchè i prof ritengono utile sviluppare una mentalità adatta alla programmazione procedurale prima di passare agli oggetti, però ora che inizio a capire cos'è una classe, un oggetto e come si relazionano tra di loro mi rendo conto che è tutto un altro livello rispetto alla programmazione procedurale. C'è anche una buona probabilità che alcuni prof insegnino ancora il C e simili perchè son vecchi e non hanno voluto o saputo passare al C++, cioè non hanno voluto o saputo cambiare modo di pensare.

Io stesso al 1° anno di Ingegneria Chimica al Politecnico ho fatto C, poi FORTRAN per svolgere calcolo scientifico (giusto per ribadire il concetto che alcuni prof si rifiutano di imparare cose nuove ) e poi per fortuna il prof. di Metodi Numerici ci ha fatto lavorare in C++ con le sue librerie, tutta un'altra cosa
io andrei piano con le accuse alle unversità ecc ecc
programmazione OO e procedurale sono due cose distinte e non è che una è superiore all'altra in ogni contesto (come c++ non è superiore a java e java non è superiore a c++)

semplicemente per ogni ambito di utilizzo esiste un linguaggio più appropriato anche il tanto da te bistrattato fortran è comunque ancora parecchio richiesto sul mercato per la manutenzione e aggiornamento di vecchi sistemi che ancora funzionano in maniera egregia: ergo non essere così pronto a criticare l'operato degli altri quando sei ancora inesperto
es.

ti assicuro che nel mondo globalmente ci sono più programmatori C/ASM rispetto a programmatori C++/Java, la programmazione non si limita solamente ai PC
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 11:08   #13
Metalmino
Junior Member
 
Iscritto dal: Jul 2009
Messaggi: 29
Programmazione ad oggetti e procedurale, come ben detto da fazz, sono due cose completamente distinte. Più di qualche volta mi è capitato di ascoltare prof che dicevano che è indifferente studiare prima il C o il C++ in quanto praticamente, a livello logico, hanno in comune solo la lettera "C" presente nel loro nome.

Per alcuni addirittura è meglio imparare prima il C++ in quanto ti indirizza alla programmazione "aziendale" (passatemi il termine) ed in più ingloba in qualche modo il linguaggio del C, quindi risulta più semplice dopo apprendere il C (come avviene alla mia università d'altronde )
Metalmino è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 11:17   #14
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da !fazz Guarda i messaggi
io andrei piano con le accuse alle unversità ecc ecc
programmazione OO e procedurale sono due cose distinte e non è che una è superiore all'altra in ogni contesto (come c++ non è superiore a java e java non è superiore a c++)

semplicemente per ogni ambito di utilizzo esiste un linguaggio più appropriato anche il tanto da te bistrattato fortran è comunque ancora parecchio richiesto sul mercato per la manutenzione e aggiornamento di vecchi sistemi che ancora funzionano in maniera egregia: ergo non essere così pronto a criticare l'operato degli altri quando sei ancora inesperto
es.

ti assicuro che nel mondo globalmente ci sono più programmatori C/ASM rispetto a programmatori C++/Java, la programmazione non si limita solamente ai PC
Mamma mia come siete polemici, non ho criticato nessuno
Anzi, a dire il vero sì: i miei prof, che m'hanno fatto usare FORTRAN per far cose che poi ho rifatto col C++, in modo molto più veloce e sicuro, quindi in questo caso so di cosa parlo.

Per il resto mi rimetto al vostro giudizio

Una cosa sola: credi che nel mondo ci siano globalmente più programmatori C per motivi validi o solo per inerzia generazionale? O meglio, credi che fra 50 sarà ancora così o nessuno più insegnerà il C, bensì C++ e C# e quindi la situazione si ribalterà?

Ultima modifica di vendettaaaaa : 20-01-2012 alle 11:20.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 11:21   #15
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21572
Quote:
Originariamente inviato da Metalmino Guarda i messaggi
Programmazione ad oggetti e procedurale, come ben detto da fazz, sono due cose completamente distinte. Più di qualche volta mi è capitato di ascoltare prof che dicevano che è indifferente studiare prima il C o il C++ in quanto praticamente, a livello logico, hanno in comune solo la lettera "C" presente nel loro nome.

Per alcuni addirittura è meglio imparare prima il C++ in quanto ti indirizza alla programmazione "aziendale" (passatemi il termine) ed in più ingloba in qualche modo il linguaggio del C, quindi risulta più semplice dopo apprendere il C (come avviene alla mia università d'altronde )
sicuramente partire da un superset come il c++ agevola il passaggio all'insieme più ristretto

ad esempio il mio percorso di studi in ambito programmazione è stato un pò contorto con diversi fork corsi paralleli e approfondimenti successivi ma sono passati un pò di anni


superiori

pascal
c++ procedurale VBA asm z80
c++ OO sql asm 8086 php

università

c++ procedurale scripting matlab asm mips

Java G scripting R (OO)

lavoro
c# java c c++ php sql asm scripting matlab GTK QT Objective-C a seconda dell'ambito applicativo richiesto

Quote:
Originariamente inviato da vendettaaaaa Guarda i messaggi
Mamma mia come siete polemici, non ho criticato nessuno
Anzi, a dire il vero sì: i miei prof, che m'hanno fatto usare FORTRAN per far cose che poi ho rifatto col C++, in modo molto più veloce e sicuro, quindi in questo caso so di cosa parlo.

Per il resto mi rimetto al vostro giudizio

Una cosa sola: credi che nel mondo ci siano globalmente più programmatori C per motivi validi o solo per inerzia generazionale? O meglio, credi che fra 50 sarà ancora così o nessuno più insegnerà il C, bensì C++ e C# e quindi la situazione si ribalterà?
dipende da come si evolverà la tecnologia nei prossimi 50 anni probabilmente fra 50 anni si userà qualcosa di diverso rispetto a c++ e c#

comunque non è questione di inerzia ma bensì di target applicativo con java, .net ecc ecc ci programmi applicativi che girano su computer, il c viene usato per qualsiasi cosa con elettronica embedded : frigoriferi, lavatrici ECU, orologi, telefoni, caricabatterie, termostati, caldaie,automobili, tv, telecomandi, radio, automazione industriale, robot, semafori ecc. ecc.
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000

Ultima modifica di !fazz : 20-01-2012 alle 11:28.
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 12:40   #16
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da !fazz Guarda i messaggi
sicuramente partire da un superset come il c++ agevola il passaggio all'insieme più ristretto

ad esempio il mio percorso di studi in ambito programmazione è stato un pò contorto con diversi fork corsi paralleli e approfondimenti successivi ma sono passati un pò di anni


superiori

pascal
c++ procedurale VBA asm z80
c++ OO sql asm 8086 php

università

c++ procedurale scripting matlab asm mips

Java G scripting R (OO)

lavoro
c# java c c++ php sql asm scripting matlab GTK QT Objective-C a seconda dell'ambito applicativo richiesto



dipende da come si evolverà la tecnologia nei prossimi 50 anni probabilmente fra 50 anni si userà qualcosa di diverso rispetto a c++ e c#

comunque non è questione di inerzia ma bensì di target applicativo con java, .net ecc ecc ci programmi applicativi che girano su computer, il c viene usato per qualsiasi cosa con elettronica embedded : frigoriferi, lavatrici ECU, orologi, telefoni, caricabatterie, termostati, caldaie,automobili, tv, telecomandi, radio, automazione industriale, robot, semafori ecc. ecc.
Interessante, soprattutto l'ultima parte. A questo proposito, quando qualche giorno fa ho cominciato a capire cosa sono classi e oggetti, mi sono infatti chiesto: vale la pena stare a concepire un oggetto per ogni componente semplice, come ad esempio, un telecomando...e mi son risposto istintivamente di no, non ne vale la pena visto che bisogna capire come interfacciare l'oggetto con il resto del codice...quindi capisco la non necessarietà dell'OOP. Ma al contempo mi son chiesto: allora, dato che il C++ deriva dal C e può essere usato proceduralmente, perchè non usare solo il C++? Anche tu affermi che è un superset...quindi, si usa ancora C per qualche motivo? C'è qualcosa che C può fare e il C++ no? O cmq che il C++ fa in modo molto meno efficiente?
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 13:10   #17
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21572
Quote:
Originariamente inviato da vendettaaaaa Guarda i messaggi
Interessante, soprattutto l'ultima parte. A questo proposito, quando qualche giorno fa ho cominciato a capire cosa sono classi e oggetti, mi sono infatti chiesto: vale la pena stare a concepire un oggetto per ogni componente semplice, come ad esempio, un telecomando...e mi son risposto istintivamente di no, non ne vale la pena visto che bisogna capire come interfacciare l'oggetto con il resto del codice...quindi capisco la non necessarietà dell'OOP. Ma al contempo mi son chiesto: allora, dato che il C++ deriva dal C e può essere usato proceduralmente, perchè non usare solo il C++? Anche tu affermi che è un superset...quindi, si usa ancora C per qualche motivo? C'è qualcosa che C può fare e il C++ no? O cmq che il C++ fa in modo molto meno efficiente?
mi sa che stai facendo un pò di confusione tra oggetti fisici e oggetti nella programmazione

comunque a titolo di curiosità posso dirti che il firmware di un embedded generalmente è completamente diverso da un programma tradizionale, un programma embedded generalmente non ha una fine è un loop infinito (proprio un
Codice:
while(1)
{
...
...
...
...
}
che nella programmazione classica è un errore madornale) nel quale si implementa una macchina a stati finiti che include le varie chiamate dovute agli interrupt sw/hw

riguardo al discorso c c++ proprio parlando banalmente c++ è un soprainsieme del c, con il c++ puoi fare tutte le cose che fai con il c senza il minimo problema (e adattando pochissimo il codice) ma se non ti serve usare l'OO c++ e c sono praticamente la stessa cosa, e anche come discorso di efficienza poco cambia, dipende alla fine tutto dal compilatore a disposizione (ovvero se per quella mcu hai il compilatore c usi c ) se vuoi migliorare ancora l'efficienza si usa direttamente asm ma deve essere un progetto per cui l'incremento (minimo) di efficienza rispetto ad ottimi compilatori commerciali (come quello di IAR) e di determinismo temporale (importantissimo per applicazioni RT)che si ottiene ha un valore che compensa l'enorme perdita di tempo necessaria per lo sviluppo a basso livello di un codice efficiente

ribadisco: non c'è un linguaggio migliore di un altro, ci sono linguaggi che sono più adatti/utilizzabili per ottenere determinati risultati con un certo sforzo

altro esempio c++ è più efficiente di java essendo uno compilato mentre l'altro interpretato ma se devi fare un programma non computazionalmente esoso ne con stringenti requisiti di performance che deve girare ad esempio su win linux e osx usare java ti permette di ottenere il risultato con uno sforzo nettamente più leggero visto che sviluppi e testi un programma e non tre
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000

Ultima modifica di !fazz : 20-01-2012 alle 13:14.
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 14:50   #18
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12784
C++ sarà pure più efficiente di Java (cosa non sempre vera), ma sicuramente non è affatto efficiente per il programmatore.

C++ non si limita solo ad introdurre l'object oriented al C, ma ad introdurre anche altri concetti (stream, template), il che non è in senso assoluto un male, ma è la sintassi con cui lo fa che IMHO è molto discutibile.

Java nasce per l'object oriented, in tal senso è più puro di altri linguaggi (compreso l'eccellente C#), oltre ad avere una sintassi enormemente migliore di C++.

@vendetta: dietro il concetto di classe e di oggetto c'è un fondamento matematico, fondamentalmente hai un insieme di cose a cui puoi applicare un insieme più o meno ristretto di operazioni.

In tutti i casi in cui hai bisogno di restringere l'utilizzo di una risorsa o applicarvi determinate operazioni prefissate ti può essere comoda una classe, anche se singleton.

Comunque faccio presente che è possibile programmare secondo il paradigma ad oggetti anche in puro C. Chiaramente i risultati sono migliori con linguaggi che forniscono nativamente i costrutti per creare classi ed oggetti.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 15:32   #19
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Hmm devo studiare ancora un bel po'...
Cmq con oggetto intendo, beh, la definizione: entità che ha degli attributi e può svolgere delle funzioni. Non conosco bene le struct del C, le ho solo viste accennate in giro, ma credo che sia una struct con in più delle funzioni che sono ciò che lo rende unico; forse è molto più di questo.
La sintassi non è in effetti facile, ho ancora molta confusione in testa. Ho da poco scoperto che alcuni simboli, per stabilirne la priorità vengono letti da sx a dx in compilazione mentre altri da dx a sx...
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2012, 15:41   #20
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21572
Quote:
Originariamente inviato da vendettaaaaa Guarda i messaggi
Hmm devo studiare ancora un bel po'...
Cmq con oggetto intendo, beh, la definizione: entità che ha degli attributi e può svolgere delle funzioni. Non conosco bene le struct del C, le ho solo viste accennate in giro, ma credo che sia una struct con in più delle funzioni che sono ciò che lo rende unico; forse è molto più di questo.
La sintassi non è in effetti facile, ho ancora molta confusione in testa. Ho da poco scoperto che alcuni simboli, per stabilirne la priorità vengono letti da sx a dx in compilazione mentre altri da dx a sx...
aspetta di vedere ereditarietà multipla e polimorfismo li si che saranno mal di testa

a parte la sintassi e la banalità del fatto che una classe è una struttura con delle funzioni al suo interno c'è parecchio altro

una struttura serve per racchiudere un insieme di variabili eterogenee in un insieme logico una classe è di più: in una classe le variabili non devono essere mai accessibili direttamente (information hiding): le variabili saranno private e accessibili solo dai metodi della classe e tra i metodi ci saranno i metodi set e get per leggere/ scrivere le variabili è uno dei pilastri dell'OO

ma ci arriverai con il tempo prima ti consiglio di impratichirti bene sulle basi della programmazione procedurale in particolare sulla gestione della memoria dinamica che sono fondamentali quando passarai all'OO tra costruttori e distruttori vari

@warduck a me la sintassi java non piace, troppo prolissa una scorciatoia per il tunnel carpale a parte le battute trovo la sintassi del C++ più compatta (e stranamente più leggibile) ed elegante di quella di java ma sono fisime personali ma ti quoto in tutto sulla sintassi di stl che è un casino improponibile e non mi piace neanche quella della comunissima printf
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000

Ultima modifica di !fazz : 20-01-2012 alle 15:56.
!fazz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme GT7: un "flaghsip killer" concreto! La recensione realme GT7: un "flaghsip killer" concr...
Oracle guida Stargate UAE: nasce il supercluster per l'IA sovrana Oracle guida Stargate UAE: nasce il supercluster...
Tutto sulla nuova Tesla Model Y: autonomia in autostrada, prova bagagliaio e dettagli Tutto sulla nuova Tesla Model Y: autonomia in au...
HONOR 400 Pro trasforma ogni scatto in capolavoro animato. Recensione HONOR 400 Pro trasforma ogni scatto in capolavor...
Intel Core Ultra 5 235 e Core Ultra 5 225F, CPU Arrow Lake per la fascia media Intel Core Ultra 5 235 e Core Ultra 5 225F, CPU ...
Tesla in caduta libera: in Europa -52,6%...
WhatsApp arriva finalmente su iPad: abbi...
Sony annuncia il ritorno dei proiettori ...
Concept Astro, il progetto di Dell per a...
Dubai pronta a offrire accesso gratuito ...
PlayStation Portatile: SoC AMD con proce...
Tor Alva: ecco l'edificio più alto al mo...
Finale di Champions con un maxischermo: ...
OnePlus AI: la nuova era dell'intelligen...
TeamViewer ONE: la piattaforma per unifi...
Volkswagen blinda l'architettura SSP: pr...
Sapphire Phantomlink: il produttore cine...
Formula E pronta a Shanghai: due gare de...
Offerte Tech da urlo: le componenti perf...
NVIDIA GeForce GTX 970 8GB: il raddoppio...
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: 18:58.


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