Scribble at 2021-12-15 10:42:54 Last modified: 2021-12-15 13:45:19

プログラミング言語を解説する日本語のサイトというものは、現在だと6割くらいは書籍の(筆者の)宣伝を目的にした雑で不愉快なコンテンツが大半を占めていて、残りの3割がパソコン教室やオンライン講座の事業者が運営している教材みたいな体裁の(しかしこれも結局は雑な)コンテンツになっている。

まずはっきり言っておくが、パソコン教室の運営者とかセミナーの講師というのは、要するに現場から逃げ出した元会社員か、使い物にならなくてあぶれた元フリーランサーが多く、通俗書で有名な現役エンジニアを自称している結城浩氏は例外だからこそ目立つのだ。よって、皮肉なことに教えてる連中の大半こそ無能でシステム開発の実務をぜんぜん分かっていない、僕らのようなプロのエンジニアに言わせれば、教えられる側に匹敵するくらいの素人と言ってもいい。

ということで、最後の1割がプロの開発者や大学の教員が公開している、それなりに信用できて僕らのような技術者でも学ぶべきことがあるコンテンツということになる。この状況、つまりまともなコンテンツは1割もあれば良い方だという事実は、だいたいどの言語でも多くの実装事例が出てきてマスコミの話題になってくれば同じような比率になってくる。C でも Java でも Rust でも Python でも、それどころか Scheme や LISP のような教育機関だけで使われているような言語ですら、似たようなことが言える。確かに MIT Shceme を教えるパソコン教室はないと思うが、9割のコンテンツはクズだという事実に変わりはない。なぜなら、仮に商業目的のコンテンツではないとしても、やはり Scheme について書かれたウェブ・ページの多くは Scheme の処理系一式をどこからダウンロードして、制御構文がどうといった、初歩的な解説を繰り返すばかりだからだ。そこから先には殆ど話が展開しないので、僕はそういうページを書いている人たちの大多数は、実はその言語を使って商業レベルのシステムを構築するどころか、プライベートで何らかの〈動くもの〉を作った経験すらないのだろうと思っている。そういう経験がなくても、僕らのようにコンピュータ・サイエンスの学部レベルの知識や関連する数学の知識を独学でも身につけていれば、プログラミング言語の初等的な解説など幾らでも書けるからだ。いや、オンラインの公式マニュアルを読む英語力と一定の実務経験があれば、それらの知識すら不要かもしれない。

このようなわけで、C言語のような50年近くも前から使われているプログラミング言語についても、まともなコンテンツが現在でも若い人々によって少しずつ追加されているのは事実だが、それを上回るクズのようなウェブ・ページも(やはり C/C++ は現在でも人気があるか実装に使われているのだし)続々と増えている。かろうじてまともなコンテンツが生きながらえているのは、クズみたいなウェブ・ページを掲載するベンチャーや開発ベンダーが倒産・解散してサイトが消失するサイクルよりも、大学や個人のサイトで良質なコンテンツが運営者の事情で消えていくサイクルの方が長いからだ。9割のクズは常に新しく作られたり消えていくため、或る程度の分量を超えて比率が上昇していくわけでもない。そもそも、日本語のリソースを見ている限りで言えば、そんなにシステム開発に関わる文章を書けるか書こうとする人間なんて、この国に何万人もいないという理由もある。

これまで何冊かの Rust の教科書を読んでみて(日本語の解説書は1冊も手にしていないが、ざっと書店で眺めた限りでは、翻訳ではなくとも優れたものがあると思う)、初心者向けの雑で誰でも書けるレベルのウェブ・ページを増やすつもりはないにしても、やはり僕らのような技術者なり実務家の参考になるようなコンテンツを提供したいという意志はある。特に、Rust のように現在も仕様が変わったり拡張されてゆく途上にある言語については、僕も情報をずっとフォロー・アップしているので、そういう変更の履歴を紹介していかないと不親切ではあろう。そして、仕事に役立つ道具としてプライベートな用途での成果を上げていって、リスクの少ない用途から実務に採用してゆき、事例として紹介していこうと思っている。

スピードを重視し、更にコードそのものの改竄を防ぐという目的なら、Rust のような言語を使うのも一つの手段として保有しておくのがいい(もちろん同じ目的で Java を学んでもいい)。昔は、バナーを掲載する小さなプログラムを C で書いて某新聞社のサーバへ納品したこともあるが、そろそろ OS のカーネルそのものを C から Rust に替えるというプランが出てきているし、セキュリティを考慮すれば当然だろうとも思うので、Rust が今後の開発業務で選択肢から消えていくという予想は現在のところ持っていない。とは言え、Perl の実装事例が急速に減って誰も学ばまなくなるまでに、わずか5年くらいしかかかっていない。プログラミング言語の採用動向についても、それなりに衰退するのが速いという印象はあるため、過度に期待してはいけない。実際、この5年くらいの動向を見ても、Rust は人気の開発言語としてランキングでの順位が上がっているわけではないのだ。まだまだ、Lua とか Scala とか Dart のようなマイナー言語の一つというくらいの扱われ方でしかないのである。

でも、そういうマイナーな言語を丁寧に取り上げるのも大切な場合だってあるし、僕自身が好きな言語でもあるから、そのうち Rust については何らかのコンテンツを作って公開する予定だ。ああ、あと Forth も紹介したいという意欲が昔からあるのだけれど、こちらは全く趣味なので Rust より実現する可能性は低い。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook