at the front―前線にて

最終回 今生きるプログラマーが,この仕事をあこがれのものにする

この記事を読むのに必要な時間:およそ 4 分

技術は消えても思想は継承される

というわけで,最近熱くなりつつあるプログラミング教育というジャンルを応援したいのですが,その性質的にさまざまな産業界側の需要と,数理的なアルゴリズムに基づく本質の両立に苦心する分野だともわかっていて,なかなか難しいとも思っています。プログラマーへの教材や教育工学の未発達や,プログラミング自体の進化の速さもあります。

個人的な意見としては,単に「ハッカー」を増やしたいだけなら,小中学生全員にRaspberry Pi注3を配って,初歩的なUNIXコマンドを教えて,あとはその中から素養がある人間が伸びるのを待つ,というマッチョな手法が有効なんじゃないかと思っているんですが,それだけだと社会全体のスループットの改善にはなりません。

また,プログラミングスクールが仕事の多い高水準側なものを教えがち,といった批判もあったりします。自分は高水準から入ること自体は否定はしないんですが,その高水準なフレームワークを使った結果,何を学んだか,という点こそが大事だと思っています。フレームワークは死んでもその思想は継承され,次世代のものは必ずその経験が反映されているはずです。今のプログラミングスクール出身者はそこの掘り下げが浅い,という不満があります。

