フクの非日常

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

紺屋の白袴、英語教師の英語読まず、プログラマの。。。

英語多読をやっていると学校の英語が実に奇妙に見えてくる。
英語教師は英語が読めなくても英語を教えることができる。
英語教師の責務は指導要領に従った授業を行い、採点し、
生徒を良い学校へ進学させて所属する組織(学校)の世間的評価を上げる
と定義すれば、実は英語が読める必要はない。
でも、それって、とても変だ。
英語を習ったのだったら英語ができるようになるべきではないのか?
学校で過ごした時間が勿体無いではないか。

と、学校英語について書いたが、
実はこの話は英語に限ったことではなかった。
英語教師は英語を読めて当然と考えるように、
プログラマを書く職業に就く人は、人のプログラムなど読んで当然である。
しかし、実態として仕事以外のプログラムを読むことはほとんどない。
(どちらも、「という場合がある」としておこう。すべての人がそうとは言わない。)

しかも、仕事で読むプログラムは納期あり、無茶な仕様変更ありで、
悲惨な状態になっているプログラムのほうが多い。
こんなものを読んでも良いコードが書けるようになるはずがない。
が、こんな状況にまったく疑問を持つこともなく、
とんでもないソースコードが今日もまた世の中に提供されていく。
だから、銀行・金融システムダウンの事故が連日ニュースを賑わすのである。

日本のIT業界の危機を救うべく、「多読式ソフトウエア開発技術養成法」
を提案することにした。やり方は単純。
良いコードをたくさん読み、良いコードを体に染み込ませるのだ。

今までの悪いコードをUnlearnするほど良いコードをシャワーを浴びるように読む。
では、何を使うのか。Linuxなどの「オープンソース」だ。
幸いにも、現代はインターネット時代の恩恵を受けており、
レベルの高い技術者が書いたソースコードを無償で入手することができる。
それらのコードを「精読」するのではなく、「多読」するのだ。
おそらく、英語多読で良いと分かっているやり方はそのまま使えるだろう。
そしてここは推測なのだが、ギークと呼ばれる尊敬されるハッカーたちは
実は皆、このような取り組み方をしているのではないだろうか。

というわけで、「多読式ソフトウエア開発技術養成法」を実践することにした。
スポンサーサイト

ライフゲイムの宇宙

先日、多読の酒井先生とお話をしていたときの話。
「ライフゲームというのはすごく短いプログラムでできているんですよ」
自分が小学生の頃からコンピューターとお付き合いがあるそうで、
先生のお話の切り口にはとても引かれるものがあります。
(先生=コンピューターの先生ではなく、ほんとは英語の先生)

ライフゲームというのは、1970年代に流行ったプログラムで、
生態系などをシミュレートしたもの。(詳しくはWiki等をご覧下さい)
ゲームといってもプレイヤーはいない。
自動でシミュレーションが走る、いわば「遊ばなくてもいいゲーム」。
(「遊ばなくてもいいゲームの話はまた次回」)

このライフゲームのルールは簡単。

・空白の升目の回りに3個のドットがある場合、次の世代でドットが誕生する
・自分の周りの升目に2個か3個のドットがある場合、次の世代も生き残る
・上記以外の場合、ドットは消滅する。(空白になる)

格子状の升目に初期状態のドットを置き、上記のルールで世代更新を繰り返し、
ドットの増減を見ていく。初期配置によって、繰り返しのパターンになったり
無限に増加するパターンなどが発見されてきた。
(プログラム自体は、そう難しくはなさそうだなー、、、)

このライフゲームについて書かれた古典がライフゲイムの宇宙。
(原題は:The Recursive Universe)
著者のウイリアム・パウンドストーンは実は「How Would You Move~」も書いている。
(先生はこのことを知っておいでであったろうか!?)
この人の話にはとても興味が沸くというか、波長が合うのかもしれない。

そうそう、セルオートマトン(ライフゲイムはセルオートマトンの1つ)
の模様をした貝殻が居ることを知ってとても驚いた。
自然って計算してるわけじゃないんだよね。すごいなあ、と。

