Newsgroup: it.comp.lang.c++
Titolo: Visual Basic! Scusate l'intrusione!

Beh ecco, io studio ingegneria informatica, ma in effetti non so quasi nulla
sui linguaggi
di programmazione, le uniche mie conoscenze sono un po' di Pascal, un po' di
Visual Basic 6
e un po' di niente....
Innanzitutto vorrei sapere che differenza c'č fra C e C++ e soprattutto se
entrambi i linguaggi
"permettono" di fare le stesse cose!
Inoltre vorrei sapere se mi conviene insistere per imparare il Visual
Basic!( ho appena preso
il libro "Hardcore Visual Basic 5" di McKinney ma ho scoperto con grande
disappunto che
la sua libreria di tipi non č compatibile con la versione 6 e quindi il suo
codice, fra cui
una dll di 600k č praticamente inutilizzabile, a meno di essere abbastanza
esperti da modificarla)
Cioč in pratica non so cosa fare!
Anche McKinney, l'autore del libro, fa un sacco di osservazioni contro
Visual Basic ( secondo lui
il linguaggio ha dei limiti che altri linguaggi non hanno, ma non si riesce
a capire quali siano...
Pascal, C++, Java???) Come se non bastasse il libro risale a secoli fa,
ovvero al 1997, e lo stesso
McKinney ha dichiarato che di Visual Basic non ne vuole piů sentir parlare,
cosě io ora mi ritrovo
con in mano un ottimo libro e tantissimo codice, ma non li posso usare!!!
In definitiva vorrei dire, lasciamo stare Visual Basic e magari impariamo
C++ o Java o che altro,
o comunque un linguaggio dove la Microsoft non metta bocca!!!
Se vorrete fornirmi qualche indicazione ve ne sarň perennemente grato!
Andrea Rossi
ross...@tin.it

 Se vorrete fornirmi qualche indicazione ve ne sarò perennemente grato!
Naturalmente se vuoi fare programmini piccoli, difficilmente estensibili
e con un po' di altri difetti a tuo piacere puoi anche usare il VB.
Comunque per scegliere un linguaggio da imparare devi valutare anche
molti altri aspetti (se è visual o meno, se serve per applicazioni o per
programmi di basso livello, se ci devi fare un gioco un CAD o un
gestionale, se vuoi imparare a programmare o solo farti un po' di
soldi).
Personalmente uso Delphi e lo trovo un linguaggio eccellente.
Ciao,
Marcello.

Devi provare sotto quale linguaggio ti trovi meglio e che tipo di software
vuoi sviluppare. Cmq parti dal presupposto che tutti i linguaggi fanno
schifo.
Parlando del VB si può dire che una delle sue tante problematiche sia la
possibilità di lavorare solo in ambiente Windows.
Se ti può far piacere VB sta migliorando perché già nella versione 6 sono
stati aggiunte nuove funzionalità a basso livello che solo C e C++ potevano
fare. Inoltre nella versioni successive alla 6 (mi riferisco alla 7 anche
se non è ancora sui mercati) si pensa di aggiungere l'ereditarietà
completando così la sua OOP -Al contrario di quello che si pensa
normalmente in VB vi è già la OOP anche se con 
diversi limiti-.
Per quanto riguarda il C++ non è un linguaggio per novellini (al contrario
di quello che ti ha detto Esposito -forse per lui lo è-)ed inoltre non è
solo programmazione strutturata ed OOP ma anche programmazione generica per
dirne una.
Prima di affermare qualunque cosa è sempre meglio verificarne la verità. 
A proposito di questo argomento riferisco quello che avevo letto quando ho
studiato Java -il mio primo linguaggio- "Il Java si fonda come risoluzione
alla OOP in sostituzione di quel linguaggio obsoleto che lo precede, ovvero
C++. Infatti tale linguaggio è stato utilizzato per costruire lo Star7 ma
ci si rende subito conto che le sue prestazioni sono di basso livello...".
Avendo imparato questo non mi sono preoccupato di vedere se fosse tutto oro
colato, ma andavo pensando che fosse veramente così.
Adesso ti riporto un altro discorso che riguardava il C e C++ "Il C++ nasce
come evoluzione del C ma non potrà mai sostituirlo nella costruzione di OS
perché ci saranno sicuramente molte difficoltà a portare i moduli
procedurali di un OS ad oggetti..."
Un altro articolo "I linguaggi come il C++ servono solo a confondere il
programmatore insegnandoli un metaparadigma - la OOP - che ha il solo scopo
di rendere più scialba ed illeggibile la stesura del codice, bisogna
tornare invece alla programmazione strutturata del Pascal ..."
Ancora un altro "
     VB =  linguaggio che ti costringe ad andare ai 1000 all'ora facendoti
però tornare al punto di partenza senza aver risolto granché
      C = una cavolata apprezzata
      C++ = linguaggio che costringe ad andare ai -2004 all'ora per poi non
risolvere niente. Totalmente inutile.
      Pascal = un mito
      Delphi = il migliore
      ecc....
