Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
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: 13826
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: 13826
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


HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
UBTech Walker S2: il robot umanoide cine...
Musk guarda ai più piccoli: in ar...
The Witcher 3 su RISC-V? Ora è po...
Il segreto per lavorare meglio? È...
Mini PC con 16GB RAM e 512GB SSD a poco ...
Radeon RX 9000: questa app gratuita cons...
Windows 11 supporterà la condivis...
Synology DS725+: connettività 2.5...
Microsoft vuole dire addio ai problemi d...
I giocatori si divertono a spendere di p...
Il monopattino che punta a battere il re...
Apple e crittografia, Londra verso la re...
Trump pubblica video con Obama arrestato...
A Vienna consegne postali completamente ...
FX Super One: il Minivan Elettrico di Fa...
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: 19:57.


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