テクニカルエンジニア(エンベデッド)

合格!
春の情報処理試験の結果発表があった。期待はしていなかったので、思いがけず嬉しい。
エンベデッド試験は高度情報処理の一科目で、以前は
「マイコン応用システムエンジニア試験」という名称だった。
エンベデッドよりこっちの方が名前がピンとくる。

エアコンや炊飯器や携帯、カメラやルーターなど最近の家電製品のほとんどが
組み込み機器であり、その組み込み技術者の養成を目的としたのがこの試験。
マイコンが内臓されていない家電なんて、もはやコタツくらいしか思いつかないほど
マイコンは一般的になっており、これからも技術者の需要が増す(であろう)分野の一つ。

これに満足せず、資格の名に恥じないよう技術を磨いていこうと決意するのでした。

TechES.gif

em・bed・ded

エンベデッド=組み込み
という式が自分の中で出来上がっていたのだけれど。

実は『embed』というのにはプログラムを組み込む他にも
石を埋め込む、植物を根付かせるといった意味があるんです。
(多読のiさんより)

なんと、、、コンピュータ専門の言葉ではなかったんだ。
さらに調べると、『bed』には寝台のベッドの他にも
花壇や海底、地層なんて意味もあるそうで。
(bed of flowers って花のベッドではないんだー)
なんとなく、いろんなモノが敷き詰められている様子を
「bed」というのではなかろうか、と感じた。

そうであれば、半導体が敷き詰められている基盤の中に
プログラムが組み込まれる様子を「embed」と言っているのではないか。
さらにembeddedになると、組み込まれたプログラムを指していて
ハードウエア+それを駆動させるプログラムのことをエンベデッドと呼ぶようになった(?)
最後の辺りは、そうなのかなーというイメージの世界。
本当のところはどうなのだろう。

マイコンなんてここ40年くらいで出てきたモノだから
言葉も最近できたに違いない。
使い始めた人はどんなだったろうか。
ハードにインストールされたプログラムが先にあって、
そいつを「組み込んだやつ」って呼んでいたのが
エンベデッドっていう言葉に定着しただけかも知れないなー

コンピュータの方言

コンピュータのプログラムは書き方に自由度があって、同じ結果を出すプログラムでも書き方は何通りもある。
 文字列を表示したければ、1文字づつ表示してもよいし、
 改行コードまでをまとめて表示することもできる。

 配列の中身を扱うプログラムであれば、
 繰り返しの中で配列をインデックスして書く方法もあるし、
 配列の先頭をポインタに入れてポインタを進めながら書くこともできる。

どちらも結果は同じになる。
かといって、どのように書いても良いわけではない。
プログラムを書く人によって個性が出ると逆に面倒なことが起きる。
他の人が読んでも通じなくてはならない。メンテできなくなるから。
(この先は「紺屋の白袴」の話良いコードをたくさん読もう、に続く)

人工言語であるプログラム言語は文法を決めているのだけれど、自由に書くことができる。
コンピュータが理解できるものだから一意に決まるのではないか??
しかも、プログラム言語は一つではなく、様々な種類があるという。

この先を書くとひじょーに長くなるはずなのでどこまで
書けるかわかりませんが、「メモ」ということで書きはじめてみます。

 ***********************

上で書いた「プログラム言語」とはC言語やJavaやPerlといった高級言語を指しています。
高級言語とは機械語やアセンブラに対してよりヒトが理解しやすい書き方にした言語のことです。

ここから先、書きたいことは3つことが中心になります。
 1つめは、高級言語⇔機械語について。
 2つめは、機械語はハードウエア依存であること。
 3つめは、高級言語は数え切れない量があること。
  Web言語でもJSP,PHP,Perl,Python,Ruby,C#,...と片手では足りない。(*1)

高級言語と機械語について
 コンピュータは実行するときにプログラムの先頭から進めていきます。運動会と同じで「プログラム1番、入場行進」みたいな感じで進みますが、CPUは機械語しか理解できませんので、機械語でプログラムを書く必要があります。機械語は代入、加算、判定、ジャンプといった少数の命令セットしか持っておらず、高級言語で書かれたプログラムは機械語に変換されて実行されます。高級言語はコンピュータが実行される場面では簡単な動きの組み合わせになるわけです。

