PDA

View Full Version : compilatore java


Gremo
15-04-2003, 15:28
quale mi consigliate considerando che sto iniziando la programmazione a oggetti e il compilatore "consigliato" dall'uni (xemacs) mi fa skifo?

grazie ;)

PGI
15-04-2003, 15:42
Io consiglierei javac della sun (incluso nel pacchett[one] JDK).

Puoi provare anche Jikes della IBM

http://oss.software.ibm.com/developerworks/opensource/jikes/

o GCJ

http://gcc.gnu.org/java/.

[MODIFICATO]

Se per compilatore intendi ambiente di sviluppo la versione 8 di JBuilder (Borland) è diventata un fulmine (se confrontata con la versione 6) ed è ricca di features anche nella versione Personal.
http://www.borland.com/products/downloads/download_jbuilder.html

Ancora più completo è Forte for Java (ora Sun One Studio) scaricabile dal sito Sun aggratiss, però è un po' lento.
http://wwws.sun.com/software/sundev/jde/

Ciao.

Tassadar
15-04-2003, 15:45
Compilatore o editor?
Cmq il compilatore è il javac incluso con il jsdk della sun.

Come editor ti consiglio qualcosa tipo JCreator se 6 sotto windows.

Skatter
15-04-2003, 16:03
Se vuoi imparare a scrivere codice, fai tutto a manella: un semplice editor, non dico quello del dos e neppure il notepad, ma non più di UltraEdit: ti evidenzia il codice con colori diversi e ha un sacco di funzionalità utilissime.
Poi compili col javac del jdk. QUando ne saprai abbastanza, JBuilder(the best!), Java Sun One, JDeveloper e chi + ne ha...

Tassadar
15-04-2003, 16:04
Aggiungo anche NetBeans e Eclipse

soalle
15-04-2003, 17:01
Visual NotePad per imparare :D...
a parte gli scherzi è abbastanza comodo JCreator

recoil
15-04-2003, 17:53
a me piace tantissimo Jcreator!
altrimenti uso context e poi compilo con javac

Gremo
16-04-2003, 01:05
grazie per le risposte e scusate se ho usato un termine "improprio" per indicare l'editor java
penso di provare ultraedit o jcreator, è più logico per me, e vi chiedo l'ultima cosa!
può sembrare una ca## ma come sono gestiti rientri e cose del genere? (non è che sono un tipo "ordinato", ma ce lo insegnano/impongono :D)
si può lanciare javac dall'editor stesso?
io ora sono costretto a spostare i file nella cartella bin e lanciare javac da li..ed è molto scomodo...
ho notato che invece in linux (o quello che era :p) si lancia javac senza digitare da dos c:\...\..\bin javac ... , ma direttamente, e i files da compilare si possono trovare ovunque;stesso discorso per lanciare con java...
c'è una soluzione a questo? (ora io salvo un file editato con edit (tipo c:\...\bin) per creare una scorciatoria e salvo come es j.bak)


grazie ancora :)

Skatter
16-04-2003, 07:20
Per compilare ed eseguire le tue classi, ovunque esse si trovino, devi settare due variabili d'ambiente.

http://forum.hwupgrade.it/viewtopic.php?t=379557&highlight=

In questo link troverai un post di Skatter (il sottoscritto!) che ti spiega tutto.

Buon lavoro!

