本連載を開始して、2年になりました。ご愛読ありがとうございます。
●アイデアの生まれた場所が開発室になる
「パソコン」という言葉が一般ユーザーに広まり始めて30年、ハードウェアは格段に進化しました。その昔、筆者が教科書以外で買った最初のプログラミング入門書「マイコン ソフトウェア入門 初めての人のためのBASIC(古賀義亮著)ブルーバックス」(昭和57年刊第9刷。初版は昭和54年)の「附録」には、当時発売中だったパーソナル・マイクロ・コンピューターのリストが掲載されています。
RAMは16KB〜256KB、ROMが4〜32KB、ディスプレイは40文字〜80文字×16〜25行、記憶装置としてカセット・テープが標準装備、APPLE IIやSORDのようにミニ・フロッピーディスクが使える機種もあります。「カラーディスプレイ」が、当時はPRポイントでした。NEC PC-8000シリーズは、RAMが16KB実装、32KB拡張可となっています。
それが今ではどうでしょう。サイズ、速度、容量、通信、そしてセンサー。どれをとっても、桁違いです。同書の「あとがきにかえて」の「パーソナル・マイコンはどこまでのびるか」には、次のように書かれています。
──現在のところ,パーソナル・マイコンの計算速度は、まさに桁違いに大型
コンピューターより遅い。これも半導体の製造技術が日進月歩である今日、
パーソナル・マイコンの計算速度も速くなって、大型コンピューターに近
づくことは間違いない。
●アイデアの生まれた場所が開発室になる
「パソコン」という言葉が一般ユーザーに広まり始めて30年、ハードウェアは格段に進化しました。その昔、筆者が教科書以外で買った最初のプログラミング入門書「マイコン ソフトウェア入門 初めての人のためのBASIC(古賀義亮著)ブルーバックス」(昭和57年刊第9刷。初版は昭和54年)の「附録」には、当時発売中だったパーソナル・マイクロ・コンピューターのリストが掲載されています。
RAMは16KB〜256KB、ROMが4〜32KB、ディスプレイは40文字〜80文字×16〜25行、記憶装置としてカセット・テープが標準装備、APPLE IIやSORDのようにミニ・フロッピーディスクが使える機種もあります。「カラーディスプレイ」が、当時はPRポイントでした。NEC PC-8000シリーズは、RAMが16KB実装、32KB拡張可となっています。
それが今ではどうでしょう。サイズ、速度、容量、通信、そしてセンサー。どれをとっても、桁違いです。同書の「あとがきにかえて」の「パーソナル・マイコンはどこまでのびるか」には、次のように書かれています。
──現在のところ,パーソナル・マイコンの計算速度は、まさに桁違いに大型
コンピューターより遅い。これも半導体の製造技術が日進月歩である今日、
パーソナル・マイコンの計算速度も速くなって、大型コンピューターに近
づくことは間違いない。
現在のPCは、古賀氏の綴った状況に向かって日々進化しています。Windows 8の驚愕すべき起動速度、さらにはMicrosoft Surfaceの優れた携帯性(※1)。アイデアを思いついたら、その場でアプリを開発できる状況です。
スマートフォンとPCは近づきあい、やがてウェアラブルPCと、どこでもスクリーンは、完全に開発場所を選ばない状況をもたらすでしょう(※2)。
このような進化は、提供されるアプリを使うだけの、プログラミングには縁のなかった一般エンド・ユーザーをプログラマ化します。
会議室でブレーンストーミングしながら、ネットワークを介して打ち合わせしながら、ソーシャルメディアでコミュニケーションしながら、居酒屋で仲間と飲みながら、家族と食卓に向かいながら、会話の中のヒントやプランをその場で即座に形にする、気軽な開発スタイルが見られるようになるでしょう。それがカフェなら、片手にコーヒーカップを持ち、利き手で画面にタッチしながら。
そして、一般ユーザーが直感でサクッと作った初めてのアプリが、プロのソフトウェア・エンジニアが丹精込めて仕上げたアプリより、多くダウンロードされることも考えられます。
女子高生が化粧ポーチの奥から、マリメッコかシビラかというような色彩にデコられた板(PC)を取り出し、鮮やかなショート・ネイルの指で数分弾いたたかと思うと、すぐに一本のアプリが完成し、公開するや世界中の女子高生がダウンロード、といったニュースがネット上を賑わすことも、想像に難くありません。
●中の人と外の人の役割分担が変わる
ハードウェアの進化は、開発者層だけでなく、開発手法も変えつつあります。
斬新な処理でない限り、1からロジックを考えなくとも、既存の処理を組み合わせてアレンジするだけで、アプリが完成する──それもまたプログラミングです。
たとえば料理において、スパイスを集めて挽くところから始めるのではなく、市販のカレールーを使ったとしても、我々はそれを料理と呼ぶように、市販品の特性や、食材との組み合わせ方、アレンジの方法を知って、食べた人が唸るものに仕上げることも、ひとつの評価すべきスキルです。(※3)
メーカー側は、上等のツール(鍋)と、コントロール(ルー)と、テンプレート(基本のレシピ)と、サンプルコード(応用レシピ)を提供してくれます。そして、メーカーあるいはその周辺の研究開発者たちが、業務用の製品を作ってくれます。メーカーの中の人が行っている作業まで担う必要はなくなります。
メーカーの外の人には、主に、処理の情報を収集し、組み合わせ、応用方法を考える作業がもとめられるようになります。提供されるものをアレンジしてふるまったり、自分なりのコツ(Tips)をブログで公開したり、業務用製品を使いつつ、それにふさわしい場を提供する(たとえばレストラン経営者のような)役割を担うようになります。
開発者が増えると、類似のアイデアのアプリがいくつも公開されるようになります。ダウンロードしてもらうには先行して公開したほうがよいでしょうから、開発の速度も重視しなければなりません。
料理において、圧力鍋で調理時間を短縮したり、途中まで作った状態で冷凍したものを随時解凍して利用したり、一工程を保温鍋に任せて次の作業の段取りをするように、開発時間を短縮し、いちはやく公開しなければなりません。
さらには、ありあわせの食材で素早く作る臨機応変な姿勢も持たなければなりません。それは、手持ちの素材で賄ってアプリを作り上げる姿勢です。
つまり、言語仕様を理解し、設計を行ったうえでロジックを積み上げる技術を獲得するよりも先に、利用できるテンプレートやサンプルの情報を多数持ち、「この方法で、この動作が実現できているのであれば、目的の動作を実現するには、同じ方法が使えるはず」と目星をつけて試し、迅速に形にして、矢継ぎ早に公開していく機動力が重要になります。それには、次の五つのスキルが必要になります。
(1)新しいデバイスや情報に興味を持つ、好奇心。
(2)ソーシャルメディアなどで技術情報を共有したり、開発物を告知できる
友人を作る積極性。
(3)多数の情報の中から、自分が作りたいアプリに直接役立つ、即効性のあ
る情報をかぎ分ける嗅覚。
(4)頭の中で完成形を作ったうえでマシンに向かうよりも、思いついたら即
コーディングする、気軽さ。
(5)演繹的にロジックを積み上げるよりも、頻出するフレーズを組み合わせ
て試してみる、帰納的な手法。
●アイデアひとつで、誰でも今すぐプログラマ
従来、プログラマという職業は、エンジニアの土台の上に位置するソフトウェア・エンジニアの一種だったはずです。
しかし、誰でも開発する時代になると、「プログラマならばソフトウェア・エンジニアである」は真であるとは限りません。
筆者がここ数年の間に読んだ本の中で良書だと思った一冊に、「プログラマ現役続行(柴田芳樹著、技評SE新書)」があります。筆者は、この本を「エンジニア現役続行」として読みました。まさしく、IT以外の、重厚長大系のエンジニアにも当てはまる内容だからです。
生命にかかわる医療系のアプリや、インフラの生命線たるアプリの開発にあたるプログラマは、この本に書かれているように、「自分が作成したソースコードを理解して説明できる(P.68)」必要があると思います。エンジニアリングを理解し、エンジニア精神を持っていなければなりません。同書は、そのプロフェッショナル魂を持ち続けるための一冊です。
が、そういった、同書のターゲットであろう「プログラマ」とは異なる、同じプログラマという言葉で表されるけれどもソフトウェア・エンジニアではない、新しいタイプのプログラマが増えています。
彼らには、新しい役割があります。その役割とは、生活基盤を支えるというよりも、生活を彩り、より快適にすることです。生活や業務の中でのちょっとした問題を解決するアプリや、エンターテインメント性のある小品をすばやく開発し、飽きやすく倦みやすいヒトというものに、新鮮な驚きと楽しみと利便性を提供し続けることです。
料理を作るにあたって、食とは何かを知り、栄養学の知識を身に着けてからでなければ、包丁を握ってはならないなどという決まりなどないように、エンジニアリングの現場に身を置いた経験がなければ、あるいは、ソフトウェア工学を修めていなければ、アプリを開発してはならないなどという決まりはありません。
アプリを一本でも公開し、一本でもダウンロードされたなら、その発行者は「プログラマ」と呼ばれるでしょう(当人が自分をプログラマだと思うかどうかは別として)。
文系出身者でも、子供でも、高齢者でも、アイデアひとつで誰でも今すぐプログラマになれる可能性がある、そういう時代になったのです。
●ソフトウェア・エンジニアにもとめられる、守備範囲の拡大
これまで筆者は、技術書や記事を書くにあたって、「敷居は低く、壁は高く」を旨として、表現を使い分けてきました。技術に関心を持つ人々を増やすために、親しみやすい書き方を工夫し、一方で、プロを目指す人々には仕様書ライクな書き方を心がけてきました。
しかし、既に壁は低くなりました。低くなった壁は簡単に越えられるので、それで口を糊しようとする人口が増えます。それは内製化や知り合いへの安価な依頼につながることもあります。
メーカーの中の人や学術機関の研究者でない限り、ソフトウェア・エンジニアであるプログラマの中には、この影響を受ける人が何割かはいるでしょう。それらの人々は、技術力の高低には関係なく、作業の守備範囲を拡大する必要があるかもしれません。たとえば次のようにです。
(1)前述の五つのスキルを磨き、エンド・ユーザー側のコミュニティのリー
ダー的な役割を担う。
(2)企画デザインや素材制作まで手掛け、アイデアとビジュアルとサウンド
での差別化を狙う。
(3)開発実務を行う傍ら、人口の多い団塊世代にプログラミングを指導する
講座や、幼児や小学生の原石を見抜いて育てる、教育者の役割も担う。
(4)メーカーとエンド・ユーザーの間にあって、メーカーが提供していない
サンプルやテンプレートを開発して、エンド・ユーザーの開発を支援
する。
(5)ソフトウェア工学やハードウェアの知識がなければ実装不可能なテーマ
にポイントを絞って、しぶいアプリを開発する。
これから先、メーカーの提供する商品はますます充実し、便利になり、進化した計算機は、開発者の創造的な作業の一部まで代行するようになります。本連載第第21回「計算機製アートの席巻する日」で紹介した事例のように、計算機は作家を代行するまでになっています(※4)。
音楽においては、「ぼかりす」のように、計算機とヒトのスキルを融合する試みも既に始まっています(※5)
これから一〜二年、ヒトと計算機の担う役割が変わるなか、仕事も人生の喜怒哀楽も、大きく変わります。旧来のソフトウェア・エンジニアにとっては、リスクをチャンスに変えなければならない厳しい時代になるでしょう。
その一方で、一般PCユーザーにとっては、自分では気づいていなかった開発者としての潜在能力を花開かせる、素晴らしい時代となるに違いありません。
※1 Microsoft Surface with Windows 8 Pro のスペックは、CPU: Intel Core i5、ストレージ: 64GB, 128GB で、ご存知の通り、薄くて軽量です。
< http://www.microsoft.com/Surface/en-US/surface-with-windows-8-pro/specifications
>
※2 本連載第18回「コントローラー化する、携帯デバイス」
< https://bn.dgcr.com/archives/20120521140100.html
> 参照。
なお、本連載中で述べていることは、マイクロソフト社の公式見解ではありません。筆者は Microsoft MVP ですが、記事の内容は、筆者個人の考えを述べているにすぎません。
※3 この現象は、なにもアプリケーション開発に限ったことではなく、デザインの世界では、一足早く同じ状況になっています。
顧客の要望を聞きながら1から企画して1から素材を作り時間をかけて形にする人も、市販素材をうまく選択してレイアウトして数時間で作る人も、どちらもデザイナーであり、受注条件に応じて、二つの方法が使い分けられることもあります。
※4 作家自体を計算機に代行させる瀬名秀明氏のこころみについての報道も参照してください。
「コンピュータは星新一を超えられるか」 人工知能でショートショート自動生成、プロジェクトが始動(ITmedia ニュース)
< http://www.itmedia.co.jp/news/articles/1209/06/news112.html
>
音楽では、ピアプロ作品を解析して楽曲を検索できる「Songle」< http://songle.jp/
> を見れば、計算機の能力を体験できるでしょう。精度が高まれば高まるほど、必然の出会いを演出することが課題になるかもしれません。
筆者ブログの「必然の出会いをいかに演出するか。ひとりのユーザーとして、ネットショップに望むこと。」も参照。
< http://blogs.itmedia.co.jp/seindesign/2010/12/post-6924.html
>
※5 「ぼかりす」は、ヤマハ ソフトウェアによる、歌い方をまねて人間らしく自然な歌声合成を可能にするソフト「VOCALOID3 Job Plugin VocaListener(ボーカリスナー)」。ボカロ楽曲における歌唱の精度向上が期待される。
< http://jp.yamaha.com/news_release/2012/12091801.html
>
■Windows デベロッパー センター
< http://msdn.microsoft.com/ja-jp/windows/
>
■Windows Phone 8
< http://www.windowsphone.com/ja-jp
>
■Microsoft Surface
< http://www.microsoft.com/surface/en-US
>
--------------------------------------------
◆7曲入りアルバム「イメジェリの地平 feat.巡音ルカ」
1980年代前半に書いた全7曲。Amazon MP3、iTunes で発売中。
< http://itunes.apple.com/jp/album/out-imagery-feat.-megurine/id555002559
>
・試聴 PV
< >
--------------------------------------------
【薬師寺聖/個人事業所 セイザインデザイン】
個人事業所 < http://www.seindesign.net/
>
< infosei@seindesign.net >
絵・音・詩・文・コードを扱うフリーのクリエーター、思索家。エンジニアリング会社を経てデザイン事務所に勤務後、XML1.0勧告翌月に退職して開業。科学技術や医療・福祉分野のXML案件を手がけながら、書籍や記事を多数執筆(PROJECT KySS名義)。現在は、受託業務から独自開発にシフト中。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2013)