今使われている言語やライブラリは必ず廃れます。賞味期限に差があるだけです。それはある種しかたがないことで,歴史の大きな視点では,アラン・チューリングが亡くなってから100年も経っておらず,1990年代のインターネットの商業利用開始から,たった30年しか経っていません。要は人類の歴史が足りていません。ビル・ゲイツ(Bill Gates⁠⁠,スティーブ・ウォズニアック(Steve Wozniak⁠⁠,アラン・ケイ(Alan Kay⁠⁠,ドナルド・クヌース(Donald Knuth)といった,すでに生ける伝説となっていて,そして語り継がれていくであろう方々も存命な時代です。

コンピュータと人間,その複雑性を整理するまでに,あと100年あっても足りないと思っています。それまでは発散と集約を繰り返し,その都度新しい概念,言語,ライブラリが生まれては消えていくことでしょう。今の時代にプログラマーになるということは,その変化を受け入れる覚悟をすることだと思います。プログラマー界隈ではよく言われるように,⁠その場にとどまるためには,全力で走り続けなければならない」⁠鏡の国のアリス⁠⁠,ルイス・キャロル(Lewis Carroll⁠⁠)というわけです。ある意味では,こんな刺激的な時代はないとも思っています。

とはいえ,天野氏や結城氏が言うように「流行りの技術は変わっても,その本質はなかなか変わらない」ということだと思いますし,中川氏や奥氏のような凄腕のプログラマーから学べるのは,⁠コンピュータサイエンスは一日にしてならず」ということだと思っています。

結城浩氏(第3回⁠⁠     松本勇気氏(第4回⁠⁠     奥一穂氏(第5回)

結城浩氏(第3回)松本勇気氏(第4回)奥一穂氏(第5回)

注3)
イギリス生まれの教育用シングルボードコンピュータ

基礎技術がなく,人材も活用されない日本

ここまでの「高度なコンピュータサイエンス/プログラミングスキルの現場適用の難しさ」という課題感を表明する理由なのですが,日本はコンピュータサイエンスの先進的な技術を,実務に転用しづらい環境があると思っています。それにはさまざまな理由があるのですが,主に受け入れ体制の不備で,結果として社会の全体の平均的なITリテラシの低さによって技術による社会の進歩が律速りっそく となってしまっている,という感覚があります。

ちょっと話がずれますが,筆者はSF小説が好きで,最近は中国の作家が話題になることが増えました。⁠あなたの人生の物語』注4で知られるテッド・チャン(Ted Chiang)のような中国系アメリカ人の作品はもともと話題になることが多かったのですが,ほかにもケン・リュウ(Ken Liu)『紙の動物園』注5⁠,劉慈欣の『三体』注6といった作家に共通しているのは,⁠テクノロジ賛美」⁠人間賛美」⁠未来を切り開く意思」といった要素だと思います。

これは1970年代の日本の高度成長期のSF,特に小松左京氏の作品と似た雰囲気を感じます。プログラマーとしてはやはりテクノロジが肯定されるとうれしいわけで,ともあれ,あけっぴろげに言うと好景気だとテクノロジの恩恵が大きい,というやつなんですけどね。

翻って,日本は平成不況の「負け癖」から,ITやテクノロジの進化は相対的に遅れてしまうもの,うまくいっていた伝統を破壊するもの,といった負のイメージが先行してしまっているというのが,見渡した際の個人的な印象です。平成不況 と同時期に全世界的にITの社会適用が進んだので,財布の紐が固くなった時期ゆえに,ほかの先進国と比べてITへの投資が控えめだった事情もあるでしょう。結果として,情報工学の基礎分野が遅れ,産業進出が遅れ,またその周辺の技術者の立場が向上しない,という状況があるのではないでしょうか。

それらの問題は,部分的には時間と外圧が解決してくれました。Apple,Google,Microsoft,Amazonといったテクノロジ企業が国内から生まれない危機感によって,多少風向きが変わってきた,という気配を感じています。とはいえ,日本の全体的なIT音痴っぷりは,本誌の読者やプログラマーのみなさんには周知のとおりです。

そのような出遅れも相まって,残念ながら,日本のITは今使われているWeb,クラウド,AIなどの分野で,その基礎技術を握ってはいません。⁠良いプログラムはたいていサンフランシスコから来る」です。少なくともWeb技術に関してはそうです。最近は中国も勢いがあり,独自の進化を遂げています。

基盤を握っていない結果,基礎技術を使う産業が弱く,使われないから要求されない,鶏と卵の関係があります。大学で専門的にコンピュータサイエンスを学んだ人材がそれを活かす場所がない,という状況が長く続いていました。

最近になってようやく,ディープラーニングやブロックチェーンはコンピュータサイエンスの教養を要求されるテーマで,特にAI技術の流行はそのような人たちが報われる場所ができて,それ自体は良かったという気持ちがあるのですが,ただAIといってもコンピュータサイエンス全体から見ると一部であって,そしてそのAIも実体以上に膨れ上がっている,バブリーな雰囲気はあります。

注4)
浅倉久志ほか訳,早川書房,2003年
注5)
古沢嘉通訳,早川書房,2017年
注6)
立原透耶監修/大森望ほか訳,早川書房,2019年

コードを書く,そしてコードを書く

僕は新しい技術が好きなので,GitHubの獲得スター数ランキングであるTrending Repositoriesをよく眺めているのですが,ここで日本発/日本人作者のOSSOpen Source Softwareを見るのはまれです。たいてい英語と,最近は数割が中国語です。

もちろんGitHubがプログラミングの世界のすべてではありませんが,ある種の縮図ではあります。それに対して危機感を持っている人がどれだけいるでしょうか。自分がそれに対して有意義な解を示せている,という実感も恥ずかしながら正直弱いのですが,それは業界全体で持つべき課題感だと思っています。

結局,プログラマー個々人でできることは,とても単純なことの繰り返しだとも思っています。それすなわち,コードを書く。わからない点を分解する。勉強する。改善する。意見を表明する。批判に耳を傾けて調整を繰り返す。議論をする。そしてコードを書く。それぞれが小さく行うものだとしても,そのすべてが歴史の糧となって,人類を次のステージに進めるための原動力になると思っています。

これらをもって,この連載の締めとさせていただきます。1年近くありがとうございました。それではまた会う日まで。

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.115

2020年2月22日発売
B5判/168ページ
定価(本体1,480円+税)
ISBN978-4-297-11187-8

  • 特集1 
    競技プログラミングの過去問で学ぶアルゴリズム
  • 特集2
    iOS 13徹底活用
  • 特集3
    小一時間でゲームを作る

著者プロフィール

竹馬光太郎(ちくばこうたろう)

フリーランスで先端技術の導入などを行う。

GitHub:mizchi
Twitter:@mizchi
URL:https://mizchi.hatenablog.com/