Guida [Java] Java GUI Code Creator

Stato
Discussione chiusa ad ulteriori risposte.

int0x80

Utente Silver
5 Aprile 2012
47
3
6
54
Ultima modifica da un moderatore:
Salve, avendo iniziato a programmare per il mio cellulare Android ( HTC Desire S ) ho avuto a che fare con il Java ed essendomi piaciuto ho iniziato a studiarlo e ho scritto questo programma, che non ha niente a che fare con i tool che esistono per generare direttamente il codice di un controllo Java, per alcuni miei amici che programmano in Java, per semplificargli un po' la vita. Lo mostro a voi per avere dei suggerimenti/critiche per migliorarlo/cambiarlo :

Sorgente > [Java] JavaGuiCodeCreator.java - Pastebin.com

Download > https://hotfile.com/dl/152044018/4ee612a/JavaGuiCodeCreator.jar.html

Scansione > https://www.virustotal.com/file/b774dd80cee974f749568c454346f41a37e8335ce6e1db070187a2ec00cc4bd3/analysis/1333742696/

Screen >
6sco4n.png


int0x80
 
  • Mi piace
Reazioni: America
Carino, finalmente un programma a puro scopo didattico, non l'ho provato a fondo ma l'anteprima mi pare buggata (per lo meno per le jtextfield e le label)

Comunque se ti piace Java dovresti provare C#, te ne innamoreresti. Da quel che vedo sei su linux ma puoi usare mono, ormai è bello maturo e funziona benissimo, tant'è che grandi progetti come unity 3D ci si basano sopra. Come IDE invece MonoDevelop
 
Bel lavoro e grazie per la condivisione del source. Comunque: anche se il C# e il Java si assomigliano a livello di sinstassi, rimango sempre due linguaggi differenti che hanno caratteristiche differenti, quindi non è detto che amando il Java si può amare quasi automaticamente anche il C#, anche se è un bel linguaggio.
 
quindi non è detto che amando il Java si può amare quasi automaticamente anche il C#, anche se è un bel linguaggio.

Il C# è nato come risposta di microsoft a java, le differenze sono:
- Sintassi migliorata e con più costrutti (Strutture, proprietà, ecc..)
- Librerie MOLTO più ricche e semplici
- Prestazioni di gran lunga maggiori

Direi che è abbastanza per dire che a chi piace Java al 99% piacerà C#
 