機械語のアウトプット
 CPUは演算結果を出力していますが、出力結果はとても単純で、ポートのON/OFFしかありません。1つ1つの動作は単純ですが、組み合わせることでヒトが理解できるアウトプットを出力することができます。また、ポートの先に接続されているデバイスによっても出力は変わります。音を出したければスピーカー、紙に印刷したければプリンタをポートの先に接続します。コンピューターはヒトが理解するものを出力しますが、CPUが理解していることとは扱う細かさが全く違うといえます。

機械語はハード依存であることについて
 機械語はCPUによって独自性があります。CPUのビット数(8bit, 16bit, 32bit)もありますし、エンディアン(Big/Little)(*2)、命令セット(RISC/CISC)の違いもあります。機械語を書くためには、CPUごとに書き直す必要があるのです。
このように、「機械語はハードウエア依存である」と言うと機械語が原始的な言葉ではないばらばらな印象を受けますが、CPUが違えどもやりたいことは変わらないので、コンピューターにおける原始的な動作を洗い出すことはできそうです。
但し、ノイマン型コンピュータについて。量子コンピュータや、ニューロコンピュータ、他のコンピュータはどんな世界になるのだろう?

高級言語の役割
 高級言語では機械語のハード依存の部分を隠蔽して、プログラムを書くことができます。CPUごとにプログラムを書くのは大変な手間なのでヒトが理解できる言葉でコードを書き、後でCPU毎の機械語に変換してやろう、という戦略なのです。現在ではCPUごとにコンパイラが準備されており、C言語で書かれたプログラムはCPUごとのコンパイラにかけることで、それぞれの機械語に変換することができます。(*3)

高級言語の分科
 機械語でプログラムをするのは大変なので、ヒトは高級言語でプログラムすることにしました。しかし、高級言語は用途別に様々な種類に分科していきました。はじめにFortranありき、インタプリタ型のBASIC、ホストコンピューターではCOBOL、UNIX系でC言語、スクリプト言語としてPerl、Web言語のJavaが出てきました。このような言語は必要が先だったのか、思想が先にあって作られたのかわかりませんが、Web系の言語などは動きが早く、次々と新しい言語が生み出されています。Rubyというスクリプト言語は10年ほど前からありましたが、最近になって脚光を浴びています。

プログラム言語は進化したり、分かれたり、使われなくなったり、また時代に合った形で戻ってきたり絶えず変化しています。
この変化が自然言語の起源を解くキーワードになるのか。
とても夢がある話です。

この話は酒井先生のブログ「フク」さんによると・・・のB面として書いてみました。
そのとき「フク」さんは何を考えていたのか。
そのとき歴史は動いたのか?

(*1)途中でWeb言語を数えるには片手では足りないと言いましたが、
  指を2進数のビットに見立てると0から31まで数えることができます。
(*2)ビッグエンディアン、リトルエンディアンはメモリ配置の用語ですが、
  言葉はガリバー旅行記のエピソードに由来します。
(*3)一方で、スピードを要求される場面では、CPUに特化したコードを書く場面もあります。
  Cの中にインラインアセンブラを展開して最適なプログラムにすることができます。

コンピュータの方言(2)

コンピュータ言語と、自然言語。生まれた理由は同じだろうか?
どちらも必要だから生まれたのだと思う。

コンピューター言語は次々と開発されている。今あるものでは足りない、もっと細かく表現したい、もっと簡単に使いたい、というのが新しい言語へのモチベーションではないだろうか。

たとえば、、、
 ・教育用にBASIC,VB
 ・オブジェクト指向プログラムのためにC++,Java,Ruby
 ・手軽に動かしたいためにPerl
 ・UNIXのためにC

あとは、どれだけ需要があって、どれだけ使う人がでてきたかによって使われる言語、使われない言語がでてきたのだろう。これって、自然言語と同じなのかな。。。

