ヴィジュアル、サウンド、テキスト、コードの間を彷徨いながら、感じたこと考えたことを綴ります。

ハードウェアの進化で変わる開発スタイル ~メルマガ連載記事の転載 (2012年11月19日配信分)

»

この記事は、メルマガ「デジタル・クリエイターズ」に月1回連載中の「データ・デザインの地平」からの転載です。

連載 「データ・デザインの地平」 第24回 ハードウェアの進化で変わる開発スタイル

アイデアの生まれた場所が開発室になる

「パソコン」という言葉が一般ユーザーに広まり始めて30年、ハードウェアは格段に進化しました。
その昔、筆者が教科書以外で買った最初のプログラミング入門書「マイコン ソフトウェア入門 初めての人のためのBASIC(古賀義亮 著)ブルーバックス」(昭和57年刊第9刷。初版は昭和54年)の「附録」には、当時発売中だったパーソナル・マイクロ・コンピューターのリストが掲載されています。

RAM は 16KB~256KB、ROM が 4~32KB、ディスプレイは 40文字~80文字×16~25行、記憶装置としてカセット・テープが標準装備、APPLE Ⅱ や SORD のようにミニ・フロッピーディスクが使える機種もあります。「カラーディスプレイ」が、当時は PR ポイントでした。NEC PC-8000シリーズは、RAM が 16KB 実装、32KB 拡張可となっています。

それが今ではどうでしょう。
サイズ、速度、容量、通信、そしてセンサー。どれをとっても、桁違いです。
同書の「あとがきにかえて」の「パーソナル・マイコンはどこまでのびるか」には、次のように書かれています。
―――現在のところ,パーソナル・マイコンの計算速度は,まさに桁違いに大型コンピューターより遅い。これも半導体の製造技術が日進月歩である今日,パーソナル・マイコンの計算速度も速くなって,大型コンピューターに近づくことは間違いない。―――

現在の PC は、古賀氏の綴った状況に向かって日々進化しています。
Windows 8 の驚愕すべき起動速度、さらには Microsoft Surface の優れた携帯性。アイデアを思いついたら、その場でアプリを開発できる環境が整ってきました。
スマートフォンと PC は近づきあい、やがてウェアラブル PC とどこでもスクリーンは、完全に開発場所を選ばない状況をもたらすでしょう(※1)。

このような進化は、提供されるアプリを使うだけの、プログラミングには縁のなかった一般エンド・ユーザーをプログラマ化します。
会議室でブレーンストーミングしながら、ネットワークを介して打ち合わせしながら、ソーシャルメディアでコミュニケーションしながら、居酒屋で仲間と飲みながら、家族と食卓に向かいながら、会話の中のヒントやプランをその場で即座に形にする、気軽な開発スタイルが見られるようになるでしょう。それがカフェなら、片手にコーヒーカップを持ち、利き手で画面にタッチしながら。

そして、一般ユーザーが直感でサクッと作った初めてのアプリが、プロのソフトウェア・エンジニアが丹精込めて仕上げたアプリより、多くダウンロードされることも考えられます。
女子高生が化粧ポーチの奥から、マリメッコかシビラかというような色彩にデコられた板(PC)を取り出し、鮮やかなショート・ネイルの指で数分弾いたたかと思うと、すぐに 1本のアプリが完成し、公開するや世界中の女子高生がダウンロード、といったニュースがネット上を賑わすことも、想像に難くありません。

中の人と外の人の役割分担が変わる

ハードウェアの進化は、開発者層だけでなく、開発手法も変えつつあります。

