前の10年がびっくりするほど大した事無かったので、次の10年が同じノリなのか、それとも次の10年は違うぜ、と思うかで大きく分かれそうですね。 せっかくなので自分はすごい違うぜ、という方向で行ってみる。
1. 「独自の動作メカニズム」を持ったタンパク質を合成するようになる
最近生物の勉強がマイブームだったので、まずは生物とプログラムの融合的な分野から。
プロセッサはナノスケールでいろいろやれるようになってきたので、 次はタンパク質まわりだろう、と思っている。が、10年では汎用のマシンが出来る所までは行かないと思う。
遠い将来では合成したタンパク質を動かす「ソフトウェア」を作る日が来るんじゃないか、と思っているが、 10年ではそのだいぶ手前の、ハードウェア屋が望む動作を元にタンパク質の設計をしてそれを作る、くらいの段階なのでは無いか。
タンパク質自体は別に現時点でも合成出来ているけれど、現状はメカニズム自体は自然界にある物を少し修正したくらいで、 例えばキネシンのような「歩く」仕組みやミトコンドリアのF型ATPaseなどのように「回転する」というような構造と同じようなレベルで、 新たな動作のメカニズムを設計して実装する事は出来ていない、という認識でいる。
10年後はいくつかの人間がいろいろな用途に使いやすい駆動メカニズムが開発されて、 ハードウェアの設計のような形で、ナノスケールの動作について設計をして実装するようなあたりまで行くんじゃないか。 ただしその動きはハードコードされた性質の動きとなる。
そして今後の10年で作れるようになった動くハードを、その次の10年で「動かす」ソフトウェアをプログラミングしていっていろいろやれるようになる!
2. タンパク質合成のプログラム言語が生まれてその上のソフトウェアが書かれる
1番目はハードウェアで2番目はソフトウェアの進歩の話。
制限酵素などの条件指定や、既存のタンパク質のアクティブサイトの組み合わせなどが複雑化していき、 一段上の抽象度で制約を記述してコドン配列に落とすようなプログラム言語が生まれて、 その上のプログラミングが実用化される。
10年では完全に自由にタンパク質を設計する所までは行かないので、1と2は別々の道を歩む。 ソフトウェアは既存の構成要素の組み合わせの複雑化からプログラム言語が生まれる、という流れを予想。 あくまで既存の構成要素を組み合わせるだけなので1のような新しい機構を作るという所は行えない。
現時点でも簡単な組み合わせなどをcDNAライブラリから組み合わせて手動で作る事は行われているが、 次の10年ではこの組み合わせが複雑になりすぎて、 一番下のレベルで全てを人間が把握するのが困難になっていく結果、 「高級言語」に相当するなにかが生まれて、その上でのプログラミングが実用化されて、 目的のタンパク質を生み出すのに一般的な手法となる、と予想。
3. ディスプレイのないコイン型のデバイスがスマホの30%くらいのシェアになる
画面がある路線ではスマホから大きく変わらないかな、と思うので、画面が無い系が発展するんじゃないかなぁ、と予想。
音と振動くらいでいろいろな事をさせられるデバイスで、今のスマホアプリ開発のように一般の開発者がユーザーとしてアプリ作って入れてなにかやれるような。 今の車の鍵みたいな感じのデバイス。
インターフェースは音声にしたい所だけど、バッテリはそれほど大きな革新は無いと予想するので、 スピーカー等は入れられないかなぁ。 という事で音声や画面は必要に応じて外部接続するような感じを想定。
ただ完全にすべてのデバイスが音声インターフェースにはならずに、既存のスマホやPCなどはそのまま残る。 個人利用としては結局スマホの方が主流で役割分担がされる程度。
4. プラットフォームになるバージョン管理システムが登場して主流になる
gitを発展させたような物として、画像だとか動画だとかのバイナリデータをもっといろいろ扱えるような基盤となるソフトウェアが生まれて、 その上で組織やユーザーに合わせた対応をするようなプログラミングが生まれて普及する。
バージョン管理は次の10年で、全く新しい物が出うる気がするけれど、どうでしょう?
5. Spec#的な制約条件の記述が流行る
プログラム言語としては、APIの制約条件を記述する事が出来る機能が流行ると予想。 IDEは制約条件を解釈して賢く振る舞う。
型に対する制約を記述する言語が多くの言語に組み込まれると予想。
IDEの発展が行き詰まって、それを乗り越える為にプログラマ側がIDEに情報を提供するような作業が増えるんじゃないかなぁ、と。
6. ネット上のお絵かき人口の80%がペン付きタブレットで絵を描くようになる
ペンはすべての人が使うデバイスでは無いままだが、 お絵かきなどの分野ではタブレットが主流になる。
お絵かきはいまだにWindowsのPCとかが強いのだけど、この状況が早く終わってくれないかなぁ、と思い始めてはや10年弱。 次の10年こそは!
これは他の項目に比べると穏当ですね。
7. MSがLinuxの上のGUI環境を作ってそれがWindowsの後継になると宣言
よりクラウドとの親和性を高めるためにさらにLinuxに投資する結果、waylandとは違うWin32と類似のAPIを持つGUI環境を作る、という事が起きないかなぁ。 10年だと今のWindows 11はまだ現役だろうからもし作ったとしても完全に移行という感じでは無く、 今後移行すると宣言するくらいの段階じゃないか。
8. コード生成が主体のプログラム環境が生まれて、主要なプログラム言語の一つになる
インテリセンスの延長で関数生成くらいされるような環境で、 プログラマは生成された関数を変更したり、複数の生成候補から選んだり、という事をする、 というのがプログラミングであるというようなものが出来るんじゃないか。
何をヒントに関数を生成するのかは分からないけれど、 とにかくコーディングというのが生成した物をどうこうする、というふうに変わるようなプログラム環境が生まれると予想。
9. web上の個人の投稿が、特定企業のサービスでなく個人の所有の度合いが増える
現状のSNSなどの投稿はサービスを運営している会社が所有しているが、 そうした各サービスが囲い込む事の問題が表面化していき、 揺り戻しとして各自がデータを持つものが個人発信の主流になる。
SNSの次のなにかは、現在のgithub pagesなどのように、データ自体は企業が持ち続けるけれど、 そのデータはプレーンなファイルでよそに持っていくのも簡単、という形の物になるんじゃないか。 あくまで個人が所有するデータを企業がホストするだけ、という形で実現されるなにかが個人の発信の中心となる。
完全にただの私の願望です。
10. なぜかC++のシェアがあまり落ちない
なんとなく人類は次の10年でもC++を使っているんじゃないか…