"
Personalmente di consiglio di proseguire sul Delphi e VB, ma bada che un
buona conoscenza di C++ e Assembly sarebbe altamente istruttivo.
Io mi trovo bene in C++ ma mi rendo conto da solo che sarò sempre un
programmatore di 5 parte con attitudini non superiori a quelle del Basic. 

 tornare invece alla programmazione strutturata del Pascal ..."
Quelle di prima potevano andare bene, ma questa mi sembra davvero un po'
esagerata. 
Che la OOP renda illegibile la stesura del codice mi sembra davvero
inaudito.
Saluti,
Marcello.

Tutti gli articoli da me citati erano riferiti a luoghi comuni del tutto
errati, ma posso assicurare che non condivido pienamente nessuno di loro.
Scusa Esposito se ti ho frainteso. 

> Scusa Esposito se ti ho frainteso.
La prego Fassi.
;-)

Basic!
Personalmente direi di no!!!! Ma e` solo una opinione...
Per il resto ti rimando alle faq (
www.programmazione.it
)
Paolo
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------

Ancora un altro 
[...]
soprassiedo...
Vorrei sapere da quali criteri oggettivi derivino certe 
considerazioni...
Non che voglia affermare che il C++ sia il miglior linguaggio, ma queste
critiche mi sembrano denotare una completa incomprensione di una
miriade di tematiche non solo sul C++, ma sui problemi dell'informatica
in generale.


Libro: Java 1.1 
Autore: Laura Lemay, Rogers Cadenhead
Per i restanti si parla di articoli presi dal mio libro di informatica in
generale che mi obbligano a studiare. 
Non condivido pienamente (come ho già detto) nessuno di loro e per me sono
solo parole al vento. Ogni programmatore ha il diritto di sviluppare nel
paradigma che più gli piace, tanto sono i risultati finali quelli che
contano. 
Ad un utente finale che usa l'OS creato dal sottoscritto non gli importerà
mai sapere in quale linguaggio e programmazione l'ho realizzato, ma invece
gli importerà che sia funzionale e funzionante.
Cmq, afferma pure che il C++ è il migliore. 
L'unico confronto valido con C++ , a parer mio, è dato dal VB o dal Delphi.
C'è anche chi dice che il C fa ancora la sua parte, ma secondo me il C non
farà più testo nel mondo dell'informatica e tra poco nemmeno il C++.
L'andazzo generale è sempre questo:  meglio il linguaggio dove riesci a
fare quasi tutto nel minor tempo possibile piuttosto che quello in cui fai
tutto ma con una scarsa velocità.
Con questo non voglio dire che sia il migliore sotto tutti gli aspetti,
ogni linguaggio fa schifo sotto certi punti. Infatti non mi verrebbe mai
voglia di scrivere un applet in C++.

Infatti non mi verrebbe mai voglia di scrivere un applet in C++.
Ma non potresti nemmeno farlo!
Secondo me hai le idee un poco confuse, Java e' stato _concepito_ per
lavorare in rete, per poggiarsi su una Virtual Machine che astragga dalla
piattaforma ecc... E' chiaro che un applet in C++ non lo puoi fare, a meno
di non chiamare applet un semplice eseguibile C++...
Dire che il C e' destinato a morire mi sembra azzardato, almeno in
riferimento al breve-medio periodo.
Dire che il C++ scomparira' mi sembra follia e paragonarlo a Delphi e,
peggio ancora, a VB, non ha proprio senso.
Dici che l'importante e' il prodotto finito, quello che vede ed usa
l'utente, allora mettiamoci pure a sviluppare in linguaggio macchina cosi'
il codice e' piu' veloce...
Tieni presente che Visual Basic sara' anche facile, ma non l'hanno mica
scritto in Visual Basic!
Tra l'altro, e' un linguaggio con oggetti, ma non ad oggetti, e stendiamo
pure un velo pietoso sulla gestione delle eccezioni! Pare che dalla versione
7 le cose cambieranno parecchio, pero' da qui a superare il C++ ce ne
vuole...
Delphi e' un gran bell'ambiente, peccato che sia Pascal perche'
personalmente la sintassi begin-end ed il fatto di dover dichiarare tutte le
variabili all'inizio non lo sopporto... Inoltre non supporta i template.
Il C++ sara' anche difficile e lento da imparare, ma ha i suoi vantaggi: del
resto si sa, nessuno regala niente!
Ciao, Davide.
||----------------------
Davide Piras
pir...@engineer.com
----------------------||

Non volevo dire che il VB e il Delphi superano il C++, ma sotto alcuni
aspetti quali il tempo di produzione,difficoltà,ecc. sono confrontabili.
Ammetto di non essere stato chiaro.
Per quanto riguarda il discorso dell'applet il C++ è un linguaggio adatto
per la realizzazione di qualsiasi cosa ed inoltre si può anche costruire
codice portabile senza avere una traduttore di bytecode simile alla Java
Virtual Machine che lo compila. 
Facendo però attenzione che non tutto il linguaggio è portabile.
Prova a fare un sistema operativo  in linguaggio macchina e vediamo i tempi
di produzione quando ti accorgerai quanti errori hai fatto nel codice.
Per quanto riguarda il discorso del C e del C++ mi riferivo ad un periodo
di 7-10.
Un altra cosa, il VB è veramente orientato agli oggetti anche se fa schifo
e per questo prende il nome di programmazione ad oggetti, la quale non ha
nulla a che vedere con la OOP di altri linguaggi. Ma dato che quasi nessuno
sa queste sottigliezze...

Quando parlavo di 7-10 intendevo 7-10 anni.

Mi scuso davanti a tutto il newsgroup. Ho preso un abbaglio colossale e ho
continuato ad insistere sul mio errore. Quando ho detto che non mi verrebbe
mai voglia di scrivere un applet in C++ intendevo solamente un'applicazione
portabile che non centra nulla col Web. 
Non so nemmeno perché ho utilizzato il termine applet. 
In poche parole ho detto una castronata.
Cmq ringrazio Davide per avermelo fatto notare..

Con questo non voglio dire che sia il migliore sotto tutti gli aspetti,
Lungi da me una simile affermazione...


Facendo però attenzione che non tutto il linguaggio è portabile.
Il C++ standard e` portabile (se disponi del compilatore standard
compliant... ma questo vale per qualsiasi linguaggio)


 7 le cose cambieranno parecchio,