VBやPerlでは変数を宣言するときに、型宣言を省略することができる。型なんか堅苦しいものは置いておいて、とりあえず変数使わせてよ!という感じだろう。プログラム言語としては、そこまで厳密に扱わなくてもプログラムとして成り立つし、その方が使い勝手が良い。だから型宣言や変数宣言の省略が許されているコンピュータ言語が存在している。

自然言語で言うと、単数や複数や名詞の性別に区別がない等を思いつく。その言葉を使う人たちがそこまで厳密に区別する必要がなかった、そんなことを気にする人々ではなかったから、名詞に性別の区別がない言葉になっていった、とは考えられないだろうか。

一方で、厳密にメモリやリソースを管理したいときはC言語が使われる。型宣言が省略可能な言語においても、型を明示的に宣言して使用する。自然言語だと、「動詞の活用が何十種類もあって大変~」なんて言葉はそこまでこだわって区別する必要がある人々によって使われてきたのではないかな。

日本語なんて、名詞に性別もないし、複数形もないから細かく全部言わなくても伝わるでしょう、という文化だったのか。それにしては、最近、「空気が読めない」なんて言葉が流行ってきたが。

コンピューター言語の歴史

コンピューター言語の歴史を解説したものは意外に多い。
なぜなら新しい言語が登場する度に、その言語はどんな特徴を持ち、どの言語の系統にあるかを説明するからである。

つまり、コンピューター言語の歴史はコンピュータ技術の歴史。
必要に応じて言語が生まれてきたのは、コンピュータ技術の進歩が理由にある。

機械語から高級言語へ。はじめは行番号を付けて行番号のステップ通りに実行していたプログラムは
Gotoを排除した構造化プログラミングの流れと共に、行番号を持たない、サブルーチンへと変化していった。サブルーチンからモジュール化へと進み、データは自由にアクセスすることを許さず、モジュールのインターフェースを使って更新するような工夫が加えられる。しかし、モジュール化の考え方はプログラム上での工夫に留まる限りである。

そして、オブジェクト指向のプログラム言語が登場する。サブルーチン化を進めたプログラムは共通処理をまとめて書く反面、似たような動きをさせたいプログラムはコピーして二重に作るか、共通部分と差分を分けてサブルーチン化する必要があった。これに対し、オブジェクト指向プログラムではスーパークラスと継承という手法で解決している。データには変数型を定義するようになり、抽象化が進んだ。これと同じように関数にもクラスを定義し、インスタンスを生成して使用する。オブジェクト指向の特徴を解説した本や文章は多いが、こう説明されてやっと腑に落ちた。

やはり、コンピューター言語の歴史は技術の歴史。C言語の構造化プログラムから入った人はオブジェクト指向へのパラダイムシフトにとても大きな労力が必要と言われている。オブジェクト指向はプログラム言語だけでなく、分析、設計、デザインパターン、UMLと多岐に渡る概念だからというのもあるが、なぜ必要なのか、どんなことを実現したくて生まれた言葉なのかを十分に語っていないことが習得が困難な理由の一つにあると思う。

そんな中、この本はオブジェクト指向へのはじめの一歩を踏み出すことができる一冊である。3章の「プログラミング言語進化論」はとてもためになった。

いちばんやさしい オブジェクト指向の本 (技評SE新書 007)いちばんやさしい オブジェクト指向の本 (技評SE新書 007)
(2007/01/19)
井上 樹

商品詳細を見る

20%の法則~働きアリとGoogle

20%という数字を働きアリとGoogleの中に見た。
働きアリのうち、20%は全く働かない。
Googleは社員は時間の20%を自分の研究に使うことができる。
どちらも本業以外に20%割いているという、「余裕」を感じさせる数字である。

さて、Googleの20%だが、実は遊んでいるわけではない。Googleの場合、普段から個人プロジェクトに20%使っていて、このプロジェクトが認められれば全社的なプロジェクトへ昇格する。次の本業の芽を全員が育てているのだ。本業だけを100%やって新しい事業展開ができないケースに比べると、20%を研究・開発に使えるほうが長期的に有利なのかもしれない。

