Newsgroup: it.comp.lang.c++
Titolo: *** VB, VC++ o Java ? ***

Un saluto a tutto il ng.
Sono un programmatore di C di vecchia data
(il "vecchio" C di K & R)
e vorrei aggiornare i miei strumenti di sviluppo.
Finora ho programmato con il Clipper per 
le applicazioni gestionali e con il C per tutto il
resto.
Cerco uno strumento di programmazione che
possa fare un po'  di tutto.
Non mi pongo grossi problemi di portabilità, ma
a volte ho necessità di lavorare a fondo dentro il S/O
operativo (gestione liste e alberi, manipolazione
memoria, interfacciamento moduli assembler, 
collegamenti con vecchie cose scritte in C).
Cosa mi consigliate tra il Visual Basic, il Visual C++
e Java ?
Vi sarei grato se motivaste le vostre indicazioni.
Al riguardo, ho vari dubbi: (con il VB è possibile gestire 
puntatori ? Con il VC++ è pratico il gestionale ?
con Java quanta libertà ho nei confronti del S/O ?)
Scusate la confusione, ma sono effettivamente confuso
(e ignorante, nel senso che ignoro).
Grazie a chi mi saprà dare lumi. Astenersi perditempo.
                                                                  C.G.

 e Java ?
beh, chiedendolo qui su it.comp.lang.c++, la risposta non
puo` che essere "C++" :-)
ma comqunque, penso proprio che sia la scelta piu` giusta, a maggior
ragione considerando che non hai problemi di portabilita` (dove
il java potrebbe essere per certi aspetti preferibile) e
che devi collegare vecchi progetti C/asm (dove il VB non e` certo
preferibile :-)
un discorso a parte per il kernel developing, dove e` opinione
diffusa tra gli sviluppatori ritenere che sia meglio usare un linguaggio 
di livello piu` basso e quindi piu` "semplice", come il buon vecchio C.
giulio


Ritengo che la scelta migliore sia il C++ per i seguenti motivi:
1) Ti permette di lavorare a basso livello fornendoti un buon controllo delle
     componenti della macchina e utilizzando librerie puoi lavorare ad un maggiore livello di
     astrazione (ad esempio se la gestione della memoria e` un peso, esistono librerie per
    il garbage collecting, oppure usando i contenitori di STL puoi fare a meno di pensare ad
   allocazioni e deallocazioni di memoria).
2) Si interfaccia ottimamente con codice C per sua natura, se ti servono routine estremamente
    efficienti, praticamente tutti i compilatori supportano anche codice assembler inline.
3) Puoi svilupparci qualunque genere di applicazioni, il costo della cosa e` legato alla disponibilita`
    di librerie idonee (altrimenti devi fare un maggior lavoro).
4) Esistono strumenti RAD molto validi (C++ Builder).
5) E` portabile, almeno finche` non inserisci codice legato ad una particolare architettura (java qui`
    e` molto piu` bravo perche` il codice eseguibile (byte code) e` in realta` indipendente dalla piattaforma).
Per contro richiede una maggiore attenzione di VB e Java (maggiore potenza => maggiore fatica), ma
questo dipende anche dalle librerie che utilizzi e dal tipo di applicazione che vuoi realizzare.
Java ha dalla sua il vantaggio di non dipendere dalla piattaforma, il codice finale non deve essere
ricompilato per funzionare su altre architetture, questo ovviamente si paga in termini di controllo sulle
peculiarita` di una certa macchina con una certa configurazione.
VB che io sappia permette di sviluppare molto piu` velocemente ma non fornisce un controllo
sulla macchina paragonabile a quello del C++, inoltre e` legato indissolubilmente a windows.
Paolo
-----------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
  e-mail: 
mar...@cli.di.unipi.it
 
-----------------------------------------------

Si può dire che anche io mi soni tovato nella tua situazione.
Lo strumento migliore ritengo sia allora il C++, e in particolare il
C++Builder, che ti permette di iniziare subito a lavorare con molta
rapidità.
Inoltre non devi imparare da zero un nuovo linguaggio, xchè come sai con C++
ci si sente molto + a casa che con Java (o peggio VB).
il libro "C++Builder - Guida Completa di Henderson-Reisdorph ediz. Apogeo" è
un ottimo punto di inizio che ti può aprire la mente sulla multifunzionalità
dell'ambiente (gestionali, appl.internet, ecc.).
Sulla rivista internet appresso indicata trovi utili suggerimenti
(gratuiti).