Type Inference vs. Static/Dynamic Typing

Herb Sutter "Type Inference vs. Static/Dynamic Typing"の適当な訳です。

var/autoの使い方に関するヒントになるかと思ったら、var/autoと動的型付けを混同しちゃだめだぜ、というお話。本邦のブログ界隈ではこの手の混同は見なかった気がするけど。

…なんでそこからvariant/anyの話になるのかいまいち分からないんですが。

続きを読む

60進数

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2601.html
※めちゃくちゃ意訳

C++における60進数サポートの提案
Lawrence Crowl, crowl@google.com, Lawrence@Crowl.org


C++は8,10,16進数をサポートしているが、驚くべきことに60進数サポートがない。60進数は時間をあらわす基盤なのに…。
時刻を表すのに10進数だと時、分、秒でそれぞれ2文字ずつ、さらに間に分割記号が2つ要る。だが60進数なら3文字で済むし、分割記号も不要だ。字数が減って経済的。ぜひC++で直接サポートするべきだ。

問題は、60進数の各桁の数をどう表すか。16進数を拡張するのが自然だが、0〜9と英小文字では足りない。大文字も使えば足りるが…。だいたい基数記号("0x"のような)をつけてしまったら字数が増えて、経済的とは言えなくなってしまう。

実は、この問題は古代バビロニアの時代にとっくに解かれている。下手にASCII文字をこねくり回すくらいなら、歴史的に有効性が実証されているバビロニア楔形文字を使ったほうがいい。

というわけで、楔形文字を60進数リテラルとして採用することを提案する。

例えばは10×60+4×60+50+6、つまり10進数で896を意味する。

続きを読む

それで嫌いになられても

もう C++ なんて好きでもないし使いもしない理由。
この元ネタ"A Brief Introduction to Rvalue References"はArtimaに載る前にC++標準委員会に提出されていたものなんじゃないかと思います。
翻訳しようかと思ってググったら出てきたんで気づいたんですけどね。
で、まあ、専門家向けのリップサービス(?)を引用して「俺、だからこれ嫌いやねん」て言うのはどうなのよ、とか。

ただまあ、非専門家も知らずにすむかと言われると微妙なんだよなあ…。

記憶クラス指定子としてのautoの除去

あー、そっちを消したのか。
後方互換性にやたらこだわるC++にしては珍しい英断ですね。どこかの天才プログラマの方も少しは(ごくごく微量に)見直してくれるかもね :-p