On 2012-07-04, at 4:33 PM, chevalma@iro.umontreal.ca wrote:
http://en.wikipedia.org/wiki/C%2B%2B#Philosophy _______________________________________________ Dlteam-list mailing list Dlteam-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/dlteam-list
Donc, ça n'a pas été un objectif de design de concevoir un langage qui offre des features aux limites de ce qui est analysable. D'autre part, un langage qui a l'opérateur de cast (tel qu'il est dans C/C++) ne peut pas se dire "statically typed". Anyways, ça ne vaut pas la peine de s'embarquer dans du "C++ bashing"... il y a amplement de commentaires à ce sujet.
Marc
In The Design and Evolution of C++ (1994), Bjarne Stroustrup describes some rules that he used for the design of C++:[page needed] • C++ is designed to be a statically typed, general-purpose language that is as efficient and portable as C • C++ is designed to directly and comprehensively support multiple programming styles (procedural programming, data abstraction, object-oriented programming, and generic programming) • C++ is designed to give the programmer choice, even if this makes it possible for the programmer to choose incorrectly • C++ is designed to be as compatible with C as possible, therefore providing a smooth transition from C • C++ avoids features that are platform specific or not general purpose • C++ does not incur overhead for features that are not used (the "zero-overhead principle") • C++ is designed to function without a sophisticated programming environment Inside the C++ Object Model (Lippman, 1996) describes how compilers may convert C++ program statements into an in-memory layout. Compiler authors are, however, free to implement the standard in their own manner.