斬新な処理でない限り、1からロジックを考えなくとも、既存の処理を組み合わせてアレンジするだけでアプリが完成する―――それもまたプログラミングです。
たとえば料理において、スパイスを集めて挽くところから始めるのではなく、市販のカレールーを使ったとしても、我々はそれを料理と呼ぶように、市販品の特性や、食材との組み合わせ方、アレンジの方法を知って、食べた人が唸るものに仕上げることも、ひとつの評価すべきスキルです。(※2

メーカー側は、上等のツール(鍋)と、コントロール(ルー)と、テンプレート(基本のレシピ)と、サンプルコード(応用レシピ)を提供してくれます。そして、メーカーあるいはその周辺の研究開発者たちが、業務用の製品を作ってくれます。

メーカーの中の人が行っている作業まで担う必要はなくなります。
メーカーの外の人には、主に、処理の情報を収集し、組み合わせ、応用方法を考える作業がもとめられるようになります。提供されるものをアレンジしてふるまったり、自分なりのコツ(Tips)をブログで公開したり、業務用製品を使いつつ、それにふさわしい場を提供する(たとえばレストラン経営者のような)役割を担うようになります。

開発者が増えると、類似のアイデアのアプリがいくつも公開されるようになります。ダウンロードしてもらうには先行して公開したほうがよいでしょうから、開発の速度も重視しなければなりません。
料理において、圧力鍋で調理時間を短縮したり、途中まで作った状態で冷凍したものを随時解凍して利用したり、一工程を保温鍋に任せて次の作業の段取りをするように、開発時間を短縮し、いちはやく公開しなければなりません。
さらには、ありあわせの食材で素早く作る臨機応変な姿勢も持たなければなりません。それは、手持ちの素材で賄ってアプリを作り上げる姿勢です。

つまり、言語仕様を理解し、設計を行ったうえでロジックを積み上げる技術を獲得するよりも先に、利用できるテンプレートやサンプルの情報を多数持ち、「この方法で、この動作が実現できているのであれば、目的の動作を実現するには、同じ方法が使えるはず」と目星をつけて試し、迅速に形にして、矢継ぎ早に公開していく機動力が重要になります。それには、次の五つのスキルが必要になります。

(1) 新しいデバイスや情報に興味を持つ、好奇心。
(2) ソーシャルメディアなどで技術情報を共有したり、開発物を告知できる友人を作る積極性。
(3) 多数の情報の中から、自分が作りたいアプリに直接役立つ、即効性のある情報をかぎ分ける嗅覚。
(4) 頭の中で完成形を作ったうえでマシンに向かうよりも、思いついたら即コーディングする、気軽さ。
(5) 演繹的にロジックを積み上げるよりも、頻出するフレーズを組み合わせて試してみる、帰納的な手法。

アイデアひとつで、誰でもすぐにプログラマ

従来、プログラマという職業は、エンジニアの土台の上に位置するソフトウェア・エンジニアの一種だったはずです。
しかし、誰でも開発する時代になると、「プログラマならばソフトウェア・エンジニアである」は真であるとは限りません。

筆者がここ数年の間に読んだ本の中で良書だと思った一冊に、「プログラマ現役続行(柴田芳樹著、技評SE新書)」があります。
筆者は、この本を「エンジニア現役続行」として読みました。まさしく、IT以外の、重厚長大系のエンジニアにも当てはまる内容だからです。
生命にかかわる医療系のアプリや、インフラの生命線たるアプリの開発にあたるプログラマは、この本に書かれているように、「自分が作成したソースコードを理解して説明できる(P.68)」必要があると思います。エンジニアリングを理解し、エンジニア精神を持っていなければなりません。同書は、そのプロフェッショナル魂を持ち続けるための一冊です。

が、そういった、同書のターゲットであろう「プログラマ」とは異なる、同じ「プログラマ」という言葉で表されるけれどもソフトウェア・エンジニアではない、新しいタイプのプログラマが増えていきます。彼らには、新しい役割があります。その役割とは、生活基盤を支えるというよりも、生活を彩り、より快適にすることです。生活や業務の中でのちょっとした問題を解決するアプリや、エンターテインメント性のある小品をすばやく開発し、飽きやすく倦みやすいヒトというものに、新鮮な驚きと楽しみと利便性を提供し続けることです。

料理を作るにあたって、食とは何かを知り、栄養学の知識を身に着けてからでなければ、包丁を握ってはならないなどという決まりなどないように、エンジニアリングの現場に身を置いた経験がなければ、あるいは、ソフトウェア工学を修めていなければ、アプリを開発してはならないなどという決まりはありません。

アプリを1本でも公開し、1本でもダウンロードされたなら、その発行者は「プログラマ」と呼ばれるでしょう(当人が自分をプログラマだと思うかどうかは別として)。
文系出身者でも、子供でも、高齢者でも、アイデアひとつで誰でも今すぐプログラマになれる可能性がある、そういう時代になったのです。

ソフトウェア・エンジニアにもとめられる、守備範囲の拡大

これまで筆者は、技術書や記事を書くにあたって、「敷居は低く、壁は高く」を旨として、表現を使い分けてきました。技術に関心を持つ人々を増やすために、親しみやすい書き方を工夫し、一方で、プロを目指す人々には仕様書ライクな書き方を心がけてきました。
しかし、既に壁は低くなりました。低くなった壁は簡単に越えられるので、それで口を糊しようとする人口が増えます。それは内製化や知り合いへの安価な依頼につながることもあります。

メーカーの中の人や学術機関の研究者でない限り、ソフトウェア・エンジニアであるプログラマの中には、この影響を受ける人が何割かはいるでしょう。それらの人々は、技術力の高低には関係なく、作業の守備範囲を拡大する必要があるかもしれません。たとえば次のようにです。

(1) 前述の五つのスキルを磨き、エンド・ユーザー側のコミュニティのリーダー的な役割を担う。
(2) 企画デザインや素材制作まで手掛け、アイデアとビジュアルとサウンドでの差別化を狙う。
(3) 開発実務を行う傍ら、人口の多い団塊世代にプログラミングを指導する講座や、幼児や小学生の原石を見抜いて育てる、教育者の役割も担う。
(4) メーカーとエンド・ユーザーの間にあって、メーカーが提供していないサンプルやテンプレートを開発して、エンド・ユーザーの開発を支援する。
(5) ソフトウェア工学やハードウェアの知識がなければ実装不可能なテーマにポイントを絞って、しぶいアプリを開発する。

これから先、メーカーの提供する商品はますます充実し、便利になり、進化した計算機は、開発者の創造的な作業の一部まで代行するようになります。本連載第第21回「計算機製アートの席巻する日」で紹介した事例のように、計算機は作家を代行するまでになっています(※3)。音楽においては、「ぼかりす」のように、計算機とヒトのスキルを融合する試みも既に始まっています。

これから1~2年、ヒトと計算機の担う役割が変わるなか、仕事も人生の喜怒哀楽も、大きく変わります。旧来のソフトウェア・エンジニアにとっては、リスクをチャンスに変えなければならない厳しい時代になるでしょう。

その一方で、一般 PC ユーザーにとっては、自分では気づいていなかった開発者としての潜在能力を花開かせる、素晴らしい時代となる違いありません。

※本連載中で述べていることは、マイクロソフト社の公式見解ではありません。筆者は Microsoft MVP ですが、記事の内容は、筆者個人の考えを綴ったものにすぎません。

※筆者は、技術書の執筆や実務のプログラミングも行ってきていますが、あくまでエンジニアがベースのデザイナーであって、プログラマではありません。

※1 本連載第18回「コントローラー化する、携帯デバイス」参照。

※2 この現象は、なにもアプリケーション開発に限ったことではなく、デザインの世界では、一足早く同じ状況になっています。
顧客の要望を聞きながら1から企画して1から素材を作り時間をかけて形にする人も、市販素材をうまく選択してレイアウトして数時間で作る人も、どちらもデザイナーであり、受注条件に応じて、二つの方法が使い分けられることもあります。

※3 作家自体を計算機に代行させるこころみについての記事です。「コンピュータは星新一を超えられるか」 人工知能でショートショート自動生成、プロジェクトが始動(ITmedia ニュース)

音楽では、ピアプロ作品を解析して楽曲を検索できる「Songle」を見れば、計算機の能力を体験できるでしょう。これから先、このような研究の精度が高まれば高まるほど、必然の出会いを演出することが課題になるような気がします。。
筆者ブログの「
必然の出会いをいかに演出するか。ひとりのユーザーとして、ネットショップに望むこと。」も参照してください。

写真:その昔のWindows 95の画面です。起動に時間がかかるので、余裕で撮影できてしまいます。FMV DESKPOWER SE133MHz。IDEとメモリとLANカードを増設したお気に入りのマシンで、Windows NT Serverのクライアントとして使っていました。Cubase ltもOfficeも問題なく動くのでもったいないのですが、置き場所に困っているので処分することに。HDを取り出す前に、記念撮影。

Windws95


「データ・デザインの地平」バック・ナンバー
第1回 UXデザインは、どこへ向かうのか? (2010/12/20) ~ 第23回 個体単位システムが、日本を強くする (2012/10/22)

Myalbums

Amazon MP3 / iTunes Store / 着うたフル(緑の鐘)

Comment(0)

コメント

コメントを投稿する