We've all come to terms with the fact that the models that in
glitzy magazines aren't really themselves. Aggressive Photoshop embellishments make
them look bigger than life. And yet, it appears that in many other areas, our
senses are being artistically manipulated. We simply don't know it. Where do
you draw the line between legit cosmetics and sheer fraud?
Yves Smith, the nom de plume of the creator of Naked Capitalism and one of the most
savvy and respected members of the blogosphere. In professional life Yves is
known as Susan Webber. Yves recently gave an interview to an Israeli financial
newspaper in which she claims that a federal team unofficially called "the
plunge protection team" is manipulating the stocks on Wall Street.
The much-discussed
software development kit for the upcoming iPhone OS 4.0 says that native
applications must be "originally written" in Objective C, C, or C++",
forbidding developers from using any sort of "translation or compatibility
layer." This legalese seems to rule out just about anything you can think
of -- translating an application written in any other language to C++. However,
this stern interpretation is probably exaggerated. Besides, when you consider the outcry and criticism with which Apple's license was greeted, you can't help but wondering where all these freedom of expression activists were when Sun -- and later Microsoft and Google -- imposed similar draconian restrictions on developers.
On 2nd December Bjarne Stroustrup delivered a talk about the standardization process of C++0x at the Stevens institute. Here some of the key points from his talk.
In August I dedicated a series to the debate about C++0x attributes. I believe that it covered the subject in a balanced and detailed way, but I keep getting complaints from C++ users who don't like attributes for various reasons. Here's a recent email I received from a Polish C++ programmer. While it doesn't represent my opinion about attributes -- I'm rather neutral about this feature and consider it a "solution waiting for a problem" -- but it suggests that attributes are still a highly controversial issue that will haunt C++ for a long time. The email is quoted here with minor edits that and as usual, with all private details removed.
Almost a year ago, I posted here The Web 2.0 Guy I Ain't. People wonder whether I still resist all those Web 2.0 features and technologies at the end of 2009.
Operator
sizeof and typedef are among the first features
that new language designers omit from their new born baby with curly braces to
make a point: "this isn't yet another C++ clone". We're lucky to have
them in C and C++, though.
People ask me for my opinion about attributes. Unlike with
concepts (and several other harmful features that I've criticized before), I'm
quite neutral about attributes. I don't think they're the best feature of C++0x
nor are they the most sought-after feature but they certainly have the
potential of solving certain programming issues that have hitherto been too loosely
defined in the Standard, e.g., alignment.
A lot has been said and written about the C++ standards
committee decision to remove concepts from C++0x. I was among the first to
report it on Informit
and on other sites but
recently several other independent accounts have been posted. "What
happened in Frankfurt" by Douglas Gregor is one of the best reports
about this issue because Gregor downplay or hide the disagreements and
technical problems that arose prior to the decision to remove concepts.
With all due modesty, I believe that the first article to
recognize the potential of local classes in C++ was a C++ 10 Minute Solution from
2004 which introduced the "disposable classes" idiom. Prior to that
article, local classes were merely a recondite curiosity in the C++98 standard.
What's so special about local classes then? Local classes have served C++ twice: in refuting the
claim that C++ needed to import finally
and later, in the design of C++09 lambdas.
Not many programming languages support three storage types;
even among the ones that do, very few allow the programmer to control precisely
which type of storage will be used, for every variable and object. This
diversity comes at a price: C++ memory management is hard to teach and learn,
and it imposes more responsibility on the shoulders of the programmer. But this
storage types diversity is also one of C++'s strengths. Without this diversity
C++ wouldn't be C++ -- the C++ I like, that is.