最終出勤日

今日は、現在の勤務先への最後の出勤日でした。

勤務先では、様々な分野の優れた研究者とお会いすることができ、素晴らしい研究環境と素晴らしい仲間に恵まれ、幸せな研究生活を送ることができました。職場の皆様には公私ともにご指導いただき、大変お世話になりました。心から御礼申し上げます。


この写真は2週間程前に、私が所属する課のみなさんが開いてくれた私の壮行会においていただいた花束です。みなさんには心温まる激励の言葉をいただき感激しました。本当にありがとうございます!

今後は地理的に遠くなってしまいますが、このブログを通じて引き続きお付き合いいただきたく、どうぞよろしくお願いします!

珠玉のプログラミング

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造

この本は本当に面白いです!取り上げられる問題は興味深いものが多いし、その解決方法となるアルゴリズムとデータ構造もいろいろと紹介されていきます。また、章末に練習問題がたくさん掲載され、どの問題も面白くうならせるものばかりです。残念ながらそれらの練習問題を解く時間がなかったので、時間があるときに実際にコーディングして確かめながらじっくりと解きたいものです。

この本の良いところは、単にアルゴリズムとデータ構造を紹介していくだけでなく、実装もきちっと考察されている点です。2つのアルゴリズムA,Bについて理論上(漸近的計算量)はAの方が優れていると結論付けることができても、キャッシュメモリ等の存在により必ずしもAの方が優れているとは限らないことについて、実測値を示しながら論じられています。

たとえば、単なる数列を実現する場合、配列を用いる方法とリンクトリストを用いる方法があります。要素の挿入や削除を考えると一般にリンクトリストの方がその処理量やメモリ使用量の観点から、リンクトリストを用いる方法の方が優れていると考えられます。しかし、要素の挿入や削除の頻度が低いアプリケーションだった場合、配列の要素はメモリ上に連続して配置されるため、キャッシュメモリの効果によって要素の参照の性能が非常に高くなります。その結果、そのアプリケーションには配列を用いる方法の方が優れていると結論づけることができる場合もあります。

この本は非常に良い頭の体操になり楽しめますし、プログラミングに必須の基礎知識を得ることができ、お勧めです。

留学記ブログを開設

出願手続きから始まり出国準備、講義の様子、Research Assistantとしての研究状況、米国バージニア州における日常生活等、George Mason Universityにおける大学院生活について書く、留学記ブログを新たに開設しました。

http://kojihashi-mason.blogspot.com/

Eclipse等の技術的な内容については引き続きこちらのブログで書いていくつもりです。今後ともよろしくお願いします。

George Mason Universityに行きます

今年の7月末日に現在勤めている会社を退職し、8月から米国バージニア州にある州立大学George Mason Universityのマスターコースに自費留学することになりました。前回のエントリにも書いたように、今年は僕の人生にとって大きな節目の年になりそうです。

Masters of Software Engineering, Dept. of Computer Science, George Mason University:
http://www.cs.gmu.edu/programs/masters/swe/

上記Dept. of Computer Scienceの教授でありChair(学部長)でもあるHassan Gomaa先生のResearch Assistantとして働かせていただきながら、上記コースを履修することになっています。順調に行けば2年弱で卒業できるはずです。

http://www.ise.gmu.edu/~hgomaa/

Hassan Gomaa先生は、構造化分析設計法やオブジェクト指向分析設計法といったソフトウェア工学分野で世界的に有名な先生で、近年はソフトウェアプロダクトライン工学分野においても有名です。

Hassan Gomaa先生の著書:

Software Design Methods for Concurrent and Real-Time Systems (SEI Series in Software Engineering)

Software Design Methods for Concurrent and Real-Time Systems (SEI Series in Software Engineering)

Designing Concurrent, Distributed, and Real-Time Applications with UML (Addison-Wesley Object Technology Series)

Designing Concurrent, Distributed, and Real-Time Applications with UML (Addison-Wesley Object Technology Series)

Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures (Addison-Wesley Object Technology Series)

Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures (Addison-Wesley Object Technology Series)

