Kurt Watzka wrote: > Guillermo Schwarz writes: > > >Kaz Kylheku wrote: > >> Although 'memcpy' is not a reserved keyword by any means, > >> it is a reserved 'external name'. > >It is the first time I see reserved external. > > Well, looks as if there still is something to learn about C for you. > The exact wording is "are reserved as identifiers with external > linkage", but "reserved external name" looks close enough to me. > It's nice to know C advances so fast I can't keep up to date with its definition."Reserved as identifiers" is something meaningful to you? Can you reserve a name as a non indentifier? "with external linkage"? Those are too many words just to mean an extrernal name. The point is, at least when I studied the good and old K&R, it didn't mention "reserved as identifiers with external linkage", that for me means "don't touch this, or trick"... The C guys modify their language each 3 months just when they realize something is missing. If you think it is funny, I think it is pretty messy. In Smalltalk, there is USUALLY no need to change the language, but just the need to add new classes and methods to achieve what's needed. > If memcpy is not defined as a function with external linkage, and > if is not included, an implementation that does not > sucessfully translate the program in question is at error. Did > you actually _try_ it, and if yes, which implementation did > "point out two different implementations"? You are right! I'm amazed. GNU gcc does implement memcpy directly (what is to say thatmemcpy is inlined into the resulting exe, independently from how it is defined in the program). I would like to follow the only faith: smallTalk, so that my flesh doesn't get rotten. How can somebody have a life, if the ANSI is changing the language so fast? They think that by changing minor things they can keep C alive? (I'm not meaning C is dead, but let Electronic Engineers do the drivers for their HW in C, but don't tell the rest of the world C is the right language because it is well implemented or something else wrong like that). Maybe not too much people write their dirvers in Smalltalk because the drivers are very simple pieces of code. Drivers have no complex algorithms, they just need sti(), cli(). That's why drivers are made in C. That's why drivers were made in assembly. > The object model and design ideas behind C++ are completely different > from Smalltalk. Objects have behavior and state in both languages.C doesn't have objects, nor behavior, nor state. C++ is backward compatible with C. ---------------------------------------- C++ is a Smalltalk wannabe (at least an OOL wannabe). > You could probably call C++ a Simula wannabe (If you > are prepared to call a Mustang a Modell T wannabe) Oops! It seems a C++ defender is here. You think C++ is fast as a mustang?At least a Model T is not as fast as a Mustang, but C is usually faster than C++ unless the coder is at least 3 years experience. Model T is more like Simula, very old, very good for their time. Now they wouldn't sell. Mercedes is more like Smalltalk. Well designed. Strong. Fast. Everything in it is a pleasure. Fiat 600 is more like C++. Old desing. Poor. Pieces doesn't fit. Nothing in it is beautiful. Shopping Cart is more like C. You must do everything by hand. Walking is the only way to move it. Put two people in it, and they will be discussing all the time. Be careful or you can drop to the floor very easily and get your mouth red with your own blood. Or what's worse, your body can become a corpse dump. > , but calling > it a Smalltalk wannabe indicates that you either don't know Smalltalk > or you don't know C++. I'm sorry to hurt your feelings about C++. But it turns out that C++ is a very poorlanguage. You can't know how many bits does an int have. Or if long is actually bigger than int. You can't ask an structure how many fields does it have. You can't tell an structure to write itself into a file. You can't code an algorithm that works with any kind of numbers: int, double, big int, etc. In C++ there is no way to handle overflow of integers. Ask in runtime how many classes do you have in your image. Or try to figure out which classes descend from which. Try to make a single general program. Try to create a Set of objects in C++. Try to create a Bag of objects in C++. Try to create a SortedCollection of objects in C++. Convert one collection into another. (SortedCollection as Bag or whatever). Put a Set inside another Set. Try to create a Dictionary of pairs of objects in C++ using hashing to index the keys. Then put a Dictionary and a Set inside a Dictionary with the Dictionary as the key. If you can do a single thing of what I wrote here you are a good C++ programmer. All this can be done in 10 minutes in Smalltalk (if lazy). I'm sorry if I hurt your feelings, but for the last 3 months I've been Smalltalking more than keeping up with the C crap. (C++ being the cream of the crap and Java being coffe you drink with cream). I mean no offense to other languages. Fortran had its time. C had it. C++ had it. Java is having it. Smalltalk deserves a little respect as the king of OOL. (Maybe CLOS guys will not agree with me), but trying to say that C++ object model is better than Smalltalk object model is saying GW BASIC is more structured than Pascal. And claiming you know C++ and Smalltalk more than me is something to prove, sir!