Gremo
16-04-2003, 14:17
non ho capito, aggiungo una nuova variabile da nome ??? e poi come valore imposto c:\..\bin?
cmq non mi funziona! :(

Skatter
16-04-2003, 15:16
Non capisco, scusa... :eek:
Tu lanci le classi mettendole nella directory bin perchè lì si trovano i comandi del jdk, quindi sia il comando "javac" per compilare che quello "java" per lanciare.
Settendo la variabile d'ambiente PAT, stai facendo in modo che, ogni qualvolta viene invocato uno di quei comandi, ovunque si trovino le classi, quei comandi si trovano nella cartella bin.
L'altra variabile serve ad indicare che le classi della libreria fornita dalla SUN si trovano nella directory lib.

Sulla macchina Unix dell'università, verosimilmente, queste variabile sono impostate già.
:o
Dubbi? :confused:

Gremo
17-04-2003, 01:13
dubbi:
-cosa e dove devo inserire per ottenere quello che hai detto (come sulle macchine unix?)
fatto questo potrò lanciare java e javac da dos anche se non mi trovo in bin giusto?
-se si può fare in modo anche di non mettere le classi in bin, ma averle per esempio sul desktop, e poterle compilare ed eseguire da quella posizione?
es: ho un file .java sul desktop e voglio compilarlo. apro prompt di dos, che mi porta nella dir con il mio nome utente (xp: documents and settings/../..). voglio poter digitare come all'uni javac prova.java oppure java prova.
si può?

grazie, che pazienza che avete! ;)

kaioh
17-04-2003, 12:47
per editare uso crimson editor.
per compilare uso la versione 1.4 della sun, nell'autoexec.bat ho settato
set path C:\Programmi\Java\j2sdk1.4.1\bin

e ai file .java , oltre ad aver impostato come prima opzione l'apertura coll'editor ho messo come seconda opzione "compila" con percorso C:\Programmi\Java\j2sdk1.4.1\bin\javac.exe ,cosi per compilarle facci otasto dx->compila e mi crea il bytecode ;) l'unica pecca è che chiudendosi automaticamente la finestra non posso vedere gli errori generati

Skatter
17-04-2003, 12:49
Originally posted by "Gremo"

dubbi:
-cosa e dove devo inserire per ottenere quello che hai detto (come sulle macchine unix?)
fatto questo potrò lanciare java e javac da dos anche se non mi trovo in bin giusto?
-se si può fare in modo anche di non mettere le classi in bin, ma averle per esempio sul desktop, e poterle compilare ed eseguire da quella posizione?
es: ho un file .java sul desktop e voglio compilarlo. apro prompt di dos, che mi porta nella dir con il mio nome utente (xp: documents and settings/../..). voglio poter digitare come all'uni javac prova.java oppure java prova.
si può?

grazie, che pazienza che avete! ;)

:muro:

Per far funzionare il jdk, che è un kit comprendente compilatore (comando principale "javac"), la JVM (java virtual machine, che sarebbe l'ambiente di esecuzione, il suo comando pricipale è "java") e la documentazione sulle classi pronte per l'uso,
BISOGNA SETTARE 2 VARIABILI D'AMBIENTE :muro: :muro: :
- PATH dove viene indicato al sistema operativo dove trovare i comandi sopracitati. Ovunque siano le tue classi, il sistema cercherà lì i comandi che invochi.
- CLASSPATH dove indichi al sistema dove sono le classi comprese nel JDK. COsì se usi la classe String, lui la va a cercare in questa directory.

- HAI WIN 95/98?
Le due variabili d'ambiente si configurano aggiungendo al file autoexec.bat, che trovi sotto C, pochi caratteri, ovvero:
Apri il file autoexec.bat col notepad e alla voce SET PATH
aggiungi il percorso della cartella /BIN del JDK.
Esempio avendo installato il jdk sotto C scriverai:
SET PATH = ;c:\JDK1.3.1\bin
Il ; iniziale è la terminazione della stringa precedente, serve ciè per separare quello che scriverai da ciò che hasi trovato già scritto in quella riga del file autoexec.

Alla voce SET CLASS PATH
devi specificareil percorso della cartella /LIB del JDK.
(esempio SET CLASSPATH = ;c:\JDK1.3.1\lib;.)
Fondamentale il "."(punto) dopo il ; finale.

In effetti, probabilmente, CLASSPATH non è neanche presente nell'autoexec.bat, se il pc è java-vergine.
Quindi non ti servirà mettere il ; per dividere. Forse puoi addirittura copiare e incollare quello che ho scritto sopra.

RIAVVIA il PC e prova a eseguire JAVA(scrivere JAVA e digitare ENTER) da riga di comando. Se la risposta è diversa da "comando sconosciuto" o qcosa del genere, ci siamo!.

- HAI WIN2000-NT-XP?
si fa la stessa cosa, ma le variabili le raggiungi da
pannello di controllo-sistema-avanzate-variabili d'ambiente.
Non serve riavviare il pc.

In bocca al lupo!

Gremo
17-04-2003, 14:49
:muro: :D
ho fatto quello che hai detto (ho xp) e ora lancio java e javac da qualsiasi posizione....grazie :)!
ho settato solo path, perkè class patch non esiste come variabile di sistema
ora mi tocca cmq portarmi della directory dove risiedono i file .java da compilare...uff non ne verrò mai a capo :o

