Repository 32bit  Forum
Repository 64bit  Wiki

Java

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: Java

Messaggioda m0rdr3d » gio dic 04, 2008 15:55

Ah... come non detto :oops:
Avatar utente
m0rdr3d
Linux 2.4
Linux 2.4
 
Messaggi: 404
Iscritto il: dom dic 24, 2006 13:40
Slackware: Slackware64-current
Kernel: 3.4.*
Desktop: KDE 4.8.2

Re: Java

Messaggioda sir_alex » gio dic 04, 2008 16:00

sir_alex ha scritto:
m0rdr3d ha scritto:Accidenti, non sapevo che Thinking in Java fosse diventato a pagamento. Che peccato :-k


Actually, è sempre stato a pagamento :D
Ha lasciato liberamente scaricabile la 3 perchè era uscita la 4, poi da allora non ne ha scritte altre e quindi quella ha ancora un costo (almeno, penso funzioni così)...


Aggiungerei anche che la versione elettronica (che dovrebbe essere in html come la terza) costa $25, quindi con 16/17 euro volendo ve la cavate, e secondo me potrebbe anche valerne la pena...
sir_alex
Linux 2.6
Linux 2.6
 
Messaggi: 735
Iscritto il: lun mar 21, 2005 0:00
Località: Milano - Corbola (RO)
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu

Re: Java

Messaggioda raffaele181188 » gio dic 04, 2008 17:41

