Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale
Forte di soluzioni tecniche specifiche, il notebook Acer TravelMate P4 14 abbina dimensioni compatte e buona robustezza per rispondere alle necessità specifiche degli utenti aziendali. La piattaforma AMD Ryzen 7 Pro assicura prestazioni elevate con i tipici ambiti di produttività personale e sul lavoro, mantenendo un'elevata autonomia.
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque
Dal salotto al giardino, il nuovo proiettore laser di Hisense promette esperienze cinematografiche in qualsiasi contesto: qualità d’immagine, semplicità d’uso, versatilità e prezzo competitivo il suo poker d'assi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-07-2014, 14:25   #1
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Java vs Python

Ciao a tutti,
devo realizzare un software con interfaccia grafica.
Questo software si deve occupare principalmente di estrarre dati da file .txt e produrre in uscita i risultati sempre su .txt o pdf.
L'interfaccia deve comprendere una mappa geografica (es. Europa) e selezionando una città da un menù a tendina, deve segnare sulla mappa con un segno (tipo google maps) la città selezionata ( o anche zoomare sulla mappa ).
In base alla città selezionata deve prendere in ingresso dei file .txt e leggere i dati nonchè eseguire dei calcoli matematci su di essi e scriverli su un file di uscita .txt o pdf. e magari anche graficarli con istogrammi sulla stessa interfaccia.
Vengo al dunque: devo scegliere un linguaggio di programmazione che mi permetta di fare ciò e la mia scelta cade su java o python.

Cosa mi consiglita?

Grazie
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 15:16   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Io dei due conosco solo java, ma penso che entrambi siano abbastanza dotati di librerie per fare ciò che vuoi, il consiglio è ovviamente di utilizzare quello che conosci meglio.
Nell'ottica di ridistribuire il programma sceglierei java perché a mio avviso la jvm è più familiare all'utente medio di quanto non lo sia l'interprete python (ma è solo una mia sensazione).
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 15:25   #3
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
Ciao a tutti,
devo realizzare un software con interfaccia grafica.
Questo software si deve occupare principalmente di estrarre dati da file .txt e produrre in uscita i risultati sempre su .txt o pdf.
L'interfaccia deve comprendere una mappa geografica (es. Europa) e selezionando una città da un menù a tendina, deve segnare sulla mappa con un segno (tipo google maps) la città selezionata ( o anche zoomare sulla mappa ).
In base alla città selezionata deve prendere in ingresso dei file .txt e leggere i dati nonchè eseguire dei calcoli matematci su di essi e scriverli su un file di uscita .txt o pdf. e magari anche graficarli con istogrammi sulla stessa interfaccia.
Vengo al dunque: devo scegliere un linguaggio di programmazione che mi permetta di fare ciò e la mia scelta cade su java o python.

Cosa mi consiglita?

Grazie
Considerando l'applicazione che devi fare (gestire mappe e interfacce grafiche) credo che più che al linguaggio ti convenga pensare al framework che vuoi adottare per lo sviluppo e poi il linguaggio viene di conseguenza.
Alla fine,infatti, il punto che sembra essere più critico dell'applicazione e' proprio la gestione e visualizzazione delle mappe.

Per che piattaforma vuoi/devi farla?
Integrare le mappe in una applicazione desktop potrebbe non essere banale ... (anche perché non credo ci siano servizi desktop per la mappe di qualità da sfruttare).

Se vuoi usare google maps per esempio (che e' il servizio di mappe migliore che si trova al momento) allora o fai una applicazione Web o integri un browser web nella tua applicazione o usi le API mobile (se l'applicazione mobile).

