2009/07/13

パラダイムの違いを考えていない

 とある媒体のメルマガから引用する。

ソフトウェア設計者の目線から,ハードウェア設計(FPGA設計)を分かりやすく解説する.初めにソフトウェアとハードウェアの関係を明確にする.
そして,ハードウェア・プログラミング言語であるVHDLとVerilog-HDLの文法を解説し,カウンタやデコーダなどの基本モジュールから乱数の生成やシリアル通信モジュールまで,さまざまな基本プログラムを紹介する.

 プログラムとは、元々、アルゴリズムを実装するための手順を言語で記したもののことを言う。したがって、ソフトウェアもハードウェアも、実現したいロジックとシーケンスを構成するという意味では、設計手順の実装その物がプログラムなので、両者に違いは無い。
 ここまでは正しい。
 しかし、ワイアードプログラムであるハードウェアと、ノイマン型コンピュータにおけるストアードプログラムと定義されているソフトウェアでは、そもそもパラダイムが違う
 この点を混乱させると、確実に間違える。この場合、言語で設計しているから同じような物だという考え方自体に齟齬が生じている。
 たとえば、作図での設計を考えてみよう。
 回路図とフローチャート、これらは同じ物だろうか? UMLにおけるステート図などは抽象度が上がるので、実装はハードでもソフトでも構わない。
 しかし、ハードウェアという同時性を持った構成の物を記述するのと、並列化は加能だが基本的には逐次フェッチを繰り返してプログラムカウンタの操作を行うソフトウェアを記述するのでは、根本的な思想、つまりパラダイムが違うのである。
 「言語での実装という点では同じだから乗り換えは簡単だ」と思っていると、そこに間違いが発生する。
 もし、ソフトウェア技術者がハードウェア技術者に転向することが簡単にできると仮定するのなら、逆も起こりえるはずである。数万ゲートに及ぶASICを設計するハードウェア技術者が、数万ステップにおよぶアプリケーションを記述するソフトウェア技術者に簡単に転向できるだろうか?
 それが加能だと思っているのなら、「専門家を舐めるな!」と、双方の専門家から批判が来るだろう。

 ちなみに、この媒体は、過去に、HDLを指して「ハードウェアをソフトウェアとして設計できる」という勘違いもはなはだしい記事を掲載した前科がある。

 元の基本的な定義に戻り、それぞれをパラダイムという視点から見直すべき必要があるのではないかと思われる。ソフトウェアの誕生は、確実にハードウェアしか無かった時代から、新たなソフトウェア産業を生み出した、次の時代へとパラダイムの転換を起こした事件なのだ。
 確かにハードウェアとソフトウェアはマイクロプロセッサが関与するシステムでは不可分である。したがって、システム設計という、両者を同時に切り分けて設計する概念も存在する。
 しかし、ソフトウェアを必要としないハードウェアが存在するという視点が抜けている。また、OSという仮想化された環境では、ソフトウェアの側からハードウェアは見えないという視点も抜けている。
 確かに、小規模なシステム設計者向けであるとするなら、両方を習得することも加能だろう。だが、そこには、規模の問題という視点が無い。ブレードサーバ上に大規模なサーバOSを実装し、クライアント/サーバ型のシステムを構築する際には、それぞれの分野における専門家がいない限り実現するのは無理だろう。それを統合してまとめるスペシャリストとして、システムアーキテクトという専門職まで存在するのだ。
 したがって、この記述は、規模の問題を無視し、非常に小さな規模だけに限定してしまっているがために、パラダイムの切り分けを混乱させてしまっている悪文であるとみなすことができる。

 最後に一言。専門家を舐めるな! 失礼な行為だ。

↓は、「パラダイム」という言葉を作った張本人による科学哲学の本。一読して損は無いと思う。というか、これを理解していないと確実に間違えるので必読かも。

