« プラス・マイナス | トップページ | 英語教育 »

2005年2月15日 (火)

コンピュータ技術者のための英語講座もどき

今日、会社の帰りにいいことを思いついた。
英語学習法に関してである。

私は、決して英語が上手ではない。というか、
NYに住んでると、苦手意識が非常に強くあるため、
「何が講座だよ。」ともう一人の自分が激しく突っ込みを
いれるのだが、一応英検1級・TOEIC900点以上では
あるので、もっと苦手な人に、アドバイスすることは
可能かもしれないと思って書いている。

いや、カンタンなはなし、
人間をコンピュータにたとえてみようよ。
ということ。そうすると、物事がクリアーに
見えてくるってことです。


さて、

英語を聞く・話す・読む・書く

これは、コンピュータでいうところのIOである。

日本語を聞く・話す・読む・書く

も、同様にIOである。IOとは入出力(Input/Output)の
ことである。

さて、IOは大事である。

どんな高速なサーバだろうと、IOがなかったら
タダのゴミである。

人間もきっと同じ,IOのパフォーマンスが弱いと、
役立たずダメ人間扱いされても、文句をいえまい。

ディスプレイもキーボードもLANポートも何もない
コンピュータが何の役にも立たないのと同様、
日本語で、聞く話す・読む書く、が出来ないと
日本で良い仕事をすることはマズ無理だろう。

アメリカでは、英語で、聞く話す・読む書くができないと、
いくら能力があっても、ダメ野郎ほぼ決定である。

私が今一番注意せねばならぬことである。

さて。たいていの日本人の脳の中には、たぶん、
立派な日本語IO APIが完備されている。

時々ブラインドタッチAPIがついていない人がいるが、
多分これからの時代困るだろう。

さて、では英語の話をしよう。

英語を学習するということは、
英語IOのAPIを構築するようなものである。

EnglishListener
EnglishSpeaker
EnglishWriter
EnglishReader

これらAPIをよりパフォーマンスの高いものとして構築し、
リファクタリングをかけてゆくのが、英語を学習すると
いうことである。

外部仕様というか、インターフェースは、
高校の文法の時間でだいぶ習ってある。

#というか日本の学校で習うのは、
#インターフェースだけである。当然使える英語
#なんてものになるわけがない。

が、問題は、この実装の部分である。
この実装を間違うと、絶対にパフォーマンスが出ない。

具体的には、JapaneseSpeakerのラッパーとして
EnglishSpeakerが実装されている人。。これは
絶対パフォーマンスが出るわけがない。

日本語の単語をインスタンス化して、それをキーに
一語一語、DBだかハッシュだかに問い合わせをかけ、
順序を並べ替えて出力する。
語順が違うので、バッファを内部に持ち。。。

あぁぁ。 すごい、ガーベッジコレクション走りまくり
そうな処理だ。しかも、バッファにメモリ使いすぎて
多分思考も停止してしまうだろう。

こんな重い実装はだめである。
プログラムなら、設計が悪い!
つくりなおし!である。

では、理想的な実装とはどんなものか、

そう、いわゆる、一般に言われる、
英語で考えるというやつなのだろうと思うが、当然、
使えるパフォーマンスを確保するには、引数に
「JapaneseSpeaker」ではなく、「思考・意識」を
与えるようなタイプの実装が理想だろう。


さて、

とはいえ、こんなもの、どうやって
設計・実装してゆけばよいのか。


僕が思うに、大事なのはリファクタリングである。

まず、自分の思考や意識というオブジェクトのリファクタリングが
必須になる。

人間は言葉で考える。。 

というが、普通に1ヶ国語しか使わない人は、
思考と言語というものがごちゃ混ぜになった、
「言語意識・言語思想」的なAPIになっていて、
内部実装もモジュール分離されていないことが多いだろう。

これを、思考/意識 の部分と、言語化 の部分に
切り分けるようなリファクタリングを行うのである。

思考・意識オブジェクトの中から、極力文字列を
排除してゆくのだ。究極のバイナリ実装にするのだ。

思考・意識を、シェイプアップされた
バイナリストリームとして再構築するという作業は
非常に意義深い。

思考が、言語を介さず、
バイナリストリームをぐにょぐにょっと
つないだような構造で行われるようになると、
まず、速いはずである。

ひらめき、洞察、。。の鋭い人、というのがいるが、
これは多分、思考・意識がバイナリ化されている人間である。

なんだか、ひらめいちゃうのである。
みえちゃうのである。
直感がびびっときてしまうのである。

どうしてひらめくの?と聞かれても、答えられない。
ものすごい量の処理をバイナリで高速に行っているからである。
言語化したら、1時間かかることを、10秒でやっちゃってるのである。

そう。思考と言語をモジュール分離するメリットは、
こういうところにもある。

このモジュール分離リファクタリングをやってゆくために、
「英語で考える」っていうことをやってみるのである。
強制的にバイナリ思考せねばならない状況に自分をおくのである。

そんなこといきなり言われてもなぁ。。と思うかもしれない。
確かに、最初から難しいことを英語で考えるのは無理だ。
まずは簡単なところからやるのだ。

