早いもので、年が明けてから3月も中旬になりましたが、一応更新しておきます。
先ず、6年間にわたり私を苦しめてきた通訳案内士試験ですが、晴れて合格しました。
そういえば、2次試験のレポートも書いていませんでしたが、2次試験は昨年の12月13日にありました。英検と違いとにかく拘束時間が長く内心二度としたくないと思っていたところで今一つ自信がなく合格と知ったときは、うれしさ半分、ウソだろう?という気持ちが半分でした。何はともあれ合格できて良かったです。
語学留学の方は、02.16 5学期目からリーディング・ライティングをやるようになった。
その5学期も終わり今は6学期目に入っています。成績は以下のとおり
| 10.15 1学期目 | 11.15 2学期目 | 12.15 3学期目 | 01.16 4学期目 | 02.16 5学期目 |
Level | 106 | 107 | 108 | 109 | 110 |
GPA | 3.3 | 2.9 | 3.2 | 3.1 | 3.0 |
かろうじて3.0を確保したかという感じだが、まぁ、成績が今一つ振るわなかったのは花粉症になりファイナルテストの成績が今一つだったからだと思われる。
最近は、言葉が口をついて出るようにはなったが、文法が今一つで、評価シートにも"Work on accuracy in speaking"と書かれた。まぁ仕方がない。後7週間で語学留学も終了になるので悔いがないように頑張りたい。
すっかり遅くなりましたが、あけましておめでとうございます。
という訳で、さて昨年の年末で終わりにする予定でした語学留学ですが、4週間の休暇を挟んで続けることになりまして、今は15週目に入っています。ちなみに親しい人には年末に延長する話をしたのでブログの方は放置してました。
まぁ、留学生活ですが公私共に仕事をしていると時とちょっと違う体験をしておりましてブログの更新に手が回らない状況です、が、他に書きたいことが出てきたのでこっちも書きます。
さて、私の通っている語学学校は4週間毎に1学期としていて、それぞれにGPAというスコアがつくのですが、一応今までのスコアを列挙しておきます。
| 10.15 1学期目 | 11.15 2学期目 | 12.15 3学期目 |
Level | 106 | 107 | 108 |
GPA | 3.3 | 2.9 | 3.2 |
留学当初はGPA3.5を目指していましたが、今はそういう必要もないのでじっくり勉強しようかと思っています。
発音については年末年始の特訓が功を奏したのか大分改善されたらしく、先生に「お前の発音はいいな」と褒められた。もっとも油断は禁物で手を抜くとすぐにレベルダウンするようで更なる精進が必要である。
また、リーディング力が大分ついてきたようで、興味のある記事については楽しめる程度に読めるようになってきた。あの独特の足かせというか今一つ意味が頭に入ってこない感覚がなくなりつつある。
一方でスピーキングについてはまだまだという感じで最近になってやっと晩飯の時にホストファミリーと少し話ができるところまで来た。
という訳で早くも次週の木曜日が4学期目のファイルテストになります。
私の盟友(?)こと
みながわさんの日記が更新されたので覗いてみた。2016年1月29日の記事によると、とあるWEBの記事
「staticおじさん」はなぜ自信満々なのかというのが目につく。
この手の記事に対しての警鐘は以前にも行ったのだが、未だにこういう煽り記事が出てくるということは出版業界はよっぽど不景気なのか?と邪推したくなる。
アメリカに留学して習った単語にobjectiveというのがあり日本語訳は客観的で、反対語はsubjective(主観的)になります。論文を書くときは客観的であれといわれます。といっても何が主観で何が客観か分からないでしょう。本当かウソか分かりませんがアメリカではこのobjectiveということを子供の頃から教わるらしいです。もっとも子供の頃にそんなことを習ったことのない日本人は文章を読むときに、何が主観的か客観的かが判断がつかないこともあるでしょう。ちなみに何の説明もなしに『普通はこうだ』とか、他にも記事を読んで『俺の意見を代弁していてくれる』と思ったら、その記事は主観的である可能性があります(主観的の定義に従えば自明ですよね)。
さて、元の記事にあるこの部分
Javaでメソッドを呼び出すときにはクラスからインスタンスを生成してインスタンスのメソッドを呼び出すのが普通です。一方、staticメソッドはインスタンスを生成しなくてもクラスから直接呼び出せます。このため、オブジェクト指向プログラミングを理解していない古いタイプのプログラマは、Javaでもstaticメソッドを多用します。これを揶揄して「staticおじさん」と呼ぶのです。
これは、
インスタンスメソッドを使う→普通
staticメソッドを多用する→プログラマがオブジェクト指向を理解していない可能性あり
と読み取れます。思わず普通ってなんやねん?と突っ込みたくなるのですが、
そろそろこのインスタンスメソッドを使うのが普通という誤謬を解きたいのですが、staticメソッドは場合によっては推奨されています。
期待するコードを期待するように書こうという本から引用させていただくと
クラスのメンバへのアクセスを制限するもう一つの方法は、メソッドを出来るだけstatic にすることだ
このReadable codeという本は私は英語版を購入したのですがそこでも同様のことが書かれています。
また、英語が読める人は、static methodで検索をかければいろいろ議論を見ることができます。たとえば以下のQAたち
https://www.quora.com/Why-is-using-statics-Static-method-block-variable-in-Java-programming-bad-programming
http://programmers.stackexchange.com/questions/98083/cant-i-just-use-all-static-methods
ここでは、インスタンスメソッドを使うのが普通とか訳のわからん理由ではなくきちんと事実に則って議論がされています。
事実(fact)に則って議論するということは客観的(objective)な議論ができているということになるでしょう。
ざっくりとまとめますと、staticメソッドを使うと
欠点:継承ができなくなる。ポリモーフィズムも使えなくなる。
利点:メンバー変数へのアクセスを制限できる。パフォーマンスが上がる。
ということです。他のものは自明として、利点のところで『パフォーマンスが上がる』かは検証の必要があるのですが、ポリモーフィズムはオーバヘッドを発生させるのでそれを使わなければパフォーマンスがあがる可能性はあります。
また欠点の中で、『ややこしくなる』という意見もあったのですが、これは主観的な意見でしょう。たとえばstaticメソッドを使いなれた人はむしろすっきりとすると考るかもしれません。
さて、継承もポリモーフィズムも使わないということであれば、staticメソッドを使ってもよいということになるのですが、この反論として、『オブジェクト指向でなくなる』というのがあります。もはや手段と目的が混同されているとしか言いようがない意見でいやはや疲れます。
まぁ一介の無名なエンジニアが何をいっても仕方がないのでもっと説得力のある例を出しましょう。
επιστημη さんという著名なライターさんがいらっしゃいますが、彼は思い切りstatic メソッドを使っておられます。
http://blogs.wankuma.com/episteme/archive/2012/12/28/310396.aspx
のコードのrefereeクラスがそれに当たります。refereeクラスには3つのメソッドがありますが、すべてstaticメソッドになっています。
つまり、事実としてstaticメソッドは使うときは使うのです。ちなみにもちろんですが、επιστημη さんがオブジェクト指向を理解していないということはないでしょう。
という訳で、
ただ、現実に年齢を重ねると、どうしても守りに入りがちなのは事実です。「自分はstaticおじさんなのではないか」という問いは、常に忘れてはならないのでしょう。
というヒマがあったら自身が思わぬ誤謬をしていないか記事の検証を行うことを勧めます。
2/4追記
コメント欄で文意を汲み取っていないという指摘を受けましたが、まぁ充分文意を汲み取って反論をしているのですがどうも分かりづらいかもしれないので、補足します。
ただ、現実に年齢を重ねると、どうしても守りに入りがちなのは事実です。「自分はstaticおじさんなのではないか」という問いは、常に忘れてはならないのでしょう。
こういう教示的な文章は一見ごもっとなことのように受け取れますが、冷静に読めば分かりますとおり、ど素人でも同様のアドバイスができるでしょう(例を出すとサッカーや野球観戦をしているおっさんが野次っているさまと同じと言えば納得できるでしょうか?)。
社会人としては自分を律したり反省することは歳をとろうが若かろうが、技術者であろうがなかろうが、常に必要でいちいちアマチュアに指摘されることではないです。
そうはいっても100歩譲って、プログラミングに携わるプロが
『(引用先の記事に書かれてるニュアンスでの)自分はstaticおじさんではないか?』
と自問するということはどういうことでしょうか?
つまり、『staticは使えるのか?使えないのか?』という正に私がここで行っている議論をすることです。
そしてまさに
インスタンスメソッドを使う→普通
staticメソッドを多用する→プログラマがオブジェクト指向を理解していない可能性あり
こういう意見が20年前はともかく今となっては偏見に基づく誤謬でしかないということを認識することが重要だと言いたいわけです。プロなら気づきましょうということと、素人なら知ったかぶりをするのはやめましょう、という話です。
時が流れるのは早いもので8週間が過ぎ去った。で、もう4週間(1セッション)滞在を伸ばすことにした。
という訳で、6,7,8週目のレポートですが、ハロウイン(10/31)やら、クラスメートとサンフランシスコに行ったり、ペイントボールで遊んだりやらで、ブログも書けずじまいで、いい感じに勉強に集中できなかった。
前回まではミュージアムめぐりをしたが今セッションは週末はクラスメートと過ごすことが多かった。かなり年下になるが意外に大丈夫なもんだ(まぁ、仕事モードになって気合を入れると変わってくるかもしれないが)。
さらにどうでも話を続けるとアメリカに来て体重を10Kg落とした(それでも結婚前と比べると7Kgほど多い)。普通にダイエットをした結果だが、なぜか中国人(および台湾人)にモテるようになった。日本人ブランドはまだ健在なのか複数の人から、かっこいいねとか言われて『あー20年前に台湾に住みつけば・・・・』と若干後悔をしてしまった。
とまぁそんなアホなことを考えているうちに2セッション目のファイナルテストが終了した。GPAは2.9だった。残念ながら3.5は取れなかった。パスはしたがスキップはできなかった。ので残念ながら上級クラスを卒業することはできなくなった(年末には帰らなければならない)。
ただ発音については大分良くなった。先生が「ゆっくりしゃべれ」とアドバイスをくれたがその通りにして乗り切り発音の評価は上がった。
さて、せっかくなので発音についてコメントします。
-
日本人の発音はアメリカ人には割と通じない。あまりの通じなさに凹むので、意識して治す必要がある(出来れば日本を出発する前に)。
-
英会話の日本人の先生方は多分、かなり努力して直している。ちなみに同じぐらいを目指す必要がある(それが普通であることを理解する)。
-
発音記号をマスターする。lとrの違いはもちろん、母音は5種類ではなく、十数種類あることを理解しマスターする(違いが判る男になる)。
-
音読する時は単語を直接読むのではなく、発音記号を書き出してそれを読む(これは意外に効果的)
-
自分の声を録音して聞き比べる
-
最終的には個々の単語の発音を一つずつ丁寧に直していく作業を行う(手間がかかるが仕方がない)
ここまでは自分自身で訓練ができる。あとはネイティブの前で音読をしてコメントを貰えばかなり改善できると思う。
偉そうに書いているが私もまだまだ道半ばです。
ちなみにファイナルテストの結果があまり良くなかったので詳細を聞いてみた。リスニングが半分ぐらい間違えていた。
ただダイアログの大筋の流れは把握しているし、最近発音を治したせいか割と細かいとこまで聞き取れるようになった(毎度おなじみのNHK RADIO JAPANはほぼ何を言っているか判るようになった)。
ただそれを処理する能力が追いついていないようで、イマイチ細かなニュアンスで勘違いがあるようだ。
次のセッションで直したい気もするがこちらはそのうち改善すると信じて授業と発音をきっちりとこなすようにしたい。
5週目に入った。ホストファミリーを変えた。当初、変える気はなかったが他のルームメイトとホストマザーが衝突し彼らが部屋を出ると言い出し、気分を害したホストマザーが荒れ出して居心地が悪くなり変えてもらった。どうも何処へ行ってもトラブルに巻き込まれる。
私いホストファミリーは、私と同い年の親切なカナダ人で私の発音を逐一チェックしてくれるので大変ありがたい。もちろん若干ショックを受けるが、朝夕と会話をするので、これぞホームステイと満喫している。
4週目の週末にインテルミュージアムに行ってきた。今までの中でなぜかテンションが一番上がった。
新しいクラスになった。前回のクラスは日本人が私だけだったが、今回のクラスは私を入れて日本人が5人いる。
上級クラスとやらに入ったが確かに文法がややこしくなってきた。週末には大分発音の訓練をしたのでちょっとはマシになったみたいだが、長年バリバリのジャパニーズイングリッシュを話していたせいもありまだまだ精進が必要みたい。
日本にいるときは『発音が悪くても』という意見も聞いたが、現実にアメリカに来て自分の訛りが強くて相手に伝わらないケースが多々あると治した方が手っ取り早いと感じるようになる。
とりあえず次回のファイナルテストはGPA3.5を取りたい。