Newsgroup: it.comp.lang.c++
Titolo: Per che mi vuole aiutare...

Salve a tutti.
Scusate se continuo a stressare con le mie domande da pseudo principiante,
ma sto cercando di riprendere in mano il discorso programmazione. Mi
piacerebbe poter programmare direttamente su Windows, ma attualmente mi sto
rinfrescando un po' la memoria con il DOS (Turbo C++).
Le mie richieste:
1) ho visto un listato in cui si fa un'assegnazione di questo genere:
    pippo = 0x00FF oppure pippo = 0x0003 ecc. dove 0xqualcosa dovrebbero
essere numeri esadecimali, dove pippo e' di tipo BCINT e dove BCINT e' un
"typedef short int BCINT". Ora mi chiedo:
a) a cosa serve fare un'assegnazione con un numero esadecimale? Potrei fare
la stessa cosa, ma con un numero decimale e ottenere gli stessi risultati?
b) a cosa serve definire BCINT come un short int per poi dire che pippo e'
di tipo BCINT? Non si puo' definire direttamente pippo come short int?
2) so di non essere molto bravo a programmare, ma non si sa mai; e per
questi volevo chiedere: volendo passare ad un linguaggio recente, e potendo
farmi prestare (almeno per adesso che non sono ancora pratico) sia il
Borland C++ 5.02 che il Microsoft Visual C++ 6.0 (e' piu' complesso o quasi
uguale a VC++ 5.0?) su quale mi consigliate di cominciare?
Beh. Scusate la lungaggine, la stressaggine e l'ignoraggine :-)
Grazie per eventuali risposte.
Saluti
Michele
mc3...@mclink.it

uguale a VC++ 5.0?) su quale mi consigliate di cominciare?
Non c'e` molta differenza... VC++ 6.0 e' appena appena piu` aggiornato
in termini di aderenza allo standard, ma se l'uno e' zuppa, l'altro e` pan
bagnato.  Personalmente direi: se la tua macchina e` molto veloce e ricca
di RAM, VC++6 e' preferibile -- se operi invece con risorse limitate, lo
e' probabilmente BC++5.02.
Alex

[.........]


 e' probabilmente BC++5.02.
Visto che siamo in tema, quali sono i compilatori migliori in termini di
aderenza allo standard?
Per quello che ho potuto vedere il VC++ non e' molto aderente allo
standard (ad esempio di default una new fallita non genera una eccezione).
-- 
Fabrizio Di Giuseppe
fabrizio.KILLME.@iride.com
(remove ".KILLME." from the address to send me a message)

standard (ad esempio di default una new fallita non genera una eccezione).
La causa sí, basta dare le opzioni giuste (vedi doc in linea, C++
Language Reference, Special Member Functions, new and delete),
purtroppo quella che causa non ha il nome "giusto" secondo la
versione definitiva dello std (non é std::bad_alloc, bensí xalloc,
come sanciva un draft precedente).  Comunque non sono queste
minuscole differenze di libreria, d'altronde facilissime da fixare
nel tuo codice, quelle che causano problemi; sono cose piú sottili,
come i template di template, la specializzazione parziale, ecc ecc.
Da questo punto di vista, Microsoft, Borland, e Cygnus, meritano
tutti un C- (sufficiente, ma a malapena), forse qualcosina in piú a
Cygnus per le ultimissime versioni (quelle pre-pre-pre-alpha, NON
"rilasciate") di egcs (le mancanze peggiori di Cygnus restano sugli
usi avanzati/complicati/sofisticati di namespace).
Alex

 come sanciva un draft precedente).
Si, ho notato anche questa differenza.
Grazie comunque per le indicazioni.


vengano attivate apposite opzioni.
Purtroppo, o per fortuna, questa non e' una violazione dello
standard ISO del linguaggio C++; similmente agli standard
per altri linguaggi (C, Fortran, eccetera), anche quello del
C++ ammette che un ambiente di sviluppo possa avere
delle "opzioni, ovvero proprieta'" e lo definisce "compliant"
purche' ci sia il modo, documentato, di settare queste
opzioni in modo tale da ottenere il comportamento standard.
Di default, quasi nessun compilatore C implementa lo
standard ISO/ANSI, ad esempio; con gcc devi specificare
le opzioni -Wall -ansi -pedantic, eccetera eccetera.  Non
per questo diciamo che gcc, come compilatore C, non e'
compliant con lo standard ISO/ANSI.
(Comunque, nessuno oggi e` ancora compliant con lo
standard ISO C++; l'ultimo release di egcs 1.1, vedi il solito
sito 
www.cygnus.com
, ci si avvicina, ed e' forse il meno
peggio fra i compilatori ampiamente diffusi da questo
punto di vista -- un pelino meglio di Borland e Microsoft,
un pelino peggio di KAI e Comeau, che pero` diffusi non
sono, per altre ragioni).
Alex