Se vuoi usare un servizio di qualità inferiore , ma comunque buono come OpenStreetMap allora hai a disposizione una serie di librerie e framework tra cui scegliere che, a seconda di quale sceglierai, determinerà il linguaggio con cui scriverai l'applicazione. Puoi trovare un elenco qua:
http://wiki.openstreetmap.org/wiki/Rendering

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 15:54   #4
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Io dei due conosco solo java, ma penso che entrambi siano abbastanza dotati di librerie per fare ciò che vuoi, il consiglio è ovviamente di utilizzare quello che conosci meglio.
Nell'ottica di ridistribuire il programma sceglierei java perché a mio avviso la jvm è più familiare all'utente medio di quanto non lo sia l'interprete python (ma è solo una mia sensazione).
Purtroppo non conosce nè uno nè l'altro. Si tratterebbe di prendermene uno e studiarlo ovviamente considerando il tempo che ho a disposizione che non è molto.
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 15:58   #5
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Quote:
Originariamente inviato da AnonimoVeneziano Guarda i messaggi
Considerando l'applicazione che devi fare (gestire mappe e interfacce grafiche) credo che più che al linguaggio ti convenga pensare al framework che vuoi adottare per lo sviluppo e poi il linguaggio viene di conseguenza.
Alla fine,infatti, il punto che sembra essere più critico dell'applicazione e' proprio la gestione e visualizzazione delle mappe.

Per che piattaforma vuoi/devi farla?
Integrare le mappe in una applicazione desktop potrebbe non essere banale ... (anche perché non credo ci siano servizi desktop per la mappe di qualità da sfruttare).

Se vuoi usare google maps per esempio (che e' il servizio di mappe migliore che si trova al momento) allora o fai una applicazione Web o integri un browser web nella tua applicazione o usi le API mobile (se l'applicazione mobile).

Se vuoi usare un servizio di qualità inferiore , ma comunque buono come OpenStreetMap allora hai a disposizione una serie di librerie e framework tra cui scegliere che, a seconda di quale sceglierai, determinerà il linguaggio con cui scriverai l'applicazione. Puoi trovare un elenco qua:
http://wiki.openstreetmap.org/wiki/Rendering

Ciao
Beh..diciamo che sarebbe sufficiente che selezionassi una città da un menù a tendina e che aoutmaitcamente venisse segnata in qualche modo sulla mappa.
Non devo fare una applicazione web ma un software installabile con un esegubile sul sistema. La piattaforma, considererei in primiis windows ma ben enga l'utilizzo sulle altre se fosse possibile
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 16:12   #6
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
Beh..diciamo che sarebbe sufficiente che selezionassi una città da un menù a tendina e che aoutmaitcamente venisse segnata in qualche modo sulla mappa.
Non devo fare una applicazione web ma un software installabile con un esegubile sul sistema. La piattaforma, considererei in primiis windows ma ben enga l'utilizzo sulle altre se fosse possibile
In tal caso una buona idea potrebbe essere fare il tutto in C#/.NET e usare una libreria tipo http://brutile.codeplex.com per OpenStreetMaps.

Secondo me e' la scelta più adatta per quello che devi fare se e' un qualcosa che devi fare per lavoro.

Se la compatibilita' multipiattaforma e' importante allora Java potrebbe essere una opzione , ma come costruzione di interfacce grafiche su Windows credo che .NET al momento sia inarrivabile. Sia per qualità dei tool a disposizione che per le risorse che puoi trovare sul Web.

Python lo scarterei, perche' visto che non conosci neanche il linguaggio , costruire una interfaccia grafica decente richiederebbe sicuramente più lavoro. Pero' non sono esperto di costruzione di interfacce grafiche su Python, visto che l'ho sempre usato più come linguaggio di scripting che per applicazioni. Di esperti a riguardo ce ne sono parecchi su questo forum e sicuramente se mi sbaglio da questo punto di vista (ad esempio perché c'e' un tool di RAD per le interfacce grafiche definitivo per Python che non conosco) si faranno sentire

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 16:23   #7
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Java offre nativamente supporto alle GUI tramite Swing
https://it.wikipedia.org/wiki/Swing_%28Java%29

Né l'interprete ufficiale, né i moduli inclusi in esso, offrono nulla di simile in Python, né Python 2.x né 3.x

Ovviamente per entrambi trovi estensioni, librerie e tutto il solito fritto misto e insalatona che offrono tutti i linguaggi .