青空をみて、BLUE SKY という音を頭の中に鳴らす
赤信号をみてRED という音を頭の中に鳴らす。

そこからはじめればいいのだ。

そして、少しずつセンテンス化してゆく。
だれにだって出来ることなのだ。

そして、1分ほど、やったあとで、
「お、ちょっとまて、今SORAっていう音が頭になったか?」
と自問してみる。

「んー。。SORAという音はさっき頭の中で鳴らなかったな
 SKYってのは、何度も鳴ったけど。。」
という感覚があれば、おめでとう、
あなたは立派に英語で考えたのです。

机をみたら、DESK、TSUKUE、 どちらも浮かぶといい。

私は、バスに乗りながら、対向車線の車のナンバー4桁を
英語でさささっという訓練をしたりもした。5463をみて、

「ごーよんろくさん」

という音が浮かぶのと同じぐらいの速さで

「Fivefour Sixthree」

という音が浮かぶようにトレーニングするのだ。

「ごせんよんひゃくろくじゅうさん」

という音が浮かぶのと同じ速さで、
FiveThousandFourHundredSixtyThree

という音を浮かべれれるようにするのだ。

 #いや、最初は難しいけど、ゲームみたいで
 #面白いっすよ^^ 友達と競ったりすると
 #盛り上がるし。

さて、ここで、問題がある。
このトレーニング、発音がしっかり出来てない人がいくらやっても、
速度は頭打ちになって日本語に絶対に追いつかないのだ。

日本語で「ごせんよんひゃくろくじゅうさん」と話すとき、
または、頭に思い浮かべるとき、
スピードを追求すると、必ずリズミカルでかつ母音省略が
たくさん行われるはずである。

Yonhyaku Rokuju San

ではなく

Yonhyk Rokj San

と発音するはずである。


英語にもこれがある。
リエゾンやら母音の曖昧化やら何やらである。

これは、つかみどころのない「センス」とかそういう問題ではない。
発音記号やら、発音に関する本にしっかり「一般的規則」は
書いてあるのだ。

私は、正直、ホンキだすと、
発音はネイティブそのものである。
これは、センス云々ではなく、学習したためである。

 #私の現在の悩みとしては、発音を聞くと、英語OK人間だと
 #誤解されて、高速でまくし立てられることである。
 #私の悩みは、リスニング力のなさ。。だ。。
 #最近意図して日本人的な発音をするように心がけているぐらいだ;;

いや、自慢しているわけではない。
だって、これは、実は難しいことはないから。
オウムのものまねと同じことであって、
やれば誰だってできるのだ。

日本語で、ビートたけしのマネをする、、とか
そういうのと全く同じ次元の話である。
そういう意味で、ネイティブそのものの発音をすることは
訓練すれば誰だって出来るということだ。

 #しかし、なぜか、みんな発音って勉強しないんだよなぁ。。
 #なぜだろう。。
 #
 #。。ってカンタン、 恥ずかしいからやらないんだよね。
 # たしかに、発音の練習って 人には聞かせられないよ^^ 
 #  馬鹿そのものになることですのでw

さて、つらつらと書いているが、いつものように
ながくなってしまった。

話もずれまくって、一般的な英語学習についてになってるし。。

とにかく、エンジニア諸氏よ、

英語も日本語もIO.

 だから、

   1.IOと内部処理(意識・思考)はしっかり分離し、
     バイナリで考えましょう。(変なストリングオブジェクトを
     生成しまくらないこと)

   2.とはいえ、IOがへぼいと、いくら中身が立派でも
     意味ありません。IOも磨く必要がありますね

   3.「人は言語で考える」というのが普通。だから、
     つねにリファクタリングを怠らないようにしましょう。
     範囲は、英語言語化モジュールのみならず、
     日本語言語化モジュールも、はたまた、
     本体(意識・思考)までも積極的に手をつけましょう。

   4.リファクタリングするにしても、ちゃんとベースとなる
     コーディング規約というか、そういうものは、しっかり
     したもので構築しましょう。 音、つまり発音は
     言語の基本です。 だから、ちゃんと発音も勉強しましょう。


そういうことです。。。

さて、ここまでは、私が留学していた1996に気づいたこと、
実践したことです。

今からは、私が、
私の英語力向上ために、
意見を整理するもので、あって、私のつぶやきです。

(こっちきて、約8ヶ月、やっと英語勉強する気になってきた)

えーと。。 まずは、リスニング。。 どうしたらいいかなぁ。。
あとは、しゃべりの勢いと、内容と声量だな。。
テンポにのって、必要に応じて割ってはいるような話しかたも、

まずは、リスニング

んー。。 いいや、バイナリで考えよ。

« プラス・マイナス | トップページ | 英語教育 »

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

コメント

コメントを書く

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

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/34023/2936614

この記事へのトラックバック一覧です: コンピュータ技術者のための英語講座もどき:

« プラス・マイナス | トップページ | 英語教育 »

Haruya's Violin

2018年1月
  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      

最近のトラックバック

無料ブログはココログ