Vai al contenuto

Programmazione Java con Mac OS X


Messaggi raccomandati

Salve a tutti! come da presentazione sono un grande estimatore ed affezionato supporter del sistema (a mio modesto avviso) migliore al mondo  :ghghgh:! ma veniamo al dunque: al primo anno di università si programma essenzialmente in java e stanco del solito windows vorrei usare il Macbook Pro in facoltà. il problema inizialmente non si è posto: nell'atto di realizzare il classico HelloWorld.java, compilarlo ed eseguirlo nessun problema (javac HelloWorld. java, java HelloWorld), il problema inizia quando, per necessità imposta dal manuale di testo, mi trovo a dover usare delle classi non previste dal jdk. mi spiego meglio: la classe ConsoleOutputManager non è presente nativamente in java (in quanto appunto proprietaria degli autori del libro) ed è contenuta all'interno di un package prog-3ed.jar; ora è chiaro che per eseguire il mio programma in java devo importare questa libreria. ma come si può fare? nel senso io ho provato a copiare semplicemente nella directory MAC OSX/Libreria/Java/Extensions il package ma purtroppo nulla funziona:

 

Pro-di-Fabio:java Fao89$ javac Prova.java

Prova.java:3: error: cannot find symbol

ConsoleInputManager in = new ConsoleInputManager();

^

  symbol:   class ConsoleInputManager

  location: class Prova

Prova.java:3: error: cannot find symbol

ConsoleInputManager in = new ConsoleInputManager();

                            ^

  symbol:   class ConsoleInputManager

  location: class Prova

2 errors

 

(nb: il nome del file è Prova.java e corrisponde anche a quello della classe, class Prova { )
 
Ora, gironzolando per il web ho trovato informazioni riguardo le variabili d'ambiente da modificare per includere il percorso della cartella in cui ho inserito la libreria (mi chiedo, ma non dovrebbe essere automatico dato che è una cartella creata all'installazione del jdk?); premesso che non ho idea di come si trovi né tantomeno come si editi PATH e CLASSPATH (su windows andavo in pannello di controllo ecc), e che ho sentito parlare di un file .profile (sempre sul web) che tramite il comando ls -a non trovo nella home del computer, vorrei chiedere a voi esperti se mi potete guidare nella sistemazione di questo problemino, soprattutto perché mi seccherebbe enormemente dover lavorare su windows.
ah dimenticavo, scarto a priori l'utilizzo di IDE come eclipse, in quanto vorrei realizzare almeno all'inizio su TextEdit e compilare/eseguire da terminale.
Grazie ancora dell'aiuto :ciao:
 
EDIT: :facepalm:  :facepalm:  :facepalm: posso affermare di vergognarmi per aver scordato la stringa import prog.io.*; all'inizio dellapplicazione, ragion per cui non mi importava la classe CosoleInputManager. resta però da chiarire una cosa: pur non avendo editato il famoso file .profile e non aver modificato in alcun modo né il path, né il classpath (cosa che con windows avevo dovuto fare), va tutto perfettamente bene (dopo aver corretto la dimenticanza)...
colgo l'occasione quindi per domandare: ma è sufficiente copiare nella directory /Libreria/Java/Extensions il package per far si che siano lette le classi da java?
Link al commento
Condividi su altri siti

Un consiglio. piuttosto che usare TextEdit usa XCode. Tu scrivi "non voglio utilizzare un IDE...." e io ti dico che XCode lo puoi tranquillamente utilizzare anche senza avviare l'intero IDE, semplicemente come programma per l'identazione... ti basta aprire il .java con xcode e potrai editare il singolo file senza dover avviare l'ide (sì, è una figata unica).

 

per rispondere alla tua domanda... se il .profile è già corretto ti legge tutto. non ho mai utilizzato quella libreria ma il procedimento è sempre lo stesso anche in ambito windows funziona così (ho programmato su entrambi i sistemi). avresti potuto mettere quella libreria dove volevi ti sarebbe bastato editare manualmente il path nel .profile di java.

Visto che hai appena iniziato la cosa migliore da fare è concentrarti sui programmi da fare. Il mio consiglio è: quando hai imparato a compilare tramite terminale più di un file passa a un'IDE. infatti quando hai più di 2-3 file l'utilizzo di un'IDE rende il tuo lavoro più ordinato e la correzione di bug banali più semplice (ci sono anche dei generatori di getter and setter che automatizzano un po' il lavoro ma non sono obbligatori e all'inizio te li sconsiglio).

 