働きアリの20%は興味深い。集団の中から働かない20%を取り除いて別の集団を作ると、
元の集団の20%は働かなくなり、20:80を形成し、取り除いた集団も80%が働きだして20:80を形成するという。今まで働いていない集団が働き出すのは、なんとなく分かる。エサがなくて餓死するわけにはいかないから働き出すのだろう。それにしても、今まで働いていなかった20%の中から、さらに次も働いていない20%が出るとは、、、

働かなかったアリたちを集めて「どのアリが最後まで働かないか」を調べると、世界一働かないアリが出てくることになる。もしくは、どこかのタイミングでどのアリも働かず、組織が崩壊するというケースは出てこないのだろうか?興味は尽きない。

今月のトラ技はすごい

今月のトラ技はすごい。
付録のボードをUSBポートに差し込むだけでマイコンのプログラムを動かせるのだ。

何がすごいのか解説せねばなるまい。まず、第一に画期的なのは、雑誌を買ってきて付録のボードをすぐ使えること。はんだ付けが不要なのだ。これまで、『インターフェース』誌などでもメーカーとタイアップしてマイコン搭載ボードを付録に付けて来たが、付属の部品を購入して、はんだ付けをする必要があった。敷居が高いのがまず、部品。どうやって手に入れたものかとても思案する。手馴れた人ならば、電気街の部品屋さんに行ってちょいちょいと買えるかもしれないが、スーパーに行って料理のレシピを見ながら野菜を買うようには行かない。なにしろ、どの部品がどんな形をしているかわからないのだから。(お店の人に欲しい部品リストを渡して選んでもらうのはできるけれど)通販をするにしても、どこから買ったら良いものか途方に暮れてしまう。

つまり、ハードの準備が面倒だったのだ。
この面倒さを飛ばして、完成品にして付録にしたのは大きな意味がある。

すごい理由その2。通常、マイコンを搭載したターゲットにはシリアルポート等を使ってプログラムをロードする必要がある。今回のターゲットはUSBポートで接続することができる。いまや、シリアルやパラレルなどのポートはどのパソコンにも常備されているわけではない。代わりに普及しているUSBポートで接続できるのは大いに意味がある。専用のケーブルも要らないし。

この障害を取り除いて、純粋にプログラムの作成、ターゲットへのロード、実行ができるのは素晴らしいことだと思う。PC上のソフトウエアだと、文字を表示し、音を鳴らせる。頑張れば絵も表示できるが、そこから先はハードの世界。LEDが点灯する、モーターが回る、センサーが検知する、という所はハードを絡めなくては実現できない。

これを機会に、組み込み・ハードウエアの敷居が低くなることを願うばかりである。
ちなみにトラ技は『トランジスタ技術』の略。知ってる人はみんな『トラ技』。

トランジスタ技術 (Transistor Gijutsu) 2008年 08月号 [雑誌]トランジスタ技術 (Transistor Gijutsu) 2008年 08月号 [雑誌]
(2008/07/10)
不明

商品詳細を見る

ブログ通信簿

ブログ通信簿を最近知り、早速採点してもらった。

「通信簿」というノリが良いよね。
ブログを書いてる人だったらどれどれ、ワタシのブログを採点してもらおうじゃないの?
って気になるってものだ。

tushinbo.gif

主張度、影響度が「2」ですか。。。意外と鋭い。
自分の主張をしよう、というは確かに心掛けてるところ。
人に影響を与える文章を書きたい、とは永遠のテーマ。

コメントのところは「話題性に欠ける」ということかしら。
確かに、ニュースを切り取ってコメントってのはやってない。
どちらかというと、話題でもない本が中心だからかな。

「ブログ通信簿」のサイトはこちら。
生徒が多くて、先生はご多忙のようです。
http://blogreport.labs.goo.ne.jp/

ブログ PC派、携帯派

ここ数日PCを触れなかったので携帯からブログを上げていたのだが。
今回初めて携帯を使ってブログを上げてみた使用感を少々。

まず最初にmoblogって何か分からなかった。
携帯のPCブラウザを使って、管理ページから書き込みをするのが
moblogと思っていたのだが、どうも違ったらしい。
話を聞くと、moblogアドレスにメールを送るとそいつが記事になる、
という仕組みらしい。
編集中にパケット代が架からないのはなかなか良い仕組みだと思う。

しかし、moblogへの注文を付けるとするとかなり多い。
画像。添付した画像は先頭に配置させるが、自由に設定したい。
最後に持ってくるとか、段組なんかも軽くできると良い。
見栄え。PCで改めてmoblogで上げた文を読むと、とても見づらい。
改行が入ってないのが主な原因と思うが、(改行は書いた人のせい)
携帯から見た感じだと、まあ読めないことはない、と思えたが
PCからだと即修正の対象になってしまう。

携帯もフルブラウザを搭載するなど高機能になってきた。
ハード面の強化によって携帯とPCの垣根が低くなりつつある。
一方で、携帯からサーバーへアクセスするソフト的な整備は
あまり変化が見られない。
携帯から記事を上げる、モノを書くといった使い方は
今後増える一方なのでもう少し使い勝手をよくして欲しいかな。

Google Chromeを入れてみた

Googleが提供するWebブラウザ『Chrome』のベータ版が公開された。
MicrosoftのIEはどうもダサい、しかしコレといった決定打が無い。
そんなWebブラウザの現状に一石を投じることができるのか。
使い勝手はどうなのか、早速Google Chromeをインストールしてみた。

使ってみた第一印象は、シンプルすぎてよく分からん。だった。
・ブックマークから普段見に行くサイトを見るにはどうするのか?
・ブックマークに追加する操作はどうするのか?
・検索のボックスが無いが、どうやってGoogleでサーチするのか?

しかし、Google Chromeのページに行くと、機能の紹介が付いてて
これらを見ればスッキリ解決するわけだ。
この説明もYouTubeを使った動画を配信していて、
マニュアル提供の新しいスタイルだ、と少なからず感動を覚えた。

Webブラウザの機能を改めて見てみると、アクセス履歴という機能があるわけで、
自分が見て回ったWebサイトの履歴がバッチリ記録されている。
アクセス履歴を改めて見せられると、思考が見透かされているようで気味が悪い。
慣れの問題かもしれないが。。。。
機能の一つに『シークレットウインドウで開く』というものがあり、
こっちは履歴が残らない。やはり、勝手に履歴を記録されるのは抵抗があるのか。

ここ二日ほど使ってみた評価として、Google Chromeは使いやすい。
軽い。ブックマークも星印をぽちっと。検索もアドレスバーに文字列を入れるだけ。
慣れてしまえば使いやすい。「よくアクセスするページ」も感じが良い。
タブブラウザは初めて使うけれど、良い感じ。たくさんタブも作れるし。
裏でYouTubeを流しながら別のタブでサイトを見て回る、というのも平気。
後は、Googleのその他のサービスと相性が良さそう。。。これは気分の問題か。
Yahoo動画など、一部サイトは対応していない。

Google Chromeの機能はここから。

Webに生息するロングテール

帰ってきたウルトラマンに登場するのは『ツインテール』であるが、
Web上には『ロングテール』なる怪獣(?)が生息する。
通常の現物を置く店舗では売り場面積にも限りがあるので
どうしても需要の高い、売れ筋商品を置いて売り上げアップを図らざるを得ない。
これに対してインターネット上のオンライン店舗ではカタログ上の品揃えを豊富にし、
需要は低いが幅広いニーズに応えることで売り上げを伸ばしている。
Amazonなどのオンラインショップが良く例えに出てくる。
(需要は低いが、ニーズが幅広い様子をグラフに見立ててロングテールと呼ぶ。)

広告などもテレビやラジオに莫大な広告費を支払うよりも
ネット上に広告を出したほうが収益が見込めるというケースもあるのだそうだ。
先日から左隅に張っているのはGoogleのAdSense(アドセンス)を利用したものだが、
実はこれがただの広告バナーではないということはご存知であったろうか。
自分のサイトを検索し、記事の内容にマッチした広告を選んで表示するという
インテリジェンスな広告なのである。
記事を読んだ人は、関連する広告にも興味がある、だから見てもらえる。という仕組み。