科学革命の構造
科学革命の構造
posted with amazlet at 09.07.13
トーマス・クーン
みすず書房
売り上げランキング: 11774

| | コメント (0) | トラックバック (0)

Microsoftは大丈夫か?

インテル、Google Chrome OSへの関与を認める
http://japanese.engadget.com/2009/07/12/google-chrome-os/

Google Chrome OS のパートナー企業として名指しはされていなかったインテルが、以前よりGoogleと協力して同プロジェクトに関与してきたことをあきらかにしました。
インテルはネットブックやMIDなどモバイルコンピューティング向けのLinuxベースプロジェクト Moblinを推進しているにもかかわらず、Google Chrome OSを脅威と考えるか問われた別の広報担当は「われわれの目標はさまざまなOSにハードウェアを提供することであり......競争はイノベーションを促 進し消費者のためになる」と回答していました。

 インテルとしては、当たり前でしょ。ローエンドの組み込み機器でARM勢に押されている現在、Windowsと共倒れになるのは嫌に決まっているから。
 インテルに限らず、どこのCPUベンダも、とにかく何でもいいから多くのプラットホームを自社の製品に移植してもらいたいに決まっている。
 実際、インテルは、Xeonなどのハイグレードプロセッサでは好調のようだが、ミドルエンド、ローエンドでは「投げ売り」した挙句に赤字を出したという現実がある以上、もう何ふり構わずOSとアプリケーションを作ってくれるベンダに協力するしかないだろう。

 そして一方、MSは、Winsows7をARMに移植する気は無いようだ。CEとMobileがあるから大丈夫だと思っているのだろうか。
 その認識は、かなり甘いような気がする。Windows7は要求するハードウェア仕様が高すぎるから、ネットブックでも危ないんじゃないかという気がしている。
 だいたい、ユーザーが求めているのは、OfficeのCE版やMobile版といった縮小バージョンではなく、本来のラインだからだ。となると、XPのSP3で充分だ!と思うユーザーは多いだろう。Vistaの教訓を活かせていないとしか思えない。

 と、Windowsを捨てて全面的にLinuxに乗り換えた私は傍観しているのであった。
 もうMicrosoftじゃなくて、Canonicalに期待しているのよん。

Ubuntuではじめる Linuxパソコン (Gihyo Expert Books)
佐々木 康之
技術評論社
売り上げランキング: 82886

| | コメント (0) | トラックバック (0)

2009/07/06

管理人、プログラミング・カンファレンスに出演決定!

 Lightweight Language Conference 2009(LLTV)の「ライトニングトーク」に応募してみたら、何とか選考を通った。
 アイデアの奇抜さでは自信があったのだが、果たしてネタとして「ふさわしい」と選考者側が考えてくれるのかどうか、それが心配だったのだ。
 でも、理解してくれたらしいので、「当選通知」が来た。
 ふふふ。今から楽しみだ。過剰にマニアックな話をして、千人のお客さんを「ドン引き」させてやんねん。

 有料のイベントだが、管理人が会場の空気を氷点下まで下げる瞬間を見たいという方、ご興味のある方は是非とも見にきていただきたい。

スクリプトエンジン プログラミング
坂本 千尋
ソフトバンククリエイティブ
売り上げランキング: 66928

| | コメント (0) | トラックバック (0)

2009/07/02

測位、測量、通信

 管理人がSFマガジンで連載している工学エッセイ「サイバーカルチャートレンド」の今月号は、「衛星測位システムと変調技術で変わる社会」。
 昔から、測量、地図の作成、測位、通信がどれだけ重要なことだったのか、そしてGPSをはじめとした測位システムで飛躍的に変わったという点や、その簡単な原理を解説した。
 GPSの原理が知りたい方は是非ともどうぞ。

| | コメント (0) | トラックバック (0)

