« 2010年3月 | トップページ | 2010年6月 »

2010年4月

マルチリンガル

 ハッカー(日本人)は しゃべる事ができなくても英語の読み書きが得意である。
プログラムと言う作業を流暢に行うということは、英語を駆使する事に他ならないからである。元々プログラム言語というのは英語記述であるのに加え、特にライブラリ関数と呼ばれる便利にプログラムするためにあらかじめ用意されている数多くの関数を利用するためにはその名前を英語で記述する必要が有るし、更にはその用意されている関数がものすごい数量で有るため、全てを暗記できる物では無く、マニュアルから探すためにも英語力が必要になるからである。
 例えばWINDOWSのプログラムをする場合などは、当然WINDOWSの機能をうまく使いまわすためのライブラリーが用意されているが、それを使うためには利用したい機能の関数の名前を探す所から始めなければならないので関数の名前の見当を付けながら索引を調べる事になる。
 例えばWINDOWSのなんらかの情報を得たい場合には 大抵の場合頭に Getの付いた関数となる。特に得たい情報がWINDOWの中から発生される物の場合は GetWindow****と言うタイプの名前になるのが普通である。逆にWINDOWSに何か情報を渡したい場合は、SetWindow***と言う具合だ。
 相手がダイアログの場合は GetDilog***や DialogをDlgと略した表記で GetDlg***と言った名前が付けられている。
 プログラムに関してもそうだが新しい技術やハードウェアのマニュアルに関しても大抵の場合は英文でしか供給されていない場合が多いため必然的に英語に慣れて来る物だ。
 学校で無理矢理詰め込まれる勉強とは違い必要に迫られて覚える学習効率と言う物は格段に跳ね上がる物だ。

 しかし 今回話題にするマルチリンガルとは人間同士の会話やコミュニケーション言語のことではなく、コンピュータとの会話(プログラム)の為の言語である。
通常、プロのSEと称する人達も その活躍する分野によって使用する言語に偏りが出て来る物である。言語と分野を関連づけるならば、事務屋はCOBOL、技術屋はFORTRAN、WINDOWSプログラマーはC、C++等、WEBプログラマーはJAVA、PERL、RUBY等と言った感じで、自分の分野以外の言語は不得意もしくは全然使えないと言った人がほとんどであるのに対してハッカーは一切なんの隔ても無く適材適所でどんな言語でも使いこなしてしまう。
 これは頭を切り替えている訳では無く極自然体で言語を使いまわしているのだ。
何故そういう事が可能なのかと聞かれると、きっと彼らはこう言うだろう。

   「基本は全部同じでしょ?!」

 これは、普通のエンジニアとハッカーの 言語に対する捉え方が全然違うと言うのが大きな原因であろう。
普通のエンジニアは、言語の違いを日本語、英語、ドイツ語、フランス語、スワヒリ語の違いのように認識しているのに対して、ハッカーはそれを単なる方言の違いくらいにしか捉えていないのである。
 まぁ ハッカーにとっては前者の日本語、スワヒリ語の違いですらそんなに苦になる物ではないであろが、それこそが 「基本は全部同じでしょ?!」に総称される。
「基本」と言うのが彼らにとっては「アセンブラ」と言う物だ。
アセンブラというのはコンピュータのCPUに一番直結した命令系の羅列である。
基本的にはメモリーの内容をセットしたり移動する事とメモリーの内容を2進法の1と0単位(ビット)で左にずらしたり右にずらしたりする事と単純な加減乗除演算、そしてその結果に対して0になったとか桁があふれたとかの条件を判断すること。

   「それだけ」である。

※ ここでプログラム言語としてアセンブラを使えると言っている人はきっと ジャンプ命令もあると唱えるだろう。
 しかしハッカーはそんなことは言わない。なぜならばジャンプ命令というのは単にプログラムカウンターと言うメモリに数値をセットする動作に他ならないからである。

 そしてこれを組み合わせてどんな複雑な動作も作り出してしまうのである。
どんな複雑なコンピュータも、WINDOWSの制御も全てこれで構成されているのである。
 実はアセンブラを理解するということは最低限の動作機能さえ有ればたいていどんなことでもできると言う事を知ることでもあるのだ。
 そしてこれは会話言語も共通する概念でもあるとハッカーは無意識に認識している。
普通の人がいきなり日本人の一人もいない英語圏に放り込まれたらどうするだろうか?
まぁ よほどアクティブな人でないかぎりは解説の必要もないだろう。
しかし、動詞はDO GET HAVE TAKE GO、それ以外は中学校の最初で習う程度の名詞や外来語としてカタカナで表現できるものの名前を使えば最低限の意思の疎通ができるのだ。
分からない物は絵を書くか実物を指差せばいい。
 そのうちに耳も慣れて来るし、「この場合はこう言う」などの生の事例で慣れて来る物だ。
 ハッカーはそれと同じプロセスをコンピュータ言語に対して行使する。
取り敢えず自分が知らない言語であっても使ってみる。つまりコンピュータと対話してみるのだ。
そうするとコンピュータからの応えが返って来る。その様子を伺いながら言語自体のクセとか使いまわしを理解していくのである。
その試行錯誤を簡単な物から少しずつ複雑な物にステップアップする。2~3日早い場合は1日それをくり返す事でその言語を使いまわせるようになるのである。
専門用語(エキスパートレベルの操作)に関しては迷わずサンプルプログラムを探し参考にする。一度参考を見れば次からはその言葉もすらすらと使えるようになる。もちろんサンプルが無い場合は倍の時間を掛けて自分で話せるよう更に試行錯誤を続ける。
このようにハッカーは基本と応用力を駆使していろいろな言語を操るのである。