もう一つ、AdSenseにはGoogleの『富の再分配』という思想が込められている。
インターネット上で表現をする人に利益を分配する。素晴らしい思想だ。
今までにないことをやる企業だから、Googleを応援したい。
Google発のOSなんかもきっと素晴らしいものが出てくるに違いない。
どんな仕掛けが入っているか、今から期待をしてしまうのである。

Googleの携帯電話

Googleの携帯が発表された。
が、、、あまりの普通さに驚きを隠せない。
あのGoogleが、iPhoneや、BlackBerryと大差ない製品を出すなんて。
確かに、独自のプラットフォームを搭載し、
G-mailやYouTube、Googleマップ、その他サービスと接続性が良いのだろうが。
サービス自体は既存のものと変わりはない。
通話、インターネット、フルキーボード、カメラ、WLAN、音楽などなど。
Googleにやって欲しいのはそんなんじゃないんだよね。
「あ、それイイ。欲しい。さすがGoogle。」
ってのがGoogleではなかっただろうか。
せめて、赤外線でキーボードの像を映し出して、指で押したを検知して
キー入力をさせる「どこでもキーボード」くらいの遊びは欲しかった。

最も搭載して欲しい機能は、WLANを使った通話機能である。
デスクトップPCではSkypeでインターネットを使った通話はできている。
WLANを使ったインターネット接続も既にできている。
つまり、技術的にカードは揃っており、後は組み合わせるだけなのだ。
WLAN圏内だと、インターネットを使った無料通話、圏外だとキャリアの
電波を使った有料通話というハイブリッド通話機能が欲しい。
もちろん、家庭やオフィス、地下鉄やデパートでもWLANが完備されている。
無線だと回線速度が音声品質に直結するので、LAN接続通話機能も欲しいかな。

ここから先は想像だが、「WLAN通話携帯」への最大の障壁は
既存のサービスを擁護するISPやキャリアであろう。
現在のインターネット、携帯、PHSなどは「ネットワークに接続して情報をやりとりする」
という点ではどれも似たようなサービスである。
しかし、インターネットや携帯を多数利用し、個別に契約、料金を支払っている。
利用側は無駄が多い。
逆を言えば、サービス提供者はその分利益を得ているのだろう。
これらのサービスを統合して利用できる、そんな夢のような携帯を
Googleに期待して止まないのである。

役に立つデザインレビュー

デザインレビューについて、端から端まで網羅した本はなかなか無い。
この本は、レビュー会の作り方(目的、期間、場所、参加者)、
レビューの進め方(ウォークスルー、インスペクションなどなど)から、
思考法、レビューチェックリストから事例の紹介まで幅広く全体を捉えている。
その反面、難度は高くなっており、読みこなすには錬度が必要である。

ここで『デザインレビュー』という言葉があるが、デザインレビューとは何か。
ただのレビューとは違うのか。
デザインレビューとは、ソフトウエアの特質をレビューすることである。
デザインとは設計である。システムの目的を特定し、レビューの目的を絞る。

レビュー工数は有限である。
限られた時間内に最適のレビューを行うにはどうすれば良いのか。
デザインレビューに必要なのは、レビュー戦略である。
対象システムのソフトウエア特質を正しく把握し、
そのポイントに目的を絞ってレビューを行うことが重要である。

ポイントだけ選んでみたのだが、この心構えは大いに役に立つ。
しかし、この構えだけで足りるかといえば、そうでもない。
一方で、対象のソフトウエア製品の癖(特質というのだな)に合った
レビュー方針や、チェックリストを使い、見直し、充実させることは
レビューでの品質向上において必要不可欠と考えられる。
地道に積み上げていくのが一番であると思うのである。

役に立つデザインレビュー―ソフトウェアにおける考え方と戦略 (実践ソフトウェア開発工学シリーズ)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。