Io ho comprato la terza edizione PER SBAGLIO questa estate, quando ci ho cliccato su senza pensarci, vabbè stava a 10 dollari + spedizione (versione cartacea). La versione 3, che puoi rintracciare in pdf (come la4, fai un giro su eMule, io ce le ho entrambe...) non tratta features (marginali) come:
costrutto foreach (ma nn ci vuole mica un libro per impararlo, eh...)
generics (ma è un casino pure su quel libro)
tipi enumerati
altre cose, ma sono piccolezze e non tanto usate. Le stesse cose che ti ho elencato sopra si capiscono in mezza giornata e sono spiegate bene sul tut della sun.
e in genere tutte le modifiche al linguaggio apportate dalla versione 5 (bada che ora siamo alla 6 update 11). Comunque la versione 5 è l'UNICA che porta modifiche al linguaggio, le altre erano sempre uguali. Io ti SCONSIGLIO vivamente Thinkin in Java (e bada che ce l'ho sul comodino eh) perchè è STRAPIENO di esempi STUPIDI e pedanti, scritti apposta per non farsi leggere. Ti consiglio Core Java2 (se vuoi dagli un'occhiata in una biblioteca o in libreria) che è il libro ufficiale della Sun. E' in due volumi, quindi ci metterai un bel po' a leggerlo, ma ti eviterai l'approccio da "babbeo" di Bruce Eckel. All'inizio ero entusiasta, ma devo dire che quel libro (più grosso di una bibbia) tanto osannato in realtà è troppo pieno di cose inutili. Inoltre il codice di esempio è stupido. Poi non so che tipo di manuali preferisci, ma ti assicuro che è proprio pesante. In certe cose non è nemmeno tanto approfondito, in altre si dilunga inspiegabilmente (esempio: un capitolone intero tutto dedicato a interfacce e classi interne, non serve a una mazza secondo me, se uno ha voglia di fare esperimenti col linguaggio fa da solo...). Il libro di Horstmann che ti ho suggerito mi sembra molto più tecnico e soprattutto sintetico. Visto che ti serve arrivare subito al succo di Java magari è meglio. E poi magari ti leggi on-line gli ultimi 3-4 capitoli del libro di Eckel dedicati a Ant, JUnit e Design Patterns, quelli sì sono interessanti
Avatar utente
raffaele181188
Packager
Packager
 
Messaggi: 789
Iscritto il: ven set 07, 2007 20:40
Località: DearSkin (FG)
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu

Re: Java

Messaggioda raffaele181188 » gio dic 04, 2008 18:09

Ah, lascia stare le guide su internet perchè Java non si impara in mezza giornata, serve un manuale DI CARTA per studiarci le classi fondamentali. E' chiaro che la sintassi di base è sempre quella, sono le classi che vanno conosciute. Se proprio vuoi qualcosa online il tutorial della sun è una miniera d'oro ed anche il punto di partenza per qualsiasi nuova teconologia legata a java (secondo me). Ma ci vogliono settimane per leggerlo tutto per bene, quindi...

E ti esorto anche a stare alla larga dagli IDE se intendi usare Java anche dopo la tesi, perchè non impareresti ad usare il linguaggio ma l'ambiente di sviluppo. Kwrite + Konsole = OK
In un secondo momento (per un progetto vero che deve usare debugger visuali, costruttori di gui eccetera) allora sì scegli elcipse (per me netbeans è meglio ma è troppo lento ed invadente). E poi non capisco l'odio per le gtk...

Riguardo al primo argomento del thread (ovvero la "faccia" di Eclipse e NetBeans) sappi che (giusto per chiarire):
1)Eclipse usa org.eclipse.swt, libreria GUI portabile della IBM che all'interno usa una libreria nativa per ogni sistema operativo (da cui la sua portabilità)e per linux è stato scelto gtk
2)NetBeans usa java.awt + javax.swing (tutto by Sun). In realtà la parte di codice nativo è tutta in java.awt, che si appoggia a librerie native come fanno le swt. Per Linux credo che siano state scelte le gtk, ma forse l'ultima versione supporta anche le qt (non ne sono sicuro, ma ho notato che le applicazioni in java possono usare il look & feel di KDE, quindi ho fatto 2+2... se qualcuno può chiarirmi la cosa gliene sarei grato). TIENI PRESENTE, però, che NetBeans usa una feature della libreria swing che consente alle applicazioni Java di usare la medesima "faccia" chiamata Metal su TUTTI i sistemi operativi di questo mondo. Quindi il NetBeans è volutamente fatto per NON integrarsi visivamente con alcun OS (mantenendo l'indipendenza anche visiva di Java dalla piattaforma), mentre Eclipse NON si integra SOLO con KDE (perchè su windows, mac o gnome per il discorso di cui sopra...). E non odiare le gtk eh eh, e che ti hanno fatto? [-X
Avatar utente
raffaele181188
Packager
Packager
 
Messaggi: 789
Iscritto il: ven set 07, 2007 20:40
Località: DearSkin (FG)
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu

Re: Java

Messaggioda francogdn » gio dic 04, 2008 18:41

raffaele181188 ha scritto:E ti esorto anche a stare alla larga dagli IDE se intendi usare Java anche dopo la tesi, perchè non impareresti ad usare il linguaggio ma l'ambiente di sviluppo. Kwrite + Konsole = OK


Non sono particolarmente d'accordo su questo. Secondo me un IDE può essere un ottimo punto di partenza. Allo sviluppatore serve utilizzare un linguaggio di programmazione come strumento per risolvere un determinato problema. Se poi birg vuole approfondire secondo me può farlo in un secondo momento, utilizzando Kwrite + Konsole, ma lo farà in maniera più consapevole.
Avatar utente
francogdn
Linux 2.4
Linux 2.4
 
Messaggi: 320
Iscritto il: ven mag 19, 2006 9:52
Località: Torino
Distribuzione: Fedora

Re: Java

Messaggioda raffaele181188 » gio dic 04, 2008 19:36

Secondo me gli IDE sono fondamentali per non perdere ore e ore inutilmente, ma il fatto è che "nascondono" un sacco di cose. E poi molte delle impostazioni e configurazioni apparirebbero "misteriose" senza conoscere il funzionamento sottostante. Visto che all'università si va per imparare... persino per l'html si consiglia di cominciare con semplici editor testuali. E, infine, trattandosi di un progetto poco pretenzioso, credo che il guadagno in termini di tempo non sarebbe così elevato se aggiungessi quello necessario per imparare ad usare l'ambiente di sviluppo: Eclipse soprattutto è un po' ostico all'inizio, con tutti quei bottoni e bottoncini... Detto questo, credo che una volta capito come funziona java sia meglio passare subito ad un IDE, senza perdere tempo con gli strumenti da riga di comando del jdk.
Avatar utente
raffaele181188
Packager
Packager
 
Messaggi: 789
Iscritto il: ven set 07, 2007 20:40
Località: DearSkin (FG)
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu

classpath

Messaggioda birg81 » gio dic 04, 2008 22:05

Un attimo di pausa...
Che sono i classpath??
che vuol dire usare i file class all'interno dei jar?!
Da quello che mi state spiegando i file class sono già eseguibili, quindi i file jar sono una collezione di "eseguibili" che sinergicamente collaborano tra loro...
invece qui adduco che partendo da un file jar i posso utilizzare le librerie al loro interno?!
comunque grazie per la dritta di "Thinking in Java" iniziero' a scaricarlo e poi lo faro' stampare a scuola...

xxx ha scritto:E non odiare le gtk eh eh, e che ti hanno fatto?

Offtopic: le odio per una serie di motivi anche se ammetto che sono molto banali
birg81
Linux 2.6
Linux 2.6
 
Messaggi: 760
Iscritto il: lun gen 16, 2006 10:57
Località: Castellammare di Stabia (NA)
Nome Cognome: Biagio
Slackware: 12.2
Kernel: 3.4.7
Desktop: LxDE
Distribuzione: ArchLinux

Re: Java

Messaggioda raffaele181188 » gio dic 04, 2008 22:41

Scaricati la versione 4 di TIJ però, che Bruce ha tolto alcune cosucce noiose e ha aggiunto le nuove. Resta sempre valido il consiglio di provare il libro di Hosrtmann, anche graficamente non ci sono paragoni, poi fai tu. Su jar .class e classpath puoi trovare un sacco di cose su internet e ti consiglio di leggerle (anche sul libro di eckel) perchè sono abbastanza importanti, comunque riassumendo
Il compilatore java (javac) prende i sorgenti .java e li compila in bytecode (file .class). Il bytecode è una sorta di pseudo-assembly per la virtual machine (ci sono degli esempi di bytecode anche in TIJ). E' grazie al bytecode che java è portabile.
Ora (semplificando molto) i file .class che fanno parte della stessa libreria vengono messi in una struttura di directory che riflette il nome della libreria. Per esempio le classi Bart.class e Lisa.class dichiarano di appartenere alla libreria (package in java) homer.simpson.famiglia
Allora sono sistemati in una directory homer/simpson/famiglia che si trova da qualche parte nel tuo filesystem.
Per far capire alla JVM dove iniziare a cercare le classi Bart e Lisa (quando le servono) devi specificare la variabile CLASSPATH (E' come quando in BASH aggiungi alla variabile PATH il percorso alla tua directory degli script, stessa cosa)
Per quanto riguarda i jar, se abbiamo le librerie homer.centrale, homer.casa.garage, homer.bardiboe, homer.famiglia ecc. che costituiscono la nostra applicazione naturalmente vogliamo distribuirle tutte insieme. Allora le mettiamo tutte in un unico archivio compresso che ha estensione .jar
Spero di essere stato chiaro ma soprattutto sintetico. Sono cose importanti e dovresti leggere e studiarle bene
Avatar utente
raffaele181188
Packager
Packager
 
Messaggi: 789
Iscritto il: ven set 07, 2007 20:40
Località: DearSkin (FG)
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu

Re: Java

Messaggioda sir_alex » ven dic 05, 2008 14:24

I file .class non sono eseguibili; ogni file .class, compilato da file .java, contiene una singola classe. Volendo puoi considerarne uno singolo alla stregua di eseguibile se contiene il metodo main, un po' come un file cpp con il main è un eseguibile, tutti gli altri sono librerie usate da quello... anche se è un po' poco precisa come definizione.
sir_alex
Linux 2.6
Linux 2.6
 
Messaggi: 735
Iscritto il: lun mar 21, 2005 0:00
Località: Milano - Corbola (RO)
Kernel: 2.6.35-22
Desktop: KDE4
Distribuzione: Ubuntu

Re: Java

Messaggioda 414N » sab dic 06, 2008 11:30

birg81 ha scritto:Sono ing Informatica Ordinamento Quinquennale. Al vecchio ordinamento di programmazione di fa il C++.
Poi è ing e no informatica.

Offtopic: Mi sembra incredibile che tu non abbia mai visto Java durante i tuoi studi...
Quindi, in 5 anni di studi, quali linguaggi vi hanno insegnato? C/C++ e basta?
Avatar utente
414N
Iper Master
Iper Master
 
Messaggi: 2881
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

Re: Java

Messaggioda kreen » dom dic 07, 2008 10:18

414N ha scritto:Offtopic: Mi sembra incredibile che tu non abbia mai visto Java durante i tuoi studi...
Quindi, in 5 anni di studi, quali linguaggi vi hanno insegnato? C/C++ e basta?


Offtopic: Beh, se glielo hanno insegnato bene, mi pare sufficiente :-)
L'incredibile è che in un piano di studi che prevede un tipo di linguaggio, fanno scrivere la tesi utilizzandone un altro. A meno che la tesi non verta proprio su Java. Di sicuro quando scriverò la mia, se mai utilizzerò un linguaggio, non aggraverò il carico di lavoro mettendomi ad imparare il Pascal per utilizzare quello.
Avatar utente
kreen
Linux 2.4
Linux 2.4
 
Messaggi: 228
Iscritto il: mer feb 01, 2006 18:32
Località: Verona
Slackware: 12.0
Kernel: 2.6.21.5-smp
Desktop: KDE

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite