Newsgroup: it.comp.lang.c++
Titolo: bug di BCC5.5

Forse sono fuori tema ma vorrei segnalarvi un grave bug del BCC5.5
(o meglio, della libreria della Rogue Wave):
#include <iostream>
main()
{
  int a = 0;
  std::cout << "Introduci un numero:  ";
  std::cin >> a;
  std::cout << "a = " << a << std::endl;
}
Introduci un numero:  m
a = 6684128
Succede solo a me?
Nota polemica:
il C++ mi piace molto è mi da molto fastidio il comportamento
di aziende come la Borland a cui sembra importare poco o nulla
dei programmatori C++.
Mi spiego meglio:
la libreria C della Borland è sviluppata dalla Borland stessa che quindi
ha potuto adattare le specifiche ANSI al proprio compilatore.
Lo stesso non è accaduto con la libreria C++, la Borland si è affidata
ad una azienda esterna che per forza di cose deve sviluppare una
libreria multi ambiente.
Questa situazione ha il suo limite in un compilatore come il
Borland C++ 5.02 che permeteva di compilare anche codice
a 16 bit. In tale modalità alcune parti della libreria standard
non si potevano compilare!
Che cosa ne pensate voi?
Saluti   Manlio Perillo

 dei programmatori C++.
Sono d'accordo con te. La penso così da sempre per quanto riguarda la
Microsoft ma finora pensavo che la Borland fosse migliore. Spero di
poter continuare a pensarlo. Attendiamo la prossima release...
EMG

non si potevano compilare!
Quella versione del compilatore non ha mai fruito di una
libreria C++ standard.
Paolo  
--------------------------------------------------
  Paolo Marotta
  Computer Science, University of Pisa
  home:   
http://www.cli.di.unipi.it/~marotta
--------------------------------------------------


Ti dico solo una cosa, anche il KAI C++ ha in licenza la libreria dalla
Modena Software Inc. ma hanno avuto il buon senso di adattarla
al loro compilatore;
cosa che non ha fatto la Borland.
Se hai la pazienza di leggere il file stdcomp.h ti accorgerai di come
sono rimaste intatte tutte le macro per adattare la libreria ai
vari compilatori.
Tutto ciò mi fa pensare che quelli della Borland abbiano preso
la libreria così come era e chi si è visto si è visto.
Saluti  Manlio Perillo

Non credo sia del tutto vero. Rogue Wave distribuisce la libreria in
forma adatta a piu' piattaforme. Pensare di andare a togliere le parti
che non servono e' piuttosto delicato. Personalmente mi pare meglio
cosi' che non rischiare che Borland infili ulteriori bachi facendo un
lavoro sostanzialmente inutile.
Ciao,
Nicola

 non si potevano compilare!
Da parte mia, con i 16 bit ho gia' dato ..... 
Fausto

 ha scritto nel messaggio
news:396AF0AB...@freelance.it...


 Fosse l'unico problema del compilatore microsoft...
Come tutti i compilatori, poiche' fatti da persone come me e te 
non sono esenti da bachi. 
Fausto.

 ha scritto nel messaggio
news:396B04CE...@freelance.it...


 dei programmatori C++ quando scrivendo ...
Che alla MS non importi un fico secco dei programmatori che usano i loro
strumenti mi pare un fatto da lunghissimo tempo assodato. Per loro basta
che ci sia qualcosa da vendere...
EMG


Continuo l'attacco alla Borland segnalando un'altra sua mancanza.
Lo standard ANSI/ISO per il C++ giustamente specifica per le funzioni
matematiche degli overload per i tipi float, double e long double.
Alla Borland se ne infischiano, continuando forse a pensare che
con il C++ si facciano solo dei piccoli calcoletti matematici
ed inconsapevoli della differenza dei calcoli fatti in singola od
in doppia precisione.
(del resto in tutti i testi che ho letto sul C/C++ si usa solo il tipo
double).
Temo che quando la Borland fornirā i prototipi con gli overload,
si avrā semplicemente (ad esempio)
float sin(float x) { return sin( double(x) ); }
Anche alla Rogue Wave non scherzano;
nella definizione della classe complex effettuano calcoli
che effettuerebbe una persona ignara di fondamenti di calcolo
numerico.
Ancora una volta prendo come esempio il KAI C++ che si
dimostra molto pių 'serio' ed attento alle esigenze di tutti
i possibili utilizzatori di un linguaggio flessibile come il C++.
Saluti  Manlio Perillo

 i possibili utilizzatori di un linguaggio flessibile come il C++.
Il tuo KAI tanto decantato utilizza le Modena Lib++. 
Tali librerie le ho usate con il CodeWarrior nella versione 2. 
Bene, mi spieghi come fai a decantare le lodi di quelle librerie?
Lavorare con le lib++ fornite in quella versione della Metrowerks
per me e' stato un incubo. Dopo due mesi di sclero, e di problemi di
standard  (anche se era ancora in draft)  non rispettato dalle lib++, 
ho smesso di usare quel compilatore. Inoltre anche li' c'e' un 
bel file di configurazione che ho dovuto modificare affinche' 
funzionassero correttamente.
Quindi ogni compilatore ha le sue magagne. 
Il Builder sicuramente cerca di supportare il piu' possibile lo
standard, ma e' nato principalmente come RAD e come tale 
va preso.
Fausto


Come ho gią scritto il KAI C++ utilizza le Modena Lib++ ma in molti
punti ha modificato se non addirittura cambiato totalmente il codice.
Comunque non era mia intenzione fare polemica sul compilatore della Borland.
Saluti Manlio Perillo