あずんひの日

あずんひの色々を書き留めるブログ

今年のい・らすと振り返り~2022年の巻~

今年書いた「早めに深掘り」シリーズで作ったいらすとの解説?記事です。 深掘り記事のイラストはRustの新バージョンが公開される日の過去に起きた出来事を元に製作しています。

なおこの記事はRustとはほとんど関係ありませんのであしからず。

Rust 1.58(1/14)

format!系のマクロを、変数を直接参照してformat!("{x}")のように使えるようになったバージョンです。

「探査機ホイヘンス・プローブが土星の衛星タイタンに着陸した日」ということで、 土星に見立てたRustのロゴとタイタンとホイヘンス・プローブを描いて大きさを比較する画像に仕立てました(一応縮尺が合うようにサイズは測ってある)。 土星デカすぎ。

この探査機ホイヘンス・プローブは最も遠い天体に存在する人工物とされています。 地球とタイタンの距離は約18億キロメートルですから、光の速さでも100分は掛かるようです。 ホイヘンス・プローブ遠すぎ。

Rust 1.59(2/25)

定数ジェネリクスでデフォルト値を指定できるようになったり、let抜きで分割代入ができるようになったり、 インラインアセンブリが使えるようになったりしたバージョンです。

「映画『未知との遭遇』が日本で公開された日」ということで、 名作映画「未知との遭遇」で象徴的な曲?である「レミドドソ」の音階を、宇宙人ト音記号に、バージョン番号を拍子に、 またRustのロゴを音符に見立てた五線譜の画像に仕立てました。

Rust 1.60(4/8)

Cargoでfeaturesの指定が拡張されたり、コード網羅率(カバレッジ)が計測できるようになったりしたバージョンです。

「釈迦の誕生を祝う花まつりの日」ということで、 釈迦が生まれたときの姿を現した「誕生仏」と、その際に釈迦がしゃべった言葉である「天上天下唯我独尊」の一部をRustのロゴに差し替えた画像に仕立てました。

Rust 1.61(5/20)

会社を辞めた関係でこの記事から個人ブログに移行しています。

標準入出力におけるロック済みハンドルのライフタイムが'staticになったり、main関数の戻り力終了ステータスを返せるようになったりしたバージョンです。

成田国際空港が開港した日」ということで、成田エクスプレス空港を背景に、 成田空港の空港コードである「NRT」の一部をRustのロゴに差し替えた画像に仕立てました。

成田空港の建設と言えば三里塚闘争を始めとする、反対運動を展開する地元住民と機動隊との間に発生した闘争が有名です。 開港を急ぐ政府の強硬姿勢と地域固有の事情から激化し死者を幾人も出す程の社会問題になったこの闘争は、 長い歳月を掛けた結果冷戦も終結するなど社会情勢が大きく変化したこともあり、円卓会議の後政府が謝罪することで落ち着きを取り戻して行きます。

Rust 1.62(7/1)

列挙型に#[derive(Default)]を付けられるようになったり、一部OSでMutexの実装が高速化されたり、cargo addコマンドが追加されたりしたバージョンです。

「郵便番号制度がスタートした郵便番号記念日」ということで、当時の丸いポストと共に 当時の郵便番号が三桁であったことを利用して葉書の郵便番号部分にバージョン番号を入れ、切手部分にはRustのロゴを入れた画像に仕立てました。

当時から既に郵便番号の読み取り・仕分けは機械化されており、一日に2万件以上も仕分けることが出来たそうです。 また噂程度の話ではありますが、手紙には郵便番号と名前さえ書いてあれば住所がなくとも届けてくれることもあるそうです。

Rust 1.63(8/12)

スコープ限定スレッド(std::thread::scope)が使えるようになったり、Mutexなどのロック機構が定数文脈で生成できるようになったりしたバージョンです。

「最初の『PC』であるIBM 5150が発売された日」ということで、いらすとやにあった適当なPCのイラストを当時のPC風に編集し、 メーカーのロゴ風にRustのロゴを差し入れるように仕立てました。

最初のIBM PCであるIBM 5150 Personal Computerはその仕様をオープンアーキテクチャとして広く公開した結果 サードパーティーの(IBMBIOSを搭載した)互換機や周辺機器が続々発売されそのシェアを爆発的に伸ばします。 その後IBM PCIBM PC XT、IBM PC AT(及びPC/AT互換機)を経て現在のATX規格へとその血脈を受け継いでいます。

IBMにとって不運だったのは、このオープンアーキテクチャによって誕生した高性能な互換機によりIBMが後塵を拝してしまったことです。 その後IBMPC/ATの後継であるPS/2をリリースしますが、このアーキテクチャであるMCAはPC/AT以上に高額なロイヤリティもあってATほど普及せず、 IBMはそのシェアを致命的なまでに落として行きました。 なお、このあとIBMと同様にATX・USB・AGPPCIなど多くの仕様を(単独ないし共同で)無償で提供したことによってPC業界で絶対的な地位を築いたのがIntelです。

参考:PCエンサイクロペディア:本家IBM PCの歴史 @IT

Rust 1.64(9/23)

.await時にIntoFutureトレイトが使われるようになったり、Cargoでワークスペース共通の設定が持てるようになったりしたバージョンです。

FirefoxAndroidの初版公開日」ということで、FirefoxAndroidがどちらもRustを採用していることもあり、 「フィーリングカップル」風にFirefoxAndroidがRustを選んだ様子をイラストに仕立てました。 FirefoxAndroidの初版公開日が同じというのは驚きでした。

FirefoxAndroidどちらも10年以上C/C++で開発され続けている超巨大プロジェクトですが、 その中に割って入るRustの可搬性や機能性、安全性にはやはり目を見張るものがあります。

Rust 1.65(11/4)

GATsと呼ばれる関連型でのジェネリクスが使えるようになったり、letでの束縛時にelseを書けるようになったり、 名前付きブロックにより処理途中で抜けられるようになったりしたバージョンです。

「テレビドラマ『TRICK』の登場人物上田次郎の誕生日」と言うことで、 上田次郎の名著(迷著?)である「なぜベストを尽くさないのか」をもじって「なぜ『安全性に』ベストを尽くさないのか」としたイラストに仕立てました。 上田次郎役の阿部寛さんの代わりにローマ帝国初代皇帝のアウグストゥスを使っていますが、 映画「テルマエ・ロマエ」で阿部寛さんが演じているルシウスもまたローマ帝国人です。 阿部寛ローマ帝国人似合いすぎ問題。

Rust 1.66(12/16)

パターンで半開レンジ(..=Y)が使えるようになったり、core::hint::black_boxが使えるようになったりしたバージョンです。

「柴犬が天然記念物に指定された日」ということで、柴犬のネットミームである「Doge」をイメージし、 Rustのロゴを見る柴犬が片言の英語でRustの素晴らしさをつぶやくイラストに仕立てました。

2023年に向けて

元々会社にいた頃に空き時間(?)で始めた深掘りシリーズですが、 無職になった今も続けられているのはひとえに皆様からのご支援(Twitterはてブでの反応、そして何より活動支援)があってのものです。 2023年は多分職に就いてるとは思いますがこのシリーズは変わらず(多分個人ブログのまま)続けると思いますので、これからもどうぞごひいきに願います。