意外といる先生の実態

 個人的な話でたいへん申し訳ないのだが、とある工学系の大学教授と口論になったことがある。
 なんと、その先生、"有限なものは計算可能だ”と言って譲らなかったのである。
 "あのー、組み合わせ計算ってご存知ですか?”
 "誰に向かって話しているの? 知らないわけが無いでしょ”
 "だったら、五十音を全部並べて、作成可能な俳句を全部作ることもできると思っているんですか?”
 "出きるよ”
 "あのー、50の17乗って、いくつになると思います?“
 "ただ単に並べるだけだから、すぐにできるだろ。何が言いたいの?”
 "普通に考えて、0が17桁並ぶということはわかりますよね。普通に並べ変えて出力するだけでもどのくらいかかると思います? 1nsで一つできるとして、1秒でも0が9桁しか減らないんですよ。1時間は3600秒なので4桁しか減らないですよね。一日で2桁、一月で2桁。これで何とか間に合いますよね”
 "だったら、一月で計算できるじゃないか”
 "あのー、0の数だけで話しているのであって、50の17乗ですから、実際にはもっと大きくなりますよ"
 "並列計算すれば大丈夫だろ”
 "並列計算してもプロセッサの数だけしか短くならないんですけど……”
 "でも、できることには変わらないだろ”
 私はそこでもう話をするのを諦めた。元々はアナログ回路を専門とした先生なのだが、数値計算の怖さを理解していないのである。特に、べき乗による計算量の爆発が理解できないのだ。
 で、恐ろしいのは、この先生、工学の教授ということで、ディジタル回路も教えているという点だった!!
 うーん、象牙の塔にもこういう人っているんだなー、学生さんはかわいそうだなぁと思った瞬間だった。
 ちょっとは概算でも良いから、考えるくらいの知恵が欲しかったな……。

 他には、部品屋さんで5Fのコンデンサが欲しいと無茶なことを言っている人もいたし……。"授業で必要なんだ”とか言っていたし……。

 あと、授業で教えたいから光ファイバ通信の原理を教えてくれないかという電話を受けたこともあった。パラレルとか232-Cから進歩していないのね……。

 まあ、先生というだけで、万能だとは信じちゃいけないという事だね。
 どこの世界にも知ろうともしない人はいるということで。
 というわけで、参考書を紹介しておく。これ、簡単でかつわかりやすく、しかも重要な点は押さえているのでおすすめできる。

プログラマの数学
プログラマの数学
posted with amazlet at 09.07.02
結城 浩
ソフトバンククリエイティブ
売り上げランキング: 4921
おすすめ度の平均: 4.0
4 良い本だが、難しいものは難しいのだ
4 数学アレルギーのSEのかたへ
4 文系エンジニア向けの良書
3 実用書ではなく教養のための本
5 面白かった

| | コメント (2) | トラックバック (0)

2009/06/07

2個のギガEthernetポートを備えたファンレス小型SBC

 Acrosserは、2個のギガEthernetポートを備えた、ファンレスの小型SBCを出荷した。

Acrosser_biscuit_arb5250l

 製品のラインナップは以下のとおり。

  • AR-B5250 -- Pentium MまたはCeleron Mを搭載可能
  • AR-B5250CM6C -- Celeron M(600MHz)搭載済み
  • AR-B5250CM1GZC -- Celeron M(1GHz)搭載済み

 また、仕様は下記のとおり。

  • プロセッサ -- Pentium MかCeleron M(FSB 400MHz)
  • チップセット -- Intel 910GMLEとGMA900
  • メモリ -- 1個のSO-DIMMで400MHz DDR2 DRAMを1Gバイトまで
  • フラッシュ -- コンパクトFlashスロット
  • ストレージ -- SATA
  • ディスプレイ -- VGA、デュアルチャネル18ビットLVDS(ピンヘッダ)、オプチカルDVI(ピンヘッダ)
  • ネットワーク -- 2個のギガEthernetポート(Intel 82574L)
  • USB -- 6個のUSB 2.0(2個のポートと4個のピンヘッダ)
  • シリアル -- 3個のRS-232-C、1個のRS-232/422/485(ピンヘッダ)
  • ほかのI/O -- 8ビットGPIO、PS/2コネクタ
  • オーディオ -- AC'97 ステレオ (マイクイン/ラインイン/ラインアウト)
  • ほかの機能 -- プログラマブル・ウォッチドッグ
  • 電池 -- リチウム 3V 220mAH
  • 電源 -- 12V
  • 大きさ -- 145×102mm
  • OS -- Linux、Windows XP、Windows XP Embedded、Windows CE

 これ、なにげに凄いよね。

