Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-11-2005, 00:54   #1
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
[C++ Vs JAVA] Come programmare in modo veloce/agile anche C++?

Ciao a tutti,
ultimamente sto lavorando ad un progetto in C++... ho scelto questo linguaggio in quanto è enormemente più efficente di java in termini di tempi di esecuzione.. lavoro con linux usando emacs, g++ e Makefile (..anche se quasi sicuramente è più comodo usare C++Builder o DevC++ ).

il punto è questo, quando mi è capitato invece di dover fare progetti in java, nonostante allora ero proprio alle prime armi col linguaggio e con la programmazione OO, ho usato JBuilderX come tool e mi sono trovato benissimo... questo perchè oltre all'uso di JBuilderX Java dispone delle API.

Perchè Java ha le API mentre C++ no? Esiste un modo per ottenere in C++ la stessa praticità-agilità nella programmazione che c'è con Java?

Grazie!
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 02:06   #2
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
scusa mi interessa il topic ma non riesco a capire bene il problema: cioè vuoi sapere perchè java prevede come 'standard' tutte le librerie necessarie anche per le finestre mentre C++ no?

beh semplice, perchè c++ deve essere compilato ad hoc per ciascuna piattaforma, e questa usa le sue API con le quali è stata fatta l'interfaccia del SO. quindi è inutile fornire delle api standard: usi quelle fornite dal SO. mentre java, in quanto seminterpretato, e quindi svincolato dalla piattaforma, può fornire delle API sue.

Se programmi sotto linux puoi usare le Qt, sotto windows invece puoi usare le sue API - che casualmente mi sto studiando adesso - importando window.h


ho capito bene dunque?
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 09:40   #3
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Si ora ho capito meglio..

come posso usare - scaricare Qt e windows.h per C++? Basta fare un include?
Perdona l'ignoranza....
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 12:52   #4
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
Quote:
Originariamente inviato da shang84
Si ora ho capito meglio..

come posso usare - scaricare Qt e windows.h per C++? Basta fare un include?
Perdona l'ignoranza....

sotto windows includi la window.h che a sua volta include una marea di header. ti consiglio un tutorial per windows per le winapi 32 perchè non è proprio immediato fare finestre ecc. se non leggi il meccanismo con cui funziona.

per le qt non le ho mai usate ma se vai sul sito della trolltec - non mi ricordo come si scrive - trovi anche un tutorial o un reference. le qt sono scritte in c++ se non ricordo male. quelle di windows in C invece.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 14:19   #5
Braccop
Senior Member
 
L'Avatar di Braccop
 
Iscritto dal: Jan 2002
Messaggi: 2689
Quote:
Originariamente inviato da Black imp
Se programmi sotto linux puoi usare le Qt, sotto windows invece puoi usare le sue API - che casualmente mi sto studiando adesso - importando window.h
scusate l'ot, ma hai del materiale sulle api di windows? magari anche sul winsock... perche' io sto cercando ma non trovo nulla
__________________
Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders
Braccop è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 14:58   #6
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da shang84
Ciao a tutti,
ultimamente sto lavorando ad un progetto in C++... ho scelto questo linguaggio in quanto è enormemente più efficente di java in termini di tempi di esecuzione.. lavoro con linux usando emacs, g++ e Makefile (..anche se quasi sicuramente è più comodo usare C++Builder o DevC++ ).
Stai basando una scelta di design importante come il linguaggio sulla base di considerazioni prestazionali su un sistema che non hai ancora costruito?
Hai un requisito esplicito che ti richiedere un certo vincolo prestazionale?

Altrimenti la tua e' una scelta molto sbagliata.

Quote:
Perchè Java ha le API mentre C++ no? Esiste un modo per ottenere in C++ la stessa praticità-agilità nella programmazione che c'è con Java?

Grazie!
Anche il C++ ha API, in realta' ogni linguaggio ha a disposizione delle API. Il discorso e' da spostarsi sui tool. Esistono tool per C++ tali da ottenere la stessa produttivita' che si ha con linguaggi come C# e Java?
No, non esistono, altrimenti non esisterebbero quei linguaggi

Il C++ e' una brutta bestia e non potrai mai aspettarti la stessa produttivita' di un linguaggio ad alto livello, come non potrai mai aspettarti da un linguaggio ad alto livello le prestazioni che ottieni in C++. Ma le prestazioni sono sempre il fattore meno importante, perche' i vincoli prestazionali sono i piu' facili da rispettare quando e dove necessario.