Ultima modifica:
Il Java ha maggiore rubustezza e sicurezza. Citazione del mauale java: "Java non supporta i passaggi per referimento poiché essi sono utilizzati molto per la creazione dei virus" ( infatti si utilizzano le variabili d'istanza, e se a uno non gli piace questa cosa ? :p [esempio] ) di differenze ce ne sono eccome, quelle che hai elencate tu, sono differenze che hanno quasi qualsiasi linguaggio vs un altro linguaggio.

"Sintassi migliorata e con più costrutti (Strutture, proprietà, ecc..)"
Non l'ho capita... il Java assomiglia molto di più al C++, quindi forse alcune cose non le trovi perché magari ti basi troppo sul C#, come per esempio: le proprietà (get e set) in Java come in C++, sono delle vere e proprie funzioni, no come in C# o VB.Net.

"Librerie MOLTO più ricche e semplici"
MOLTO più ricche non direi proprio, più semplici nemmeno, il Java è più semplice del C# però ha le classi molto più lunghe e forse questo ti può far credere che sono più difficili.

Per quanto riguarda la performance, è l'unica vera pecca del Java, anzi no del Java, poiché il linguaggio non c'entra, ma c'entra la: Java Virtual Machine, che non è ottimizzata benissimo.
 
Il Java ha maggiore rubustezza e sicurezza. Citazione del mauale java: "Java non supporta i passaggi per referimento poiché essi sono utilizzati molto per la creazione dei virus" ( infatti si utilizzano le variabili d'istanza, e se a uno non gli piace questa cosa ? :p [esempio] ) LOL? Questa è una limitazione, non un pregio di sicurezza!

"Sintassi migliorata e con più costrutti (Strutture, proprietà, ecc..)"
Non l'ho capita... il Java assomiglia molto di più al C++
Scherzi?!? C# è nato proprio come risposta a java! E' tale e quale! Con la differenza che la sintassi è più ricca e pulita

"Librerie MOLTO più ricche e semplici"
MOLTO più ricche non direi proprio, più semplici nemmeno, il Java è più semplice del C# però ha le classi molto più lunghe e forse questo ti può far credere che sono più difficili.
Java più semplice del C#? Ma dove vivi? Non c'è nemmeno un downloader nelle jdk!

Per quanto riguarda la performance, è l'unica vera pecca del Java, anzi no del Java, poiché il linguaggio non c'entra, ma c'entra la: Java Virtual Machine, che non è ottimizzata benissimo.
Java dipende dalla virtual machine, distinguere le 2 cose aiuta a far capire, ma alla fine il linguaggio dipende dall VM quindi lo si può considerare lento

Risposto nella citazione, comunque stiamo andando off topic direi di chiudere qua la comparazione
 
Stai commentando senza dati di fatto, come: "limitazione, non un pregio di sicurezza!"
È al quanto inutile discutere se si fanno commenti del genere, ti conviene prenderti il manuale di claudio de sio e leggerti la storia del java e il perché di alcune scelte, altrimenti rimani nella tua convinzione.

"Scherzi?!? C# è nato proprio come risposta a java! E' tale e quale! Con la differenza che la sintassi è più ricca e pulita"
Il C# assomiglia al Java, ma se prendi (come detto prima) un manuale per il Java e te lo studi, noterai alcune differenze che portano al Java molto più vicino al C++ che non al C#

"Java dipende dalla virtual machine, distinguere le 2 cose aiuta a far capire, ma alla fine il linguaggio dipende dall VM quindi lo si può considerare lento"
Ripeto: non è lento il linguaggio ma la Virtual Machine, la Virtual Machine può essere sfruttata anche da altri linguaggi, ce un linguaggio nuovo nuovo che sfrutta proprio la: Java Virtual machine, ora mi sfugge il nome, se lo trovo te lo linko. Anche questo viene trattato nel manuale di claudio de sio, te lo consiglio.
 
Stai commentando senza dati di fatto, come: "limitazione, non un pregio di sicurezza!"
È al quanto inutile discutere se si fanno commenti del genere, ti conviene prenderti il manuale di claudio de sio e leggerti la storia del java e il perché di alcune scelte, altrimenti rimani nella tua convinzione.

"Scherzi?!? C# è nato proprio come risposta a java! E' tale e quale! Con la differenza che la sintassi è più ricca e pulita"
Il C# assomiglia al Java, ma se prendi (come detto prima) un manuale per il Java e te lo studi, noterai alcune differenze che portano al Java molto più vicino al C++ che non al C#

"Java dipende dalla virtual machine, distinguere le 2 cose aiuta a far capire, ma alla fine il linguaggio dipende dall VM quindi lo si può considerare lento"
Ripeto: non è lento il linguaggio ma la Virtual Machine, la Virtual Machine può essere sfruttata anche da altri linguaggi, ce un linguaggio nuovo nuovo che sfrutta proprio la: Java Virtual machine, ora mi sfugge il nome, se lo trovo te lo linko. Anche questo viene trattato nel manuale di claudio de sio, te lo consiglio.

Rispondo dal primo all'ultimo punto

Premetto che conosco entrambi i linguaggi e me la cavo bene con entrambi:
La java virtual machine è l'interprete di Java ed è lenta, quindi Java è lento. Il .net framework è l'interprete del C# ed è veloce, quindi C# è veloce. Ok che sono 2 cose diverse ma sono comunque strettamente legate.

Dove il Java assomiglia più al C++ che al C#? In java non abbiamo nemmeno i puntatori che in C# abbiamo

La virtual machine di java porta a un livello di astrazione di gran lunga superiore a quello di altri linguaggi interpretati senza però offrire nulla di più rispetto a C#, questa al paese mio è una limitazione
 
Te la cavi bene, ma continui a ripetere la stessa cosa.

La Virtual Machine non è il linguaggio, eccoti uno dei tanti linguaggi che sfruttano la JVM: http://clojure.org/
Quindi, il linguaggio c'entra davvero 0. Se si può (non lo so se si può, poco ci credo), potresti far girare il Java nella VM del .NET e avresti prestanzioni indentiche o quasi. I puntatori non è un assomglianza di sinstassi ma bensi di features, quindi non c'entrano, che poi infondo se prendi il: Java il C# e il C++ e li si confronta vedrai che Java assomiglia sia al C++ che al C# e cosi anche per il C#. Sono linguaggi molto vicini a livello di sinstassi, ma ripeto: trovo il Java più vicino al C++ che al C#, forse proprio perché la Microsoft è partita guardando il Java ed ha semplificato la sinstassi del C# per renderla adatta a tutti, anche ai quei programmatori che hanno difficoltà a capire la sinstassi (o_O).
 
Non mi interessa che altri linguaggi girano sulla JVM; Java gira sulla JVM, la jvm è lenta => Java è lento

Non ti sto dicendo che il linguaggio in se è lento, parlo del risultato: un programma scritto in java avrà un esecuzione lenta. E si, esiste il modo di eseguire il java sull'interprete di mono (quindi prestazioni maggiori, si chiama IKVM) ma l'utente medio non avrà questa VM.
Quindi se tu programmatore scrivi un programma in java destinato al pubblico sai che l'esecuzione sarà a rilento

E poi ti ho chiesto di mostrarmi dove Java è più simile a C++ che a C#, i puntatori sono feature si ma hanno anche epsressioni sintattiche dedicate
 
Carino, finalmente un programma a puro scopo didattico, non l'ho provato a fondo ma l'anteprima mi pare buggata (per lo meno per le jtextfield e le label)

Che intendi per "anteprima" ?

Comunque se ti piace Java dovresti provare C#, te ne innamoreresti. Da quel che vedo sei su linux ma puoi usare mono, ormai è bello maturo e funziona benissimo, tant'è che grandi progetti come unity 3D ci si basano sopra. Come IDE invece MonoDevelop

Programmo anche in C# ^^

Bel lavoro e grazie per la condivisione del source.

I miei programmi sono sempre open source, comunque grazie :)

NB: Per quanto riguarda il discorso Java - C# non vi consiglierei di scervellarvi troppo su quale è meglio/peggio, alla fine ogni linguaggio ha delle peculiarità e delle pecche, non esisterà mai il "linguaggio perfetto"

int0x80
 
Stato
Discussione chiusa ad ulteriori risposte.