PS. mi sembra davvero strano che ti facciano utilizzare librerie non-standard al primo anno di università.

ho provato a cercare quella classe per farmi un'idea di cosa faccia ma ho trovato solo questo:

http://homes.di.unimi.it/~pighizzi/jb/doc/prog/io/ConsoleInputManager.html

da quel documento non capisco se si riferisca alla lettura tipo Scanner o alla lettura da file....

capisco che te lo chiedono all'università ma sinceramente non mi pare un buon metodo d'insegnamento (o meglio, sia alle superiori sia all'università non mi hanno insegnato così)

Link al commento
Condividi su altri siti

Un consiglio. piuttosto che usare TextEdit usa XCode. Tu scrivi "non voglio utilizzare un IDE...." e io ti dico che XCode lo puoi tranquillamente utilizzare anche senza avviare l'intero IDE, semplicemente come programma per l'identazione... ti basta aprire il .java con xcode e potrai editare il singolo file senza dover avviare l'ide (sì, è una figata unica).

Innanzitutto grazie per la tempestiva risposta!!! sinceramente non ero a conoscenza di XCode, almeno non sapevo che fosse adatto anche a java (l'avevo sentito nominare qualche mese fa a proposito di swift). ma in effetti era prevedibile. a tal proposito, anche Dreamweaver potrebbe essere utilizzato per l'edizione?! lo chiedo per pura curiosità, in quanto sicuramente non potrei permettermi l'acquisto, ma lo potrei considerare in futuro visto che ho una buona dimestichezza (corso liceale di web design).

 

per rispondere alla tua domanda... se il .profile è già corretto ti legge tutto. non ho mai utilizzato quella libreria ma il procedimento è sempre lo stesso anche in ambito windows funziona così (ho programmato su entrambi i sistemi). avresti potuto mettere quella libreria dove volevi ti sarebbe bastato editare manualmente il path nel .profile di java.

ecco, qui in particolare i miei dubbi: ho appena digitato il comando ls -a nella home da terminale, e non c'è traccia del file .profile  :zzzzz: ora la libreria è letta perfettamente, ma vorrei sapere, a questo punto per scopo puramente didattico e conoscitivo, 1) dove si trova questo file .profile 2) come si edita 3) come si inserisce il path. ho trovato più semplice l'idea di avere una voce nel pannello di controllo, qui nonostante essermi documentato su google non sono riuscito ad avere un riscontro definitivo...

 

PS. mi sembra davvero strano che ti facciano utilizzare librerie non-standard al primo anno di università.

ho provato a cercare quella classe per farmi un'idea di cosa faccia ma ho trovato solo questo:

http://homes.di.unimi.it/~pighizzi/jb/doc/prog/io/ConsoleInputManager.html

da quel documento non capisco se si riferisca alla lettura tipo Scanner o alla lettura da file....

capisco che te lo chiedono all'università ma sinceramente non mi pare un buon metodo d'insegnamento (o meglio, sia alle superiori sia all'università non mi hanno insegnato così)

 

Francamente sono della tua stessa opinione, però purtroppo il libro di testo e quindi anche la docente per spiegare il concetto di oggetti e costruttori nella seconda lezione introduce queste due nuove classi ConsoleInputManager e ConsoleOutputManager, per creare canali di comunicazione tastiera e video in questo modo:

 

ConsoleOutputManager out = new ConsoleOutputManager();

ConsoleInputManager in = new ConsoleInputManager();

String nome = in.readLine("Nome? ");

out.println("Ciao " + nome + "!");

Link al commento
Condividi su altri siti

Innanzitutto grazie per la tempestiva risposta!!! sinceramente non ero a conoscenza di XCode, almeno non sapevo che fosse adatto anche a java (l'avevo sentito nominare qualche mese fa a proposito di swift). ma in effetti era prevedibile. a tal proposito, anche Dreamweaver potrebbe essere utilizzato per l'edizione?! lo chiedo per pura curiosità, in quanto sicuramente non potrei permettermi l'acquisto, ma lo potrei considerare in futuro visto che ho una buona dimestichezza (corso liceale di web design).

 

ecco, qui in particolare i miei dubbi: ho appena digitato il comando ls -a nella home da terminale, e non c'è traccia del file .profile  :zzzzz: ora la libreria è letta perfettamente, ma vorrei sapere, a questo punto per scopo puramente didattico e conoscitivo, 1) dove si trova questo file .profile 2) come si edita 3) come si inserisce il path. ho trovato più semplice l'idea di avere una voce nel pannello di controllo, qui nonostante essermi documentato su google non sono riuscito ad avere un riscontro definitivo...

 

 

Francamente sono della tua stessa opinione, però purtroppo il libro di testo e quindi anche la docente per spiegare il concetto di oggetti e costruttori nella seconda lezione introduce queste due nuove classi ConsoleInputManager e ConsoleOutputManager, per creare canali di comunicazione tastiera e video in questo modo:

 

ConsoleOutputManager out = new ConsoleOutputManager();

ConsoleInputManager in = new ConsoleInputManager();

String nome = in.readLine("Nome? ");

out.println("Ciao " + nome + "!");

 

Beh è inutile discutere con i docenti... l'unica cosa in questi casi è studiare da soli in questi casi.

 

java su osx è un vero e proprio casino... la tua domanda dipende dalla versione/versioni che hai installato. (per sapere quale versione hai installato digita java -version sul terminale). Se devo essere sincero ogni volta che vado ad editare la home faccio una ricerca su google e mi ci vuole mezza giornata XD... non è una cosa che faccio tutti i giorni e sinceramente spero di non doverla fare più da quando hanno aggiornato eclipse (con la versione precedente dovevo editare la java home per riuscire ad utilizzare la versione più recente di java... infatti eclipse richiedeva una versione più vecchia per avviarsi).

comunque se ricordo bene questa guida fa al caso tuo:

http://stackoverflow.com/questions/17885494/how-can-i-change-mac-oss-default-java-vm-returned-from-usr-libexec-java-home

 

Dreamweaver (se vuoi fare le cose come si deve) ti conviene lasciarlo perdere... è un programma semplice ma è un programma completamente proprietario... per fare un sito questo significa che oltre a comprare il programma dovresti comprare tutti i plugin.

Lo standard è Wordpress, leggermente più difficile da installare (visto che non ha una applicazione standalone), ma decisamente più pratica con tantissimi plugin gratuiti.

Link al commento
Condividi su altri siti

ho installato l'ultima versione la jdk 8, anche se sul libro di testo era presente la 7 (ma mi dava diversi problemi, quindi ho scaricato la 8). per quanto riguarda ecplipse, credo che dopo aver provato ad editare un po' di programmi con Xcode credo che virerò proprio su di lui, per velocizzare il tutto! e infine per quanto riguarda dreamweaver, io l'ho usato per tre anni al liceo, per questo sbandieravo la conoscenza del software, ma se mi consigli Wordpress, credo che lo proverò (magari in futuro visto che adesso la programmazione ha la priorità sul web :ghghgh: )!

grazie per il link, spero di non doverlo usare neppure io, nel caso lo salvo tra i preferiti! grazie ancora :ciao:

Link al commento
Condividi su altri siti

Ragazzi scusatemi se mi "intrometto" in questa discussione, ma più o meno mi trovo nella stessa situazione di Fao, ovvero mi trovo al primo esame in java, fin'ora ho usato la partizione con windows per programmare in c/c++ ora per java ci fanno usare eclipse ora quando ho scaricato il compilatore mi è stato fatto un aggiornamento per java, ma vorrei capire quale jdk ho ora installata.
Posso chiedervi anche perchè è stato detto che java su mac è un "casino" ?
Grazie e sorry

Link al commento
Condividi su altri siti

Ragazzi scusatemi se mi "intrometto" in questa discussione, ma più o meno mi trovo nella stessa situazione di Fao, ovvero mi trovo al primo esame in java, fin'ora ho usato la partizione con windows per programmare in c/c++ ora per java ci fanno usare eclipse ora quando ho scaricato il compilatore mi è stato fatto un aggiornamento per java, ma vorrei capire quale jdk ho ora installata.

Posso chiedervi anche perchè è stato detto che java su mac è un "casino" ?

Grazie e sorry

 

Apri il terminale e digita "java -version". Questo ti permette di individuare quale versione di java hai nel PATH.

Usando una IDE come eclipse, comunque, puoi da programma impostare il jdk da utilizzare (nel caso ne avessi più di uno).

Link al commento
Condividi su altri siti

Ragazzi scusatemi se mi "intrometto" in questa discussione, ma più o meno mi trovo nella stessa situazione di Fao, ovvero mi trovo al primo esame in java, fin'ora ho usato la partizione con windows per programmare in c/c++ ora per java ci fanno usare eclipse ora quando ho scaricato il compilatore mi è stato fatto un aggiornamento per java, ma vorrei capire quale jdk ho ora installata.

Posso chiedervi anche perchè è stato detto che java su mac è un "casino" ?

Grazie e sorry

 

non preoccuparti con eclipse luna (ultima versione) il "casino" non esiste, è semplice.

il "casino" esiste con le versioni di java precedenti e con delle versioni precedenti di eclipse (che per avviarsi richiedevano java 6).

il "casino" era impostare da terminale la home di java 6 di sistema come link della versione 7 (allora non era ancora uscita la versione 8)... in modo da eliminare la versione 6 (che non serviva a niente) e utilizzare direttamente la versione più aggiornata.

Link al commento
Condividi su altri siti

non preoccuparti con eclipse luna (ultima versione) il "casino" non esiste, è semplice.

il "casino" esiste con le versioni di java precedenti e con delle versioni precedenti di eclipse (che per avviarsi richiedevano java 6).

il "casino" era impostare da terminale la home di java 6 di sistema come link della versione 7 (allora non era ancora uscita la versione 8)... in modo da eliminare la versione 6 (che non serviva a niente) e utilizzare direttamente la versione più aggiornata.

 

Sicuro fosse necessario quel passaggio?

Non uso Eclipse, però IntelliJ ha lo stesso problema e ho risolto andando ad editare il file info.plist dentro al package. Una delle key al suo interno è proprio relativa alla versione di java richiesta. Editandola tutto fila liscio.

Se Eclipse ha la stessa magagna ipotizzo che si possa seguire lo stesso approccio.

Link al commento
Condividi su altri siti

Sicuro fosse necessario quel passaggio?

Non uso Eclipse, però IntelliJ ha lo stesso problema e ho risolto andando ad editare il file info.plist dentro al package. Una delle key al suo interno è proprio relativa alla versione di java richiesta. Editandola tutto fila liscio.

Se Eclipse ha la stessa magagna ipotizzo che si possa seguire lo stesso approccio.

aveva... è stato risolto nella versione attuale.

Non so se si poteva risolvere in quel modo perchè eclipse è strutturato in modo diverso dalle altre app... praticamente il .app si trova all'interno di una cartella che contiene plugin, configurazione ecc... una specie di versione portable (su windows infatti l'ide non si deve neanche installare).

Link al commento
Condividi su altri siti

Usate eclipse! XCode necessità di troppa ram per i servizi che presta, si usa prevalentemente per lo sviluppo di applicazioni per dispositivi Apple (framework Cocoa e Cocoa Touch di objective-c), se lo usi solo per indentare puoi Usare tab anche sull'editor semplice, eclipse nasce per il Java, importare librerie è estremamente semplice e soprattutto traccia gli errori sintattici, impiccarti nell'usare un editor di testo e settare variabili d'ambiente è inutile (e controproducente). :)

Ps è solo un consiglio, non vuole assolutamente essere una critica, lo dico solo per 'trapasso' di info utili, anche io studio informatica[emoji4]

Sent from my iPhone using Tapatalk

Il maestro di boxe dice:


'guarda che chi ha paura non va a letto con le belle donne'

Link al commento
Condividi su altri siti

xcode secondo la mia esperienza è ottimo per l'uso alla notepad++ di qualsiasi linguaggio, la programmazione c, objective c e swift.

eclipse è invece ottimo per java, c (anche se in questo caso preferisco xcode) e c++.

per c# su mac l'unico ide più o meno valido e gratuito è il vecchio monodevelop (ora si chiama xamarin ma è a pagamento)... ma c# ha un senso più che altro su windows e come linguaggio scripting in Unity3d (che usa appunto monodevelop modificato).

 

il consumo di ram di xcode non è mai sembrato troppo elevato.

Link al commento
Condividi su altri siti

Usate eclipse! XCode necessità di troppa ram per i servizi che presta, si usa prevalentemente per lo sviluppo di applicazioni per dispositivi Apple (framework Cocoa e Cocoa Touch di objective-c), se lo usi solo per indentare puoi Usare tab anche sull'editor semplice, eclipse nasce per il Java, importare librerie è estremamente semplice e soprattutto traccia gli errori sintattici, impiccarti nell'usare un editor di testo e settare variabili d'ambiente è inutile (e controproducente). :)

Ps è solo un consiglio, non vuole assolutamente essere una critica, lo dico solo per 'trapasso' di info utili, anche io studio informatica[emoji4]

Sent from my iPhone using Tapatalk

 grazie a tutti ragazzi, son contento di aver dato via a una discussione molto producente! per quanto riguarda eclipse per ora vorrei usare un editor semplice (che non prevede neppure la correzione di errori) perché il livello delle applicazioni è basilare, diciamo che vorrei qualcosa di più rispetto al blocco note ma di meno rispetto eclipse (ecco perché facevo riferimento inizialmente a dreamweaver)

Link al commento
Condividi su altri siti

Se ti serve un texteditor avanzato, allora ti consiglio di provare TextMate.

La versione 2.0 è in beta e può essere scaricata gratuitamente.

In alternativa c'è textwrangler che è gratuito per ogni utilizzo.

 

Il top dal mio punto di vista è Sublime Text, però ha un certo costo.

Link al commento
Condividi su altri siti

li usavo prima di scoprire che xcode può effettivamente editare singoli codici senza avviarsi completamente... visto che xcode lo tengo installato non mi serve installare altri programmi... inoltre quando edito un codice singolo (o comunque non in IDE) di solito sono programmi semplici quindi funzioni tropp avanzate non servono.

 

tra l'altro, nell'elenco che hai fatto aggiungerei Editra, leggero, gratuito e funzionale

Link al commento
Condividi su altri siti

ragazzi vi chiederei solo più un'ultima cosetta: volessi scrivere codice su ipad, consigliate qualcosa? giusto perché non posseggo un portatile e spesso mi trovo in mobilità e nei tempi morti invece di passare il tempo a giochicchiare vorrei esercitarmi magari scrivendo qualche riga di testo, per poi sistemare a casa al pc!

Link al commento
Condividi su altri siti

ragazzi vi chiederei solo più un'ultima cosetta: volessi scrivere codice su ipad, consigliate qualcosa? giusto perché non posseggo un portatile e spesso mi trovo in mobilità e nei tempi morti invece di passare il tempo a giochicchiare vorrei esercitarmi magari scrivendo qualche riga di testo, per poi sistemare a casa al pc!

un mio amico scrive codice c e java su un tablet android, con un'app a pagamento (non ricordo il nome dell'app ma se ti interessa gli chiedo, ricordo comunque che costava sui 2-3€, ma visto che hai parlato di ipad forse è meglio che segui i consigli di Kendall sulle app).

Il problema è che ci sono sempre dei limiti (ad esempio quest'app per il linguaggio c non riconosceva i semafori e la memoria condivisa), in particolare nella compilazione visto che i compilatori nascono tutti su x86 (che è una architettura molto diversa da arm).

 

Personalmente ti consiglio i prenderti un ultraportatile tipo macbook air da 11'' o 13'' (per scrivere codice in mobilità va benissimo anche l'11'' base che tra l'altro è grande all'incirca come un ipad). Ti assicuro la comodità di un computer allo stato attuale è impossibile da raggiungere su tablet, in particolare in campo informatico... forse addirittura un netbook è più comodo per la semplice programmazione (su questo però non ci metto la mano sul fuoco visto che netbook non ne ho mai usati).

 

Chiaramente se vuoi semplicemente scrivere codice ti basta un semplice foglio di testo e una tastiera (meglio fisica ma anche virtuale teoricamente va bene)... però magari mentre scrivi del codice vuoi anche cercare la documentazione relativa a quel codice... su un tablet sei obbligato a chiudere l'applicazione del foglio di testo, aprire il browser e tornare poi al foglio di testo... su computer non chiudi niente.

Inoltre un tablet è nato per essere impugnato, lo schermo (a meno di cover) non sta su da solo. avere uno schermo comodo è fondamentale per programmare bene.

 

Devo ammettere che in questi anni qualche app decente per scrivere codice è nata, e di progressi ne sono stati fatti.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...