Skatter
17-04-2003, 15:03
:muro: Se la variabile CLASSPATH non esiste, nel pannelo di controllo-variabili d'ambiente, clicchi sul pulsante NUOVO e crei una nuova variabile di nome CLASSPATH e scrivere quello che ti ho detto.

Poi tutto funzionerà, ma occhio :o : ti avevo linkato le istruzioni, ma hai aspettato che le ricopiassi in questa discussione. Invece, per il buon funzionamento di un forum, è necessario che gli argomenti vengano ricercati con la funzione CERCA oppure andare sui link suggeriti! :o

Che dire, benvenuto nella progrqmmazione Java. Mi permetto di darti qche suggerimento:
- impara ad usare la documentazione sun, "sfogliala" anche solo per cultura e scoprirai che le classi di cui hai bisogno già esistono! La potenza di java è anche questo: lo sforzo di SUN di fornire i programmatori di librerie di classi pronte all'uso e gratis, una cosa straotrdinaria!
- l'ideale sarebbe studiare su THINKING IN JAVA di Bruce Eckel, lo trovi gratis e in italiano, fai una ricerca su Google. Viene considerato IL libro di java.
- studia su mokabyte, trovi il libro, su http://www.mokabyte.com dove troverai anche articoli, tutorial ed esercizi.
- usa strumenti semplici, ovvero un editor e il compilatore del jdk.

Buon lavoro!

PGI
17-04-2003, 15:35
La cosa è naturalmente soggettiva e la mia è un'opinione personalissima, ma se per caso qualcuno leggendo Thinking in Java si sentisse di dire che è uno spreco di carta e/o memoria del PC sappia che io sono assolutamente d'accordo.
La parte di programmazione generale è superficiale (e non potrebbe essere altrimenti, trattandosi di un libro per la programmazione e non di programmazione ma perchè non saltarla direttamente?) mentre quando affronta per strutture la programmazione in linguaggio Java è poco più di un commento alla documentazione Java fornita da Sun (che già di suo è quasi un crimine contro l'umanità).

Non conosco il passato di Bruce Eckel (anche se credo sia un signor programmatore se pubblicano un suo libro e questo diventa un best-seller) e la distribuzione free di un volume è sempre un buon segno, ma mi sento di sconsigliare vivamente (e personalmente) Thinking in Java a chiunque programmi.

Meglio (ribadisco, a mio personalissimo avviso) Fondamenti di Progettazione Software (Addison-Winsley, la seconda edizione è uguale alla prima, credo che "ristampa" sarebbe stato un termine più adatto) e un forum (è stupefacente quanto si può imparare dagli errori e dalle soluzioni incontrati da altri).

Ripeto, è un'opinione personale (ma non arbitraria).

Ciao.

peppedx
18-04-2003, 08:59
Non sono per nulla daccordo, non so che intendi tu per la sezione di programmazione, ma possiedo thinking in java e thinking in c++ e ne sono soddisfatto, Eckel spiega la sintassi del linguaggio con degli utili excursus riguardanti la OOP cos'è e il perchè di certe scelte (ad esempio sulla scelta di non avere un distruttore in java).
Se cerchi un testo di algortimi, o di "come si fa questo tipo di app." non lo è: ma non pretende di esserlo, le sue promesse sono altre e secondo me le mantiene in pieno!