Io andrei di Java senza pensarci 2 volte.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 18:38   #8
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Ovviamente oltre al menù a tendina per le città, ci devo essere anche delle opzioni spuntabili in base ai dati che voglio in uscita sul file .txt o .pdf
Io sinceramente non conoscendo nè java nè Python opterei per Java solo perchè sicuramente troverei più aiuto nei forum mentre opterei per Python solo perchè mi hanno detto che è più immediato da apprendere.
Quindi son ben accetti altri pareri a riguardo
Grazie ancora
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 19:07   #9
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
Ovviamente oltre al menù a tendina per le città, ci devo essere anche delle opzioni spuntabili in base ai dati che voglio in uscita sul file .txt o .pdf
Io sinceramente non conoscendo nè java nè Python opterei per Java solo perchè sicuramente troverei più aiuto nei forum mentre opterei per Python solo perchè mi hanno detto che è più immediato da apprendere.
Quindi son ben accetti altri pareri a riguardo
Grazie ancora
Secondo me stai sopravvalutando quello che una GUI è, come si presenta all'utente programmatore e come si usa, non troverai nulla di fatto e pre-confezionato, dovrai curare tu tutta la logica e gli stati del programma.

Se la scelta si estende ad altro GTK+ offre tanti widget per te, compreso il supporto alle mappe con libchamplain e probabilmente altri widget e librerie, ma è forse ancora più complesso di Java.

Se non te la senti di sperimentare usa Java perché troverai tanta documentazione.

Ultima modifica di Freaxxx : 29-07-2014 alle 19:09.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 19:36   #10
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Vi spiego: questo è il mio lavoro di tesi, ho tutta l'intenzione di imparare un linguaggio nuovo ma non voglio metterci un secolo.
Entro i primi di agosto devo decidere assolutamente che linguaggio utilizzare per il lavoro che devo fare, quindi i vostri pareri mi sono di enorme aiuto
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 20:07   #11
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
devi decidere entro Agosto e quanto tempo hai dopo per fare le robe che devi fare ?

è difficile consigliarti qualcosa se non hai neanche una preferenza per un linguaggio.

Ci sono i cosidetti "RAD tools" che non sono altro che IDE usati per progettare GUI, una GUI per fare una GUI, e tipicamente crei nuovi widget, editi quelli esistenti, crei un nuovo layout et voilà la tua GUI è pronta; solitamente la salvi come un XML o formato equivalente e a parte programmi la logica del tuo software e carichi il tuo XML da li e sempre dal codice sorgente colleghi i widget alla logica del tuo programma.