Perche' pagare i limiti in termini di produttivita' del C++ su tutto il codice, quando i vantaggi prestazionali si godono solo su una minima percentuale del codice stesso mentre nel resto e' del tutto ininfluente?

Io ti consiglio di scrivere tutto in Java/C#, poi, quando hai il sistema funzionante, isolare le parti di codice che hanno bisogno di migliorare le prestazioni a seguito di un profiling attento e, quindi, scrivere solo queste parti in C++, ma non prima di aver cercato ottimizzazioni algoritmiche. Nel 99% dei casi ti accorgerai che non ti servira' neppure usare il C++.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 15:35   #7
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Arrrgh!!


Merda! Avevo l'impressione di aver sbagliato scelta. Il punto è questo:

ho inziato uno stage in un centro di ricerca dove si studia la proteomica.
Loro utilizzano Perl per il loro sw. Io conoscevo bene Java e abbastanza bene C++. Mi sono detto:"facciamo tutto in C++ in quanto se si deve fare l'analisi della struttura delle proteine i tempi di calcolo sono lunghi con un linguaggio interpretato.. quindi è meglio darsi al C++!" tra l'altro loro mi han detto: "fallo nel linguaggio che vuoi basta che funzioni." E qui arriva il masochismo, ho scelto il C++ con l'illusione fare una cosa più facile rispetto ad usare il Perl che non conoscevo... illusione "condita" anche dall'idea che il C++ è + efficente.

Ora come ora ho scritto circa 1000 righe di codice, non moltissime ma cmq 1000!

Mi consigli di trasportare il tutto sotto Java? o a sto punto è meglio sotto Perl?

....cacchio che cavolata... io avrei continuato a sbattere la testa contro il muro ... pensati che quando mi chiedevano di fare una minima cazzata nel programma ci mettevo una vita perchè dovevo star li ad impararmi le varie librerie del C++....

PS: a livello di crescita personale nell'informatica pensi sia meglio ammettere l'errore e passare ad un altro linguaggio (Java ad esempio) o continuare ad impare le librerie di C++, pur sapendo che ci metto + temp?

Ultima modifica di shang84 : 15-11-2005 alle 15:38.
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 16:00   #8
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
shang84 non puoi dire che uno sia migliore dell'altro se non hai provato...
Se le prestazioni sono un punto cruciale del tuo lavoro è chiaro che tu debba valutare bene la scelta...
Scrivi due esempi.. Uno in C++ ed uno in Java... Implementa un algoritmo tipo di quelli che devi usare nel programma finale...
A quel punto valuta le differenze prestazionali (sfrutta anche tutte le ottimizzazioni messe a disposizione dai compialtori)...

C++ ha comunque a disposizioni molte librerie multipiattaforma...ad esempio wxWidgets...e molte librerie multipiattaforma anche per altro (Boost ad esempio)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 16:14   #9
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Ok, dato che finora ho fatto solo la prima parte di 3 del lavoro potrei riscriverla in toto in Java e come dici tu confrontare i tempi di esecuzione...

il dubbio è che non so quanto tempo potrebbe richiedermi l'imparare le librerie che mi consigli.. boh... sono un pò confuso ora come ora

.... il java mi alletta perchè un minimo di interfaccia grafica la so fare, mentre in c++ no... so che è da pigri dire così ma è quel che mi frulla in testa ora.. trovare la via + facile per fare questo programma.. mettersi a studiare le librerie del c++ rischia di farmi "perdere" tempo con i corsi che sto seguendo e prolungare il tempo dello stage che purtroppo è a Milano, città dove ho alloggio solo fino a 1/2 febbraio..
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 16:37   #10
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da shang84
PS: a livello di crescita personale nell'informatica pensi sia meglio ammettere l'errore e passare ad un altro linguaggio (Java ad esempio) o continuare ad impare le librerie di C++, pur sapendo che ci metto + temp?
A livello di crescita personale di consiglio di svolgere il compito imparando un nuovo linguaggio. Perl e' un po' 'na schifezza. Ti consiglio di scriverlo in Python o Ruby (cosi' impari anche qualcosina di nuovo ). Se proprio non ti vuoi staccare da i linguaggi C-like, vai su Java o C#, a seconda che il tuo programma debba essere portabile o solo per Win32. Nel secondo caso con C# ti sara' ancora piu' semplice integrare codice C++ qualora fosse necessario.

