書いて覚えるSwift入門

最終回 プログラミングの未来

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

現代プログラミングの基礎:イベントハンドラ

現代におけるプログラミングは,極論してしまえばイベントハンドラをUIに結わえていくという作業です。macOSではなく,OS Xよりさらに前のMacOSの時代,Macにはこれを直感的に体験できる,HyperCardというソフトウェアプラットフォームが標準搭載されていました図4,図5⁠。

図4 HyperCard

図4 HyperCard

図5 Hypertalkの編集画面

図5 Hypertalkの編集画面

HyperCardにおける「アプリ」は,プログラムとデータが渾然(こんぜん)一体となったスタックというファイルで,そのプログラミングはアイコンやボタンやテキストフィールドといったUI要素にHyperScriptと呼ばれるプログラミング言語でイベントハンドラを書くことです。感覚としてはプログラムを書いているというよりPower PointやKeynoteのスライドを作っている感じで,プログラミングというよりオーサリング(authoring)と呼ばれることが多いのもうなづけます。未体験という方はHyperCard Archiveにアクセスしてみてください。ブラウザ上でMacエミュレータを動かして体験できます。

UI要素にイベントハンドラを結わえるというのは,Webサイトにも酷似していますし,iOSのStoryboardも概念はまったく一緒です。SwiftUIはSwiftコードとGUIを行ったり来たりできますが,白黒がフルカラーに,解像度がRetina Displayに,HyperTalkがSwiftにそれぞれ進化しても,やっていることはクリソツです図6⁠。

図6 SwiftUIでの開発

図6 SwiftUIでの開発

アイコンやボタンを正確に配置するのは直指ではたしかに難しいですし,コードをソフトウェアキーボードや音声で入力するのは厳しい。しかしこれらはあくまで「今のところ」であって,将来もそうだとは言い切れない。ましてやiPad Proは端子もLightningからUSB-Cに代わり,Apple Pencilという正確無比なポインティングデバイスとキーボードが接続可能。OSもiOSからiPadOSへとフォークするということは,いよいよXcode for iPadが来るのでしょうか図7⁠。

図7 Xcode for iPadが来るのか?

図7 Xcode for iPadが来るのか?

型ではなくキー入力が不要という意味でのタイプレス言語としては,図8Scratchのような事例もすでにあります。そしてSwift Play grounds for iPadを見れば図9⁠,キー入力なしのSwiftプログラミングも不可能ではないように見えなくもありません。

図8 Scratchの開発画面

図8 Scratchの開発画面

図9 Swift Playgrounds for iPad

図9 Swift Playgrounds for iPad

変わるプログラミング言語,変わらないプログラム編集

ここまでプログラミングの手法として何が変わったかではなく何が変わらなかったかを見てきました。その結果明らかなのは,⁠文字列をキーボードで入力する」というスタイル。もう半世紀以上そのままです。せいぜい加わったのはUIアイテムの配置や指定にポインティングデバイスを利用することになったぐらいで,キーボードから呪文を唱えるという行為は,速度も容量も今の100万分の1だったころからまるで変わっていない。SwiftがObjective-Cを置き換え,Swift UIが登場した今もそこは半世紀前と同じ。ASCIIに収められない仮名,漢字,絵文字が使えるようになったのは小さくないけれど,やはり叩くのはキーボード……。

とはいえ脱キーボードは無理でも,省キーストロークにはSwiftは大いに貢献してはいます。型が静的なおかげか補完候補の表示はずっと高速かつスムーズなのです。しかし今のところ入力補完による快適性向上は物理キーボード入力では感じられても,仮想キーボードではあまり感じられない。遠からぬ将来,HoloLensやOculusなどのVRギアをつけたままプログラムを編集する機会も増えることを考えれば,そろそろプログラミングも脱キーボードに備えるべきだと思うのです。Swiftのスローガンどおり今後もSafeでFastであるだけではなく,Expressiveであり続けるためにも。

―と,ここまでキーボードで入力したところで筆ならぬキーボードを置くことにします。これまでご愛読ありがとうございました。

Software Design

本誌最新号をチェック!
Software Design 2020年11月号

2020年10月17日発売
B5判/176ページ
定価(本体1,220円+税)

  • 第1特集
    今さら聞けない認証・認可
    セキュアなIAMを実現するために覚えておきたいこと
  • 第2特集
    2時間でわかるFlutterモバイルアプリ開発
    プロダクトに使えるのか? あなたの疑問に答えます
  • 短期連載
    Linuxカーネルの最強トレースツール「eBPF」を体感
    【2】eBPFでトレーシングツールを作ろう
  • 特別付録
    めそ子が聞く!!
    あかり&ひさきステッカー

著者プロフィール

小飼弾(こがいだん)

1969年生まれ,東京都出身。元ライブドア取締役の肩書きよりも,最近はPokemon GOのガチトレーナーのほうが有名になりつつある……かもしれない永遠のエンジニアオヤジ。

活躍の場はIT業界だけでなく,サブカルからアカデミックまで多方面にわたり,ネットからの情報発信は気の向くまま毎日毎秒! https://twitter.com/dankogai,ニコニコチャンネルは,http://ch.nicovideo.jp/dankogai,blogはhttp://blog.livedoor.jp/dankogai/

当社刊行書籍は『小飼弾のアルファギークに逢ってきた』『小飼弾のコードなエッセイ』など。他にも著書多数。