Weed пишет: > Weed пишет: >> Andrei Alexandrescu пишет: >>> Weed wrote: >>> [about structs vs. classes] >>>> It is very a pity. >>>> My small opinion: it is impossible to reduce performance for struggle >>>> against potential errors - such languages already are, it more >>>> high-level. It how to refuse pointers because they are dangerous, >>>> difficult for beginners and without them it is possible to make any >>>> algorithm. >>> It's attractive to deal in absolutes, but also dangerous. When C came >>> about, naysayers complained that it was consistently 30% slower than >>> assembler, and generated larger code by an even higher margin. Then, >>> some asked, what would you choose, one OS that's cool because it's >>> written in C, or one that's one third faster? and so on. What people >>> have forgotten by now is that C *was* high level. And it *did* incur a >>> performance hit. It also had desirable properties that overcame that hit. >>> >> Can in C# (it uses as far as I know too such sharing) such approach and >> it is justified - microsoft accelerates replacement of hardware for new >> OS. :) But we after all not blindly copy C#? >> >> After all this problem can be solved, IMHO. >> I suggest to make so: >> >> 1. To leave structures in that kind in which they is (POD) >> >> 2. To permit classes declaration such what they in C++ >> >> 3. To permit transfer the classes on value (for compulsory pass by >> reference and for declaration through "new" now we have "ref" keyword) >> >> 3. To check slicing during compilation. It is possible? > > For example prohibit assigning on value to the types, not being base or > this type > >> 4. "scope" for classes to deprecate as superfluous >> >> >> In that case there will be problems? >> >>
Who agrees with me? There are still ideas as it is possible to solve this problem and not to destroy language?