Infine, quando tutto funziona, guarda le performance. Se vanno bene hai finito, se e' troppo lento, cronometra le varie parti del programma e isola quelle che spendono piu' tempo e scrivile in C++.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 17:33   #11
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da shang84
so che è da pigri dire così ma è quel che mi frulla in testa ora..
La pigrizia e' il migliore amico del programmatore, perche' ti costringe a cercare soluzioni piu' semplici e pragmatiche al problema
fek è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 18:18   #12
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Quote:
Originariamente inviato da fek
A livello di crescita personale di consiglio di svolgere il compito imparando un nuovo linguaggio. Perl e' un po' 'na schifezza. Ti consiglio di scriverlo in Python o Ruby (cosi' impari anche qualcosina di nuovo ). Se proprio non ti vuoi staccare da i linguaggi C-like, vai su Java o C#, a seconda che il tuo programma debba essere portabile o solo per Win32. Nel secondo caso con C# ti sara' ancora piu' semplice integrare codice C++ qualora fosse necessario.

Infine, quando tutto funziona, guarda le performance. Se vanno bene hai finito, se e' troppo lento, cronometra le varie parti del programma e isola quelle che spendono piu' tempo e scrivile in C++.
E' un programma per Win32 e Linux... quindi Java.
La mia amica pigrizia mi dice: "No no! Lascia perdere manuali nuovi.. metti prima in pratica quello che sai già.. e poi +avanti, in un giorno di pioggia, mettiti ad imparare qualcos'altro..."

Quindi mi sa che mi annoto i linguaggi che hai detto nel mio taccuino dei "buoni propositi"
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 18:22   #13
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 shang84
E' un programma per Win32 e Linux... quindi Java.
Se conosci già la programmazione di GUI in Java sicuramente... Al limite se hai problemi di prestazioni puoi implementare in C++ il motore di calcolo e metterlo in una libreria...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 18:29   #14
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Quote:
Originariamente inviato da cionci
Se conosci già la programmazione di GUI in Java sicuramente... Al limite se hai problemi di prestazioni puoi implementare in C++ il motore di calcolo e metterlo in una libreria...
Grande! Si può davvero includere una libreria "fai da te" fatta in c++ in Java?
Sarebbe davvero la soluzione a tutto!
Scusa la domanda, ma come si fa?

Thnks!
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 18:31   #15
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
Cerca JNI... Ovviamente poi te la devi compilare su tutte le piattaforme e ti limita la portabilità...
Intanto comincia a svilupaprlo in Java, se poi ti servono ulteriori prestazioni puoi sempre portare il codice del motore di calcolo in C++ (portare codice che fa operazioni di calcolo e poco più è molto semplice)...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 15-11-2005, 18:37   #16
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Ok thanks...

Ultima modifica di shang84 : 15-11-2005 alle 18:42.
shang84 è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2005, 11:40   #17
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Personalmente ti consiglio Python: puoi sviluppare MOLTO velocemente l'applicazione, concentrandoti inizialmente sulla "correttezza" della sua implementazione.

Quando avrai finito, potrai riscrivere le parti critiche in C++. Con Python è particolarmente semplice (anzi, è proprio una sua caratteristica ) estenderne le funzionalità usando il C++.

Qui http://docs.python.org/ext/ext.html c'è una guida che ti spiega come fare, fornendoti anche degli esempi molto semplici da capire.
__________________
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 16-11-2005, 12:18   #18
shang84
Senior Member
 
Iscritto dal: Apr 2005
Città: <-|-|-*|*-|-|->
Messaggi: 347
Thnks!
shang84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
NVIDIA investe 1 miliardo di dollari in ...
GlobalFoundries rafforza la produzione i...
Gli USA preparano il programma Apollo de...
Jensen Huang ha mostrato per la prima vo...
Addio vecchia OpenAI: ora punta al profi...
Dallo spazioporto di Jiuquan decollerann...
Il Giappone un passo più vicino a...
Gli interferometri LIGO, Virgo e KAGRA h...
Kia PV5: è record di autonomia! I...
L'aeroplano supersonico ''silenzioso'' N...
Nissan: le batterie allo stato solido co...
NVIDIA cambia strategia? La GPU Feynman ...
Signal respinge le accuse dopo il down A...
Uragano Melissa in arrivo: la tempesta d...
8K o 4K? Ecco perché il tuo occhi...
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: 08:58.


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