安敦誌


つまらない話など
by antonin
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
検索
最新の記事
アキレスと亀
at 2017-05-02 15:44
受想行識亦復如是
at 2017-05-02 03:26
仲介したことはあまりないが
at 2017-04-29 03:36
サンセット・セレナード
at 2017-04-12 23:17
水分子と日本人は似ている
at 2016-06-04 01:49
ほげ
at 2015-06-05 03:46
フリーランチハンター
at 2015-04-17 01:48
アメリカのプロテスタント的な部分
at 2015-04-08 02:23
卯月惚け
at 2015-04-01 02:22
光は本当に量子なのか
at 2015-03-17 23:48
記事ランキング
タグ
(295)
(146)
(122)
(95)
(76)
(65)
(59)
(54)
(45)
(40)
(40)
(39)
(32)
(31)
(28)
(27)
(25)
(24)
(22)
(15)
最新のコメント
>>通りすがり ソ..
by Appleは超絶ブラック企業 at 01:30
>デスクトップ級スマート..
by 通りすがり at 03:27
7年前に書いた駄文が、今..
by antonin at 02:20
助かりました。古典文学の..
by サボり気味の学生さん at 19:45
Appleから金でも貰っ..
by デスクトップ級スマートフォン at 22:10
以前の記事

いわゆるITの話

森首相がITを「イット」と読んだとか読まなかったとか、そんな話は遠い昔の話のような気がする。もうITという言葉はすっかり定着し、逆に陳腐化してしまっている。

ITというのは"Information Technology"の頭文字を取ったもので、まともに日本語で言えば情報技術というような言葉になる。これをなぜ「アイティー」と言わなくてはならないのか理解できないが、たぶんこの分野の最新動向のほとんどが米国発だからだろう。

それはともかく、ITとか情報処理とかいう技術分野は、今では猛烈に広大な分野となってしまった。それでも、ざっと二つの方向性がある。ひとつは、低級とかハード寄りとか言われる分野であり、LSIの論理設計から組み込み開発、PC用デバイスドライバというあたりまでがだいたいこの分野になる。この分野はまだ、小さいことや処理時間が短いことが正義というプログラミングが生き残っている。

もうひとつの方向とは、高級とかアプリケーション寄りとか言われる分野であり、PCアプリケーションからwebサービス、ネットワーク分散処理など、性能的な細かいことはいいから、「いつまでに」「何ができるか」が問われる分野になる。ここではハードウェアを買い足せば実効性能が上がるようなソフトウェアが要求される。

前者は、比較的トランジスタの動作が見える世界であり、後者は、それが全く見えない世界であるように思う。

ハードウェア寄りのコードを書いていると、論理ゲートやレジスタや割り込み信号などを伝っていくビットの様子が、昔ほどではないにしても、うっすらと見える。これは組み込みならワンチップマイコンのフラッシュメモリと少ないDRAMをどうバランスさせて使おうかとか、Pentium4だったらどうやって深いパイプラインのインストラクションストリームを壊さないようにループを回そうかだとか、AMD64だったらどうやって狭い二次キャッシュから落ちないようにデータを確保しようかとか、デバイスドライバなら起動時のシーケンスの順番やタイミングを考慮しないとチップが応答してくれないから、IOのどの端子の信号を何ミリ秒のウェイトで変化させてやれば一番安定するかとか、そんな心配をしながらコードを書かなくてはいけない。実際に回路にアナライザのプローブを当てるケースもあるだろう。

それが同じプログラミングでも、アプリケーションやネットワーク寄りになると別の心配をしなくてはいけない。大規模なデータベースマネージャやコンパイラやインタープリタやライブラリやテンプレートや仮想マシンやブラウザ環境などが前提として与えられていて、ハードウェアの仕様は多重に隠蔽されている。その代わりに、そうした環境を利用するために幾重にも設定された「約束事」の上に立って、いかにその文化を吸収し、そうしたツール群に受け入れてもらえるコードを記述するかということが重要になる。プログラミングというより文書作成のほうに内容としては近づいてくる。文字通りのドキュメンテーションも仕事としてウェイトが高まる。関わる人員も多く、「コードを読め」では済まない世界になってくる。

法律の世界には司法書士や行政書士という資格があるが、アプリケーションやネットワーク関連のプログラマも、前提とするルールが法令ではなくプロトコルや言語仕様にはなるものの、結局そうした人為的なルールにいかに適応して、実際は文書では表しきれない「判例」のような現実解も逐一視野に入れながら、いかに業務を記述するかというところに力点が置かれる。これは、機械を相手にしているようで、実は人間を相手にしている作業のように思われる。役所が受け入れる公文書や有印私文書の作成と、JVMやRDBMが受け入れるコードやトランザクションの作成は、案外似ているように思う。

IT技術者というと、この「電子書士」のことを指すのが一般的になっているようである。組み込み系や制御系の技術者はあまりIT技術者とは呼ばないような気がする。これだけ違うとやはり、個人的な適性にも違いが出てくるように思う。今回プログラマへと、転社ではなく文字通りの転職をしたのだけれども、制御系や組み込み系ではなかったが、運よくパフォーマンス重視のライブラリ構築のお手伝いというところから新しいキャリアを始められそうで安心した。

俗に言うx64インストラクションセットではどういうアドレッシングをしているのかまだ勉強が足りないのだけれども、8080から8086へのスムーズな移行を実現したセグメンテーションが、おそらく今ではメモリ保護という本来の目的に活用されているのだろう。ポインタを16進表示したときの前半がおそらくセグメントアドレスで、後半がオフセットアドレスになっているのだろう。

webプログラミングなども実に華やかなのだけれども、こういう泥臭いコーディングのほうが性に合っているようで、時間が経つのを忘れる。早く帰って子供たちを風呂に入れないと苦情が来るのではあるけれども、それはそれで幸せなので良しとしたい。
[PR]
by antonin | 2007-08-30 05:14 | Trackback | Comments(2)
トラックバックURL : http://antonin.exblog.jp/tb/7369204
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
Commented by アッサ at 2007-08-30 06:15 x
うむ、確かに君はそういうハードウェアよりのことが好きそうだ。
僕はそういう所が隠蔽されている仕組みに美しさとわくわく感を感じるたちなので、仕事としては、君とは対極にいるのだと思う。
でも、なぜ美しさとわくわくを感じるかというと、ある程度、その隠蔽されるものの偉大さを感じているからだと思う。
Commented by antonin at 2007-09-01 05:21
なんというか、NANDゲートだけからLISPでもC++でもJavaでも、あるいはRubyでもPHPでも、XMLのあらゆる交換文書でも、なんでも汎用的に作れてしまうところが情報工学の美しいところであるのには同感します。

ただ、やっぱり、その抽象的なステージでどうやって記述して実用的な作品を作るかというよりは、水面下でどうやって動いているのかというほうに興味が行ってしまうんですね。

建築工学よりは機械工学、機械工学よりは金属工学、金属工学よりは無機化学、無機化学よりは固体物理学、固体物理学よりは量子力学、量子力学よりはスーパーストリングなどの理論仮説、というように、分析的な傾向に走りがちです。

逆に単純なものから複雑なものを作るのも興味があるのだけれども、他人が作ったものの上で踊るよりは、まつもとさんみたいに他人を躍らせてみたいですね。実力的にちょっと無理がある部分ではありますが。
<< デカルトさんとパスカルさん、そ... 衒学のための夜想曲 >>


フォロー中のブログ
外部リンク
外部リンク
ライフログ
ブログパーツ
Notesを使いこなす
ブログジャンル