Newsgroup: it.comp.java
Titolo: Threads

Devo creare un classico servizio web in cui un server ascolta su una porta e
ad ogni richiesta crea un thread che si occupa di soddisfarla.
Ho realizzato già applicazioni di questo tipo e ho notato che Java è il top
per queste soluzioni.
Questa volta mi trovo di fronte a:
-grande mole di traffico
-elaborazioni su database enormi
quindi sto pensando che un'applicazione VB possa essere più performante
anche se esso non supporta nativamente i threads (tramite API si ottengono
risultati, non troppo soddisfacenti ma si ottengono...).
Qualcuno ha qualche idea sulla strada da intraprendere???
Grazie.


Io ho lavorato molto in VB (non .NET) e adesso lavoro in java e ti consiglio
vivamente di continuare ad usare quest'ultimo: i thread in vb attraverso le
API sono un orrore (IMHO) e cmq in base ai 2 fattori che hai citati non vedo
perchè ti preoccupa utilizzare java.
Ciao

 ha scritto nel messaggio
news:ab5biu$s82$1...@fe2.cs.interbusiness.it...


 personalmente non ho mai fatto un benchmark).
Ciao
sicuramente non sono io la persona più adatta ma visto che ho lavorato con
entrambi i linguaggi ritengo di poter dire la mia.
1) IMHO è assolutamente improponibile un confronto tra Java e VB, a
qualunque livello, comprese le prestazioni. Anch'io non ho fatto veri
benchmark, ma chi li ha fatti qua dentro (e da altre parti) ha confrontato
Java con C++ ottenendo in molti casi prestazioni molto simili, a mio parere
praticamente identiche quando si lavora con tipi primitivi e si spreme il
processore con divisioni e altre operazioni.
Io ho provato a confrontare VB e Java con dei semplici cicli di questo tipo
e ho ottenuto differenze abissali (naturalmente a vantaggio di Java).
2) Il discorso "Java è interpretato, ergo Java è lento", come si è già
discusso varie volte, è falso e oltretutto non ha molto fondamento visto che
ormai è praticamente sempre presente il compilatore JIT, e il codice è
quindi interpretato solo la prima volta, dopo di che è codice macchina a
tutti gli effetti.
Aggiungi il fatto che con VB, come hai già detto tu del resto, non hai
supporto nativo per i thread, non hai gestione delle eccezioni (non
pretenderemo di chiamare così On error... Resume Next :-)), non puoi creare
applicazioni Console! (e che un server duro e puro deve aver bisogno di un
ambiente grafico ? :-), tutte cosettine un tantino utili in un progetto di
quantomeno discrete dimensioni.
Detto questo non vorrei sembrarti uno che vede il mondo in Java, e ammetto
che con VB è molto semplice creare applicazioni grafiche molto carine ed
effettivamente d'impatto in poco tempo, e se devi realizzare un client per
un gestionale in ambiente MS fai bene ad utilizzarlo.
Però le prestazioni sono un'altra cosa... a parte che se fai utilizzo
pesante di dati è probabilmente sul DB che andrebbero cercate.
Per concludere direi che se hai bisogno di un "mostro di prestazioni" hai
bisogno prima di tutto di una progettazione efficiente, poi per il
linguaggio, se proprio non ti va Java, ti consiglierei C++ (puro, senza MFC
o altro), magari con un po' di ASSEMBLY nei punti critici :-), oppure anche
C#... magari anche delphi... ma purtroppo non il nostro vecchio caro VB.
PS: chiaramente parlavo di VB fino alla 6.0 (che ho utilizzato)... 
VB.NET
non l'ho utilizzato e da quel poco che ho visto non è più VB...
Ciao :-)
pole

 personalmente non ho mai fatto un benchmark).
... Tanto che la Microsoft ha deciso di lanciare .NET dove non si produce
codice eseguibile ma CLR (se non ricordo male si chiama così), che è la
stessa cosa del bytecode di Java... C# è una copia di Java sia come
sintassi/semantica sia come idea!
Se devi sviluppare qualcosa per il Web, le alternativa sono .NET o Java, io
prteferisco quest'ultima, poi ognuno ha i suoi gusti
ciao, Gianluca Gravina