Newsgroup: it.comp.java
Titolo: Aiuto ad un neofita sul java ! (vi prego!)

Prima di tutto vorrei ringraziare chiunque risponda a questo messaggio
raccomandandomi che lo faccia in modo semplice e chiaro.Mi scuso per le
domande un po' lunghe ma volevo essere sicuro di farmi capire bene.
Sono un ragazzo che frequenta il IV anno del corso di elettronica e
telecomunicazioni.Ho deciso di dedicarmi a imparare un linguaggio di
programazione in quanto il computer e' la mia grande passione.Solo che sono
un po' disorientato e vorrei qualche delucidazione.
Non sono molto sicuro su quale linguaggio di programmazione imparare, ma
sono propenso verso il java:
1) Mi sembra di aver capito che il java e' il linguaggio piu' o meno sullo
stesso livello del C.Pero' non so se sciegliere uno o l'altro.Io vorrei
sciegliere un linguaggio che possa essere utilizzato sia per programmare
applicativi per computer sia per internet.
2) Il java mi darebbe possibilita' una volta imparato bene di poterci anche
lavorare? Se si in che modo?
3)Il java funziona piu' o meno come il Pascal nel modo di programmare?(e'
l'unico che io conosca).
4) Quale e' secondo voi il l'ambiente di sviluppo migliore, sia come
funzionalita', come semplicita' e come possibilita' di utilizzi futuri dopo
averlo imparato ad usare? Io ho visto che sul mercato si possono reperire:
Il JDK, Il JAVA WORKSHP, Il VISUAL J++, e il SYMANTEC CAFE'.
La differenza fra questi e' solo l'interfacccia di utilizzo oppure il java
viene modoficato profondamente da uno all'altro?
5) Io sono propenso per il visual J++ in quanto mi sembra serio, chiaro come
struttura  e ne ho sentito parlare bene.
POTETE MANDARMI ANCHE LA RISPOSTA VIA E-MAIL "
BILB...@MBOX.LOL.IT
"
Speriamo che dalle vostre risposte possa nascere un nuovo programmatore che
vi faccia concorrenza sul mercato (Scherzo!)
Ancora grazie Alessandro

Mi sembra di aver capito che l'unico linguaggio di programmazione da te
conosciuto e' il Pascal. Onestamente e' un po' pochino per passare direttamente
al linguaggio Java.
Vedi, il Pascal e' un linguaggio strettamente didattico, mentre il C, C++
e quindi Java, sono linguaggi piu' professionali.
Ti consiglio quindi prima di imparare almeno il C: successivamente ti sara'
molto piu' semplice assimilare Java e non farai una grandissima fatica.
Inoltre e' molto importante che tu apprenda il funzionamento di Internet
visto che Java si appoggia totalmente sulla rete.
Spero di averti aiutato.
Paolo Crespi
piu...@ccrd200.cdc.polimi.it

ininfluente.
Vero. Java puo' essere usato anche per scrivere programmi a se stanti
e quindi non totalmente legati con Internet.
Andrea

 ininfluente.
Ancora perfettamente daccordo.
Andrea Polci
-- 
                              Andrea Polci
                       mailto:
apo...@geocities.com
 
http://www.geocities.com/TimesSquare/Dungeon/2206

 struttura  e ne ho sentito parlare bene.
Ricorda che la M$ ha tutto l'interesse ad ostacolare la
diffusione di Java, in favore del suo ActiveX.
Dubito che il VJ++ sia pienamente compatibile con altre implementazioni
(non M$) della Java Virtual Machie (il run-time che permette di far
girare i programmi su una qualsiasi piattaforma).
In questo modo si perderebbe uno dei principali vantaggi di Java che
e' la portabilita' (e ti assicuro che e' tutt'altro che facile averla
anche senza che M$ ci metta lo zampino).


 visto che Java si appoggia totalmente sulla rete.
Questo e' falso. Java e' un ottimo linguaggio per applicazioni di rete
per la sua portabilita' e per la possibilita' di realizzare applet, ma
non e' in alcun modo vincolato ad internet o a un ambiente di rete.


Fare una analogia tra Java, C e Pascal e' abbastanza difficile. Il Java, come
sintassi, e' molto simile al C (le parentesi {}, le operazioni tipo i++, etc.) ma non
permette di fare tutte quelle baggianate a basso livello, come scrittura direttamente
in memoria, malloc, calloc, che funzionano (magari) sul proprio sistema ma crollano
appena le si portano altrove.
Per questo e' simile al Pascal. E' un linguaggio formalmente e scientificamente
corretto. Se una cosa e' lecita, e' lecita, sempre.
Se si prende un Pascal a oggetti, allora si e' ben piu' vicini.
Il bello di Java e' che e' unico. Per ora e' cosi' completo che non esistono librerie
che altri non hanno, o che funzionano diversamente a seconda della piattaforma. Cosi'
come e' impossibile parlare di Borland C e GNU C. In comune hanno solo la "C" nel
nome. Nient'altro.
Considera le "parole riservate" di cui si parla in Pascal (1a lezione). Ora pensa al
Java come se ne avesse 1.9232+E34, tutte a gerarchia di oggetti. Pensa poi ad un
oggetto come un record, dove oltre alle variabili ci sono le procedure. Del tipo
const
n_bachi_windows:4314312+E322;
type
il_senso_della_vita = record
                      vita:integer;
                      nasci,muori:procedure;
                      invecchi(a:integer):function;
                      end;