トラブルをさけるための電子機器の熱対策設計
伊藤 謹司 国峰 尚樹
日刊工業新聞社
売り上げランキング: 154206

| | コメント (0) | トラックバック (0)

2009/06/06

インテルもWindowsから離れる?

 インテルがMoblin v2上にAndroidシミュレータを実装し、デモを行ったとのこと。
 ついにインテルも「逃げ道」の模索を始めるのだろうか。

 すでにWintel体制の崩壊が始まっていると言っても良いだろう。

インテルの戦略―企業変貌を実現した戦略形成プロセス
ロバート・A.バーゲルマン
ダイヤモンド社
売り上げランキング: 38329

| | コメント (0) | トラックバック (0)

2009/06/05

AtomでもLinux勢の勢いが活発化

 Canonical(Ubuntu)、XandrosLinpusRed Flagは、Atomを採用したネットブック向けにMoblin v2を元にしたディストリビューションを供給すると発表した。

Moblin_v2beta_mzone2sm

 CanonicalはすでにUbuntuでARMにもx86にも対応した「Netbook Remix」を発表しているが、さらに別のLinuxをサポートする事によって市場を取りたいという目的があるようだ。
 実際、Canonicalは「Ubuntu MID Edition」によってMIDの市場も狙っている。
 さらに、MontaVistaは、Moblin v2スタック上でMontaVista Linux 6をサポートすると表明している。
 Windows7がリリースされる前に根付かせる事ができるかどうかが勝負の分かれ目だと思われる。

詳解 Linuxカーネル 第3版
Daniel P. Bovet Marco Cesati
オライリー・ジャパン
売り上げランキング: 51040

| | コメント (2) | トラックバック (0)

2009/06/04

Linuxネットブック向け高速SSD

 SanDiskは、UbuntuのスポンサーであるCanonicalと共同で開発した、Linuxネットブック向け「次世代SSD」の出荷を開始した。
 「pSSD P2」と「pSSD S2」の二つのラインナップで、8Gバイトと16Gバイト。
 両シリーズは、8Gバイト、16Gバイト、32Gバイト、64Gバイトの製品が出荷可能。

Sandisk_pssd_p2s2

 「nCache」と呼ばれる技術により、バースト転送速度が従来品に比べて5倍になる。実際には、9,000 vRPM(virtual revolutions per minute)に相当し、また不揮発性書き込みキャッシュを320Mバイトまで上げることができる。これらにより、ランダムな書き込み時間が従来品と比較して50倍になる。

 ついにCanonicalは、Ubuntuの「Netbook Remix」でネットブック市場を狙っていると明かしたようなものだと考えられる。

ネットブックの本 SSDモデル対応版 for Windows XP
武井 一巳
毎日コミュニケーションズ
売り上げランキング: 150430

| | コメント (0) | トラックバック (0)

管理人の仕事

 技術とは関係ない……というか、ちょっとあるというか……アレゲな本なので。

(英文版) 外国人のためのヲタク・エンサイクロペディア - The Otaku Encyclopedia: An Insiders Guide to the Subculture of Cool Japan
Patrick W. Galbraith パトリック・ウィリアム・ガルバレス
講談社インターナショナル
売り上げランキング: 104879

| | コメント (0) | トラックバック (0)

«Linux用RealPlayerを発表