Tipicamente ogni framework per GUI ha 1 suo RAD di riferimento, per Qt è Qt Designer ( già parte dell'IDE ufficiale del progetto, Qt Creator quindi non è un programma separato ), per le GTK+ è Glade e per Swing e gli altri troverai sicuramente altro, specialmente per Eclipse ( un altro IDE generico per tutti i linguaggi, molto popolare nella community Java ).

Adesso il punto è, Con Swing usi Java, con Qt usi C++, con le GTK usi C ( potresti anche integrare altri linguaggi ma senza sapere il C non fai un passo con le GTK ) e con altri framework userai altro .

il C è il padre di tutti i linguaggi, Java ha un mare di documentazione e un passato da linguaggio popolare e molto usato, probabilmente uno dei più facile da gestire all'inizio, C++ richiede una espansione delle tue conoscenze del C ed è tipicamente più complesso, in pochi mesi non so quanto tu possa diventare mediamente skillato su C e C++, con tutto l'aiuto che i RAD e le GUI ti possono dare ma alla fine la logica del programma la scrivi tu, i pezzi li devi mettere insieme tu.

Io direi di considerare solo 2 opzioni e quelle che hanno più documentazione e risorse disponibili online, vale a dire Java e Qt, datti 3-4 giorni e dedica metà del tempo a Java e metà a Qt e vedi che riesci a tirare fuori come primo esempio e quanto è difficile per te.

PS
a questo punto non conta molto, ma a scanso di equivoci dovresti specificare la tua piattaforma e la piattaforma per la quale intendi sviluppare, sia Java che Qt sono multipiattaforma comunque.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 20:24   #12
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
"potrebbe" essere la cosa più semplice se mastichi un pò di javascript e html
https://github.com/rogerwang/node-webkit
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2014, 20:34   #13
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Ok, in C, la parte relativa al funzionamento del software che dovrei fare credo di saperla fare...ho avuto a che fare con lettura e scrittura su file, ricerca e cose cosi. Il problema è la creazione dell'interfaccia grafica in C , che a quanto mi hanno detto è un bel pò complicata
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 06:47   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Ho sviluppato interfacce grafiche con Python usando IronPython e WPF, ma:
- è limitato a Windows (usando .NET);
- devi perderci un po' di tempo all'inizio per capire come gestire GUI da IronPython (VisualStudio supporta direttamente soltanto alcuni linguaggi, e non Python purtroppo).

Viste le tue esigenze, ti consiglio di provare l'accoppiata Python + PySide.
Python ti consentirà di scrivere molto velocemente codice senza perderti in dettagli di più basso livello; ed è molto semplice da imparare. Gestire file di testo è una banalità, e per i PDF esistono diverse librerie a cui potresti appoggiarti.
PySide è un wrapper del framework Qt, che mette a disposizione QtDesigner per disegnare interfacce grafiche, generando appositi file per molti linguaggi di programmazione (incluso Python). Qt è interessante perché integra WebKit, che è un engine web, per cui puoi appoggiarti a Google Maps o Bing Maps per gestire le mappe.
__________________
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 30-07-2014, 09:39   #15
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
Vi ringrazio tutti.
A questo punto mi viene da chiedervi: cosa hanno in comune Python e Java ?

Ultima modifica di roquentin3 : 30-07-2014 alle 10:46.
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 10:31   #16
OoZic
Senior Member
 
L'Avatar di OoZic
 
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
cosa hanno in comune Python e Java ?
niente
__________________
> This is me <
When you gaze long into an abyss the abyss also gazes into you.
OoZic è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 10:47   #17
roquentin3
Member
 
Iscritto dal: Jul 2014
Messaggi: 32
E nella sintassi, secondo voi, quale dei due è più vicino al C ?
roquentin3 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 10:54   #18
fally
Bannato
 
Iscritto dal: Sep 2013
Messaggi: 333
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
E nella sintassi, secondo voi, quale dei due è più vicino al C ?
considerando cio' che devi fare cercherei un linguaggio quanto piu' distante dal c...
fally è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 10:57   #19
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da roquentin3 Guarda i messaggi
E nella sintassi, secondo voi, quale dei due è più vicino al C ?
Java.
Ma bisogna fare dei distinguo: python, in una maniera o nell'altra, non ti costringe forzatamente a usare gli oggetti (anche se ritengo difficile usare un qualsiasi framework moderno senza avere proprio la benchè minima idea di cosa un oggetto sia), java si.
Tanto per capirsi, in python puoi anche scrivere un programma con approccio strutturato in maniera abbastanza naturale, in java è (molto) meno immediato.
Per come la vedo io, vadi di python. E te lo dico da javista
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza

Ultima modifica di wizard1993 : 30-07-2014 alle 11:23.
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 30-07-2014, 10:59   #20
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Sicuramente java.
Comunque java è un linguaggio completamente ad oggetti, mentre il c è solo strutturato, per cui nel primo troverai delle keyword e degli operatori che non hanno un corrispondente nel secondo. Il c++ invece estende il c, aggiungendo alla programmazione strutturata quella ad oggetti (la prima non è assente come in java), tuttavia java e c++ hanno preso due strade molto diverse, pur essendo entrambi ad oggetti.

Quanto segue è una mera approssimazione, da non prendere alla lettera.
In termini di somiglianza di keyword e operatori potremmo dire che il c è un sottoinsieme di java, ma non il contrario, e tra java e c++ esiste solo un'intersezione. In java inoltre è completamente assente il concetto di puntatore.
Daniels118 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il c...
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Xbox: dal prossimo mese verifica dell'id...
Corsair AI Workstation 300: poco pi&ugra...
Addio a Elio Marioli, un pioniere della ...
L'IA sta già diminuendo il potere...
Guida autonoma? Gli ADAS falliscono e in...
Skechers lancia le scarpe per bambini co...
Revolut e Audi F1: un’alleanza rivoluzio...
Gestione attività di Windows 11 d...
Amazon lancia il nuovo videocitofono Bli...
Robot aspirapolvere al top: i nuovi DEEB...
Opera vs Microsoft: la guerra dei browse...
Router e ripetitori FRITZ! in offerta su...
Spotify vola a quota 700 milioni di uten...
Microsoft pronta ad abbandonare il launc...
Windows 11, arriva una feature multimoni...
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: 04:35.


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