あ・・・今回は落ちが無い(^^;)

| | コメント (0)

ハッカー辞典 第1版 【A】

■AI (えーあい)
 [Artificial Intelligence]の略 人工知能

 記号処理を用いた知能の記述を主体とする情報処理や研究でのアプローチ。

 ・・・と定義づけられているが、それ自体が曖昧な言葉なので実態として何を指し示すかは提唱する人それぞれによって様々である。
有り体に言えば人間様が考える変わりに計算機に任せる事で楽をしようと言う物だ。
ごはんの炊き方をや柔らかくとか固くとか(水加減くらい覚えろよ)、掃除する時に何処がゴミが多いかとか(見りゃわかるだろ)、人がいなくなったらスイッチを切ってくれるとか(自分で切れよ)、果ては話し相手になってくれるとか(寂しくないか?おい)。

人がだんだん怠惰でバカになっていくような気がするのは気のせいだろうか・・・

 そう言えばコンピュータが計算をミスする確率は10億分の1だから人間よりも遥かに的確な判断ができると言っている奴がいたなぁ
 コンピューターの計算ねぇ・・・1命令を平均4クロックと考えて最近のCPUのクロック周波数が3G(ギガ)Hzとすると・・・1秒間に7億5千万回の命令を計算してる訳だから・・・1分間に45回はミスしてるって事か・・・あれ??

■ALT (えーえるてぃー)

 1.[Alternate オルターネイト]の略
  動詞. 交互に起きる; 交互に行う; 行き来する.
  形容詞. 交互の; 一つおきの.
 よく見られるのはDOS-V系のキーボード上に配置されるAltキーである。
 日本語キーの場合は[Alt+漢字]キーでFEPの呼び出しができるが、通常単独で使用した場合は現在の機能とメニューが交互に切り替わりキーボードのみで操作している場合には必需となるキーである。
 特筆すべきは[Alt+Ctrl+Delete]で、機能が凍結した場合には取り敢えず試してみると約35%(筆者環境での測定値)の確率で状態を解決できる魔法の機能が発動する。

 2.[Altitude アルティテュード]の略
  名詞.高度
 通常、航空機のコンソールパネル上に見ることができる。
 ALTと書かれたメーターは高度計を表す。
 ハッカーは計器類が並ぶ光景に得も言われぬ快感を示すが、中でもこの高度計というのは特別な存在で(もちろんデジタルでは無くアナログの物だ)大抵のものは長針と単身がレイアウトされていて、長針は一周で100Feet、短針は1000Feetを計測するようになっている。(物によっては10、100、1000、10000Feetの針がある物も有る)
これが何が快感かと言うと、急上昇/急降下しよう物なら凄い速度でクルクルクルクルと回るのだ。
 数ある計器類の中で非常事態以外にこれだけ動きを見せてくれる物は非常に少ないので嫌が上にも心ときめくのである。
他にクルクル回る場合が有る物としては「燃料計」。これが回っている場合は燃料タンクに穴が開いて漏れていると考えた方が良い。
また、たまに「コンパス(方位計)」がクルクル回り始める場合が有るが、この時は大抵の場合、機体がダッチロールを起こしているとみなすのが妥当であり、落ち着いて然るべくシークェンスを試みるべきである。

■AMD (えーえむでぃー)
 [Advanced Micro Devices]の略

 Intel、モトローラと並ぶCPUメーカーの一つ。
CPUも「4004」が発売されて以来50年くらいのうちに凄い事になってしまった物だ。
1つでも彼のスーパーコンピューター「CRAY-1」の性能をはるかに越えた性能を持つと言うのにそいつを4つも抱えたCPUが1万円もしない価格で流通しているから驚きである。・・・しかしそのほとんどの性能を食い潰しているOSって何者だよ(苦笑)
今現在のマルチコアの最大って・・・12コアだっけ???
船頭多くして・・なんとか・・にならねばいいけどねぇ

■ATOM (アトム)

 1.原子、もしくは原子を構成する物理的要素。

 2.手塚治氏が産み出したキャラクター。
   10万馬力を誇る人型ロボット

 3.INTEL社のLPIAと呼ばれる、低消費電力化が図られたIA-32アーキテクチャに基づくカテゴリの製品。

 4.ウェブ上の各種コンテンツを配信するためのXML文書フォーマット及びコンテンツの編集を行なうための通信プロトコルなど幾つかの仕様群の総称

 5.「ABC」や「[0-9]」、「.*?」のように、何かにマッチする正規表現の構文

 6.会社名
   ○株式会社ATOM
   平板に取り付けるだけでなんでもスピーカーにしてしまう振動エキサイターを作った会社
   ○株式会社アトム
   回転寿司、ファミレス、居酒屋チェーンを経営する会社
   ○アトム株式会社
   一般作業用手袋、産業用手袋、農用長靴等、農用品を製造・販売する会社
   ○株式会社アトム
   3D手話コミュニケーションプラットフォーム Bot3D Engine for Sign Language.を開発販売する会社

 ATOMって会社はまだまだ書ききれないくらい有りそうだ。

| | コメント (0)

« 2010年3月 | トップページ | 2010年6月 »