« ハッカー辞典 第1版 【A】 | トップページ | ハッカー辞典 第1版 【B】 »

マルチリンガル

 ハッカー(日本人)は しゃべる事ができなくても英語の読み書きが得意である。
プログラムと言う作業を流暢に行うということは、英語を駆使する事に他ならないからである。元々プログラム言語というのは英語記述であるのに加え、特にライブラリ関数と呼ばれる便利にプログラムするためにあらかじめ用意されている数多くの関数を利用するためにはその名前を英語で記述する必要が有るし、更にはその用意されている関数がものすごい数量で有るため、全てを暗記できる物では無く、マニュアルから探すためにも英語力が必要になるからである。
 例えば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日それをくり返す事でその言語を使いまわせるようになるのである。
専門用語(エキスパートレベルの操作)に関しては迷わずサンプルプログラムを探し参考にする。一度参考を見れば次からはその言葉もすらすらと使えるようになる。もちろんサンプルが無い場合は倍の時間を掛けて自分で話せるよう更に試行錯誤を続ける。
このようにハッカーは基本と応用力を駆使していろいろな言語を操るのである。

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

|

« ハッカー辞典 第1版 【A】 | トップページ | ハッカー辞典 第1版 【B】 »

パソコン・インターネット」カテゴリの記事

マイコン」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« ハッカー辞典 第1版 【A】 | トップページ | ハッカー辞典 第1版 【B】 »