DIO = record
       sa_tutto:il_senso_della_vita;
       e_qualcosa_di_piu:N_bachi_windows;
           end.
Dichiari le variabili (o istanze)
var
Allah:dio;
LaTuaEta:integer;
e chiami una procedure come se fosse nel record
LaTuaEta:=Allah.sa_tutto.invecchi(12);
Nota tuttavia che le var non esistono all'atto della dichiarazione. Devi fare la
"new". Per questo ricorda i puntatori. Ma non usi mai "allah^.e_qualcosa_di_piu". La
"new" va fatta sulle classi e gli oggetti (=record), non le variabili locali.
Ciao.
Alexis Paul Bertolini. Milan University, Italy

nome. Nient'altro.
Per ora, pero` vedi che gia` cominciano a vedere la luca le Java Fundation
Classes (Sun + Netscape), che in effetti colmano a molte carenze soprattutto
dell'AWT.
	Miky.
-- 
Michele Beltrame
mi...@skm.to
http://www.italpro.com/mb/

 scientificamente corretto.
  ^^^^^^^^^^^^^^^^^^^^^^
Meno male che non hai scritto anche 'politicamente'.. :)
Just kidding,
    Cris
--
Cristiano Sadun - Software Engineering and Consulting
***********Remove NOSPAM from address to reply***********
*********************************************************
"God is Real - unless declared Integer"

 nome. Nient'altro.
Il bello non e' solo questo ma sicuramente il fatto che esistano delle
librerie di routine che funzionino su qualsiasi (o quasi) macchina rende
Java un linguaggio veramente interessante.
Paolo Crespi
---
e-mail...: 
piu...@ccrd200.cdc.polimi.it
web-page.: 
http://www.geocities.com/SiliconValley/Way/7146

 nome. Nient'altro.
Questo punto di vista mi sembra riduttivo. Intanto ci sono molte applicazioni 
in C che non necessitano di mouse e finestrelle e che sono perfettamente
portabili su
una qualunque piattaforma.
Per quel che riguarda Java mi sembra che sia in una fase di evoluzione
tale per cui
ha molti piu' bachi della media dei compilatori C. (Vedi i cambiamenti tra 
JDK 1.1.4 e 1.1.5, per non parlare delle versioni precedenti).
Tra l'altro il comportamento dei Thread, (necessari in qualunque applicazione un
po' impegnativa) dipende (stando ai testi della Java Series della Sun)
proprio dalla piattaforma che per esempio puo' implementare o meno il
time-slicing.
In generale la portabilita', della quale certi paladini di Java si
riempono la bocca,
mi sembra, spero solo per il momento, abbastanza problematica. (Tra l'altro non
capisco perche' molte persone, non sto parlando di APB, parlano dei linguaggi di
programmazione come fossero figli loro e non semplicemente come strumenti
di lavoro:
a diversi lavori, diversi strumenti. Io sono un estimatore del C, nel senso che 
per le cose che devo fare e' lo strumento che mi consente di ottenere le
migliori
prestazioni con il minimo sforzo. Dovendo occuparmi anche di calcolo distribuito
mi sto interessando anche a Java che per certe cose e' piu' produttivo del
semplice C.)
Tornando alla portabilita' mi sembra emblematico che le FAQ del
comp.lang.java contengano
questi passi:
5.5: HOW DO I MAKE MY APPLETS WORK WELL ON MULTIPLE BROWSERS AND VIRTUAL 
MACHINES?
Java is cross-platform, but that doesn't mean all platforms, browsers, and
virtual 
machines operate identically.[...]
1. Use Java 1.0 only. Use a Java 1.0 compiler and a Java 1.0 environment
to test in. 
   Do not use Java 1.1.
[.... Qui danno altri consigli ......]
5. Avoid filename filters, multiple window interfaces, and other GUI
features that don't
   translate well across platforms.
e concludono:
I know this sounds a little perverted. I'm telling you to work with
the worst tools rather than the best. But right now Sun's
promise of "write once/run anywhere" translates into "write once/debug
everywhere".
[...]
Saluti.
Giovanni.

 Giovanni.
Ciao!
--
Alexis Paul Bertolini
- PhD student in Computer Science at Milan University, Italy
- Managing director of Warehouse Creations
- Developer of Java applications, Web services, Network Databases
- Teacher of English as a foreign language
<encoded_portion_removed>



VERO! Se poi consideri i diversi browser!? Sono 4 o 5 browsers per piattaforma.
BUM! Ma dai! 4 o 5 per ogni piattaforma??
ciao
as
P.S. sei impazzito con quella signature?????