Lo sento dire almeno dalla versione 3 (la prima che ho utilizzato) e la
verità è che è rimasto sempre uno schifo.
EMG

Ma se in un programma faccio largo uso di array e puntatori la portabilità
sicuramente ne risente.

 sa queste sottigliezze...
No!
Francesco, non e' che non so queste sottigtliezze, e' che non sono vere!
Un linguaggio ad oggetti DEVE supportare almeno ereditarieta' e
polimorfismo, riesci, in VB, a implementare una classe Button1 che "eredita"
dall'oggetto Button presente tra i common controls di Win32?
riesci a derivare da Button1 una classe ButtonBeep che all'evento OnClick fa
quello che faceva Button1 ed in piu' fa un bel Beep?
Se riesci a fare queste cose senza riscrivere tutto ogni volta, ma
sfruttando realmente l'ereditarieta', allora usi un linguaggio ad oggetti,
altrimenti no!
Si dice che VB e' un linguaggio con oggetti, perche' se sviluppi oggetti
all'esterno, con altri linguaggi, puoi pensare di gestirli da VB, vedi
oggetti COM, ActiveX...
Se pero' sviluppi un ActiveX in VB, non puoi, ad esempio, ereditare da
questo un altro ActiveX, devi riscrivere tutto... ti pare questa
programmazione ad oggetti?
Ciao, Davide.

Non ho detto che non sai le sottigliezze.
A questo proposito riporto un pezzo del libro di Michael Halvorson "Come
tutti i nuovi linguaggi il VB è orientato agli oggetti, ma nonostante ciò
la sua programmazione presenta alcuni vincoli (come l'ereditarietà),
pertanto prende il nome di programmazione ad oggetti o programmazione ad
eventi"
Ma non puoi negare nemmeno tu che alcuni utilizzano il termine ad oggetti
per far riferimento a: programmazione orientata agli oggetti,
programmazione ad eventi(quella del VB),
programmazione per componenti, programmazione logica, anche se sono tutti
metaparadigmi e paradigmi diversi tra loro. 

 compliant... ma questo vale per qualsiasi linguaggio)
Si`, ma quale applicazione, oggi, non usa ne` una GUI,
ne` un database, ne` la rete in alcun modo, ... ?  Nessuno
di questi aspetti e` parte del "C++ standard", ahime`.
Alex

 sicuramente ne risente.
*blink* perche` mai dovrebbe?  array e puntatori sono costrutti
portabilissimi sin dagli albori del C.  Incasinati sinche` vuoi,
ma certo non poco portabili.
Alex

 requisiti, non e` sufficiente farla prima di subito!
Sufficiente certo no (deve avere anche tantissimi fronzoli del
tutto inutili, ad esempio), necessario, al giorno d'oggi, sembra
proprio di si` (se la tua azienda ha venditori degni di questo
nome, hanno gia` venduto ieri il programma che tu pensavi di
iniziare forse a progettare domani l'altro, quindi sara` meglio
che tu lo possa consegnare ieri l'altro al piu` tardi...).
Inserire smilies a piacere, ma non sono sicurissimo che siano
proprio dovuti...
Alex

 ma certo non poco portabili.
Forse può esserlo il loro uso se, ad esempio, me ne servo per accedere a
locazioni particolari per ottenere informazioni specifiche di un dato
sistema o per chiamarne servizi particolari.
EMG

 wrote in message
news:3951F2A9...@flashnet.it...

Certo, ma da qui a dire che array e puntatori danneggiano _la
portabilita`_ c'e` di mezzo il mare.  Sarebbe come fare la
stessa affermazione per "la chiamata a funzione", visto che
certamente danneggia la portabilita` SE la funzione che chiamo
esiste solo su di una certa piattaforma!-)
Alex