実はGomaa先生とは以前からお知り合いで、今回留学を希望している旨をお伝えしたところ、Research Assistant(奨学金)をオファーくださいました。もちろん私のパフォーマンス次第では来年度も引き続きオファーいただけるかどうかわかりません。誠意を持って最大限努力してGomaa先生の研究活動に貢献していきたいと思っています。その中でEMFやGMF、OCL、openArchitectureWareといったEclipseベースのDSL Toolkit関係のスキルを活かせるといいなと思います。

35歳になりました


今日でとうとう35歳になりました*1。このブログを開設してちょうど1年。34歳だったこの1年はとても良い年だったと思います。このブログの開設に始まって、Reflective Ecore Model Diagram Editorも公開することができ、Eclipseプラグイン開発勉強会にも参加し出会いもありました。

そして35歳の年が始まりました。35歳プログラマ定年説などがあるように、世間では「35歳」というのは節目の年のような扱いをされていると思います。

偶然かもしれませんが、私にとっても今年は人生の節目の年になりそうです。迷うことなく突き進みたいと思います!

*1:写真は、妻が誕生日ケーキに作ってくれたフルーツタルト。どうもありがとう!

Ganymedeがいよいよリリース!

いよいよ6月25日にEclipse 3.4、コードネームGanymedeがリリースされました!
Eclipse Delivers Its Annual Release Train | The Eclipse Foundation

Ganymedeとしてパッケージされたプロジェクトのソースコード1800万行だそうです。これらのコードに貢献されたコミッタの方々に感謝と敬意を表したいと思います。そして将来、同じように感謝と敬意を表"される"立場になりたいものです!

ちなみに、次のメジャーバージョン3.5に対するコードネームの候補に「Io」が挙がっているようです。

英会話ペラペラビジネス100

英会話ペラペラビジネス100 ? ビジネスコミュニケーションを成功させる知的な大人の会話術 [CD2枚付]

英会話ペラペラビジネス100 ? ビジネスコミュニケーションを成功させる知的な大人の会話術 [CD2枚付]

タイトルに含まれる言葉「ペラペラ」が示すように、この本はリスニングではなくスピーキングにフォーカスした英会話学習本です。CDが2枚付いていて合計100レッスンあります。

この本の冒頭に、この本が目指すところが述べられていて非常に賛同できます。ビジネスでは時は金なり。日本製の「ビジネス英語」の本には小難しい表現や長い文章がたくさん出てきますが、それらを一生懸命勉強したはいいが、実践において途中で言い詰まったり、1分2分経っても話し始めることができなければ、ビジネスでは使えないと言えます。この本で目指すのは、

ごく基本的な表現を使いこなして流暢に話す

ことです。

各レッスンに録音されている短い会話のスピードはかなりゆっくりで、リスニングの訓練には向いていないかもしれません。一方、CDには、各レッスンについて前述の短い会話に加え、5つ程度の例文が収録されています。各文を読み上げたあと、自分で繰り返すための”間”が設けられていて、スキーキングの練習ができるようになっています。

短めの例文を自分で発音しながら覚えることができ、これが英会話上達の近道だとよく言われているので、この本はそれを実践するのに最適です。

さらにとても良いところは、上記100個のレッスンそれぞれにネイティブスピーカの著者によるポイント解説があり、長く英語圏に住んでいないとわからない「感覚」や間違いに対する「違和感」みたいなものを教えてくれます。例えば、

Sit down.にPleaseをつけても無礼さは直らない。Sit down.自体は先生が生徒に言うような言葉。

とか

名前を尋ねるのにWhat's your name?は失礼な印象を与えるので使わないで。大人同士のFirst Contactをスムーズにするのは、May I have your name?。こちらの方が確実に好印象を与える。

とか、"It's so nice to see you again."という表現についての解説において、

初対面でない人にはNice to meet you.は使わないで。2回目以降に会う時には、必ず、meetの代わりにseeを使うこと。

などなど。

このように、この本はビジネス英会話を勉強するのに非常に良いと思います。私も何年も英語の勉強やソフトウェアの仕事を通じて英語のリスニング、リーディングやライティングをやってきましたが、どうしてもスピーキングは全くダメです。この本で少しでも英語の基礎体力、瞬発力を付けていきたいと思います。