改め Objective Technician

はぐれ技術者のやりたい放題

Action Script のススメ

2009-08-28 06:01:35 | プログラミング
Action Script に手を出してから半年。この言語を使い込んでいけばいくほど、その素晴らしい点がよく分かってきた。



これからはプログラミングを義務教育に追加するべきだ。

言語は C と ActionScript で。




プログラミング言語の良し悪しを測る指標は以下の3つに集約されると思う。


1:実行環境の柔軟さと簡易さ

せっかく頑張って良い物を作っても、起動するのに少しでも面倒な手間があるとそもそも見てもらえない危険性がある。あと、実行環境が限られるのもダメ。いつどこでもすぐに起動できるようでないと初めて触ってくれる人が遠のいてしまい普及しなくなる。



2:構造的な言語仕様

言語の目的によって言語仕様が違うのは仕方ないが、ただ一貫した思想で構造的かつ素直に組めるようなオブジェクト指向でないとイヤだ。これは自由と制限のバランスの問題だけど、スクリプト言語によくある「型を明示しない」とかアトリビュートとか、あと多重継承とかはその自由度のせいでバグを誘発する地雷になっていると思う。

Cのポインタも自由すぎるがゆえにバグの温床として悪名高いが、これだけは教育的に良い要素がたくさんあるので教材として未来に残すべきだと思う。ポインタを使ってメモリに直接ビシバシとアクセスすることでアドレスの概念を体で覚え、そしてセグメントエラーに何度も遭遇しながらデバッグスキルを身に付け、その後で Java の Vector とか ActionScript の Array とかの便利さと時代の進化に涙を流すのがプログラマとしての通り道だ。

話が飛んでしまった。



3:優秀な開発環境

メモ帳でコーディングし、DOS窓からコンパイル・実行する。そんな原始的なことをやっていた時期が私にもありました。メモ帳とDOS窓だけでルービックキューブを解くCプログラムを書いたことがある。1000行ちょっとだったけど、メモ帳で開発なんて今じゃもう考えられない。でもむしろ、それでバグの匂いを嗅ぎ取る嗅覚がすごく鍛えられた。バグ自体も、単なるタイプミスから、整合性のミス、論理間違い、処理の書き忘れ、ヌル参照、仕様自体のバグ、その他いろんなパターンがあるから、エラーログやソース、プログラムの挙動や変数の中身などあらゆる手がかりを統合してカンを働かせる必要がある。バグに対する嗅覚はコーディングをこなした量に比例して鍛えられるので、これからはやはり義務教育としてメモ帳でのコーディングを課すべきである。ちなみに、IDEの補助なしにデバッグを行うことを「ブラインドデバッギング」と言う(今考えた)。


というようなムダな苦労をした上で、高機能な統合開発環境に触ってみるとそのあまりの便利さに涙が出る。たぶん、IDEを使う一番のメリットはコードの補完機能。あと、書いたそばからの文法・整合性チェック、とコードの彩色。これがあるだけでタイプミスがほぼ絶滅されてタイプ量も劇的に減る。優秀なIDEだと、楽にコーディングが進むあまり特に用事がないときでもついIDEを立ち上げて何かしらのソースをカタカタと書いてしまう。だから、言語の発展は常にIDEと共にあると言っても過言ではない。


話が飛びすぎてしまった。





以上の3つの指標に照らし合わせた場合、Action Script はいずれも普及するに値する性質を持っていると思う。


1:実行環境の柔軟さと簡易さ

言うまでもなく、Flash は OS や ブラウザ の垣根を飛び越えて普及率ほぼ 100% である。しかも、ブラウザのプラグインとして web ページから実行できる。これだけ恵まれた実行環境を他に知らない。ネットワークを介してどこからでも実行可能でしかもメンテナンスが楽。しかもスタンドアロンアプリとちがってOSの違いを意識しなくて良い。これでは Java アプレットが淘汰されたのも納得してしまう。



2:構造的な言語仕様

ActionScript はプログラミング言語開発の長い歴史と蓄積の上に設計されているので、言語仕様が洗練されていてすごく合理的。その美しさゆえに、ごく一握りの天才プログラマが書く芸術的なソースコードはその文字が輝いて見えるという。あとライブラリも、GUIコンポーネント、物理エンジン、3DCGエンジン、tweener、など、文句なしに充実している。


3:優秀な開発環境

FlashDevelop という素晴らしいフリーの IDE が存在する。コードの補完機能が Eclipse よりも数段上。必要な import を勝手にやってくれるわ、ありとあらゆるワードを補完してくれるわ、なんとタイプミスしても正しく補完してくれるわで、これを使い始めるともう戻れない。あと、補完機能が強烈だと言語のリファレンスさえもいらなくなる。あるオブジェクトにどんな要素があるか調べたかったら、ドットを入力して補完されたリストを見ればその名前と簡単な説明だけで大体察しがついてしまう。予め用意されているであろうなんかの関数を使いたいときも、適当にそれっぽい名前を想像して入力すると、それっぽい名前の関数が補完されて出てくるので、ほとんどの場合それで用が済んでしまう。これで実装スピードが相当速くなる。






インターン中の飲み会で、職場の先輩方が学生のときの開発に関する話を聴く機会があった。windowsとかよりもずっと昔からの話。パンチ穴が空いた紙には境目にマジックで線を書くだとか、プログラムサイズ2kでデカイと言っていたとか、フロッピーが8インチだとか、アセンブラでコーディングしてデバッグでは機械語を直接いじくるとか、凄まじいことが行われていたらしい。


現代の環境のことを「正しい時代」と表現していた。


それに比べたらメモ帳でCのコードを書くなんてぜんぜんカワイイもんだなぁと思った。

帰りたくない

2009-08-27 23:48:37 | 勉強
8月25日(Tue) 予固酢化 夜 暑

jog 2km
ドリル
walk 2km


8月27日(Thu) 予固酢化 夜 暑

jog 2km
walk 2km



左ヒザがツンデレなので困る。


つい一週間前までは調子良く練習付き合ってくれてたのに、今週になってまたツンツンしてきた。


キミとは長い付き合いになりそうだ…。






研修発表が終わった。

一ヶ月は短かった。

仕事としてはまとまった成果を出せたが、インターン中に思いついたアイディアの半分以上は手を付けられないまま終わってしまった。


でも、本業の研究でも使えるおもしろい技術を新たに獲得したので、帰ったらさっそく導入していじくり回してやろう。






今回は、自分の進路について考える材料が欲しくて研修に参加した。

このまま大学でScienceを突き詰めるのか、それとも企業でEngineerとして生きていくのか。



必ずしも両極端にどっちか一方しかできないってわけじゃないだろうけど、この選択の猶予はあと半年もない。




ここに来て初めて知った言葉だけど、自分の研究スタイルは「ラピッドプロトタイピング」という手法に分類されるらしい。

コーディングだけじゃなく、仮説-検証-考察-…の思考ループまで、いつの間にかそのスタイルで動いている。



ただ、そのエネルギーを向ける対象の基準は昔から、「面白いかどうか」という自己チューなものだった。




…結局面白ければなんでもいいのかYO! という気になりつつある。









ただ、表面的な事柄ばかりに目が行って、本質を追求することを忘れてしまうような研究者にはなりたくない。

寿司 on a 回転

2009-08-23 18:44:58 | 陸上競技
研修期間中、怖いほど正確に朝5:30に目が覚める。


夜更かしした日でも疲れて21時に寝た日でも夜走った日でも昼に練習した日でも、誤差±5分以内。



仙台にいるときよりも確実に健康的。





でも、「おはようございます! 今日も早いですね!」


と言う人はたぶん何かが重複していると思う。





今日も仕事休みなのに不覚にも早起きしてしまったので、そういえばインターン中最後の休日だということで、海岸まで足を伸ばした。













8月23日(Sun) 不入斗 昼 暑

ドリル

スタブロ 飽きるまで

150m×3

c-down



不入斗のトラックで練習するのも今日が最後。


一ヶ月お世話になりました!



驚くべき成果を得たが、それを述べるには私の表現力が貧弱すぎる

2009-08-22 20:28:29 | 陸上競技
インターン3週目終了。いよいよ佳境。


先輩の技術を越える結果を出してしまい、他にもアイディアがボロボロ出てくるもんだから、考えを文章に変換するフェーズにたっぷり時間を使ってしまった。

スライド作成の進捗がよろしくない。自分はプレゼン前に10回以上は練習しないと内容をまともに人に伝えられないので、練習時間をなんとしてでも確保しなくてはならない。


でも休日出勤はダメらしい。なんて不便なシステムなんだ。



仕方ないから図書館に引きこもって作業を進めて、そのあと走った。




8月18日(Tue) 予固酢化 夜 暖

ハイスピードjog 3km
ドリル
流し150m×3
ハイスピードjog 2km


8月20日(Thu) 予固酢化 夜 暖

jog 3km
ドリル
jog 2km


8月22日(Sat) 不入斗 夕 暑

ドリル
150m流し×3

200m×2
150m×3

c-down



まだ、スパイク履くと高確率でふくらはぎの痙攣が発動する状態。


なんとか 200m を最後まで走りきれる体まで戻したい。







と、つい頑張ってしまいそうになると、自分は踊る大捜査線のある一場面を思い出して「まぁいいか。」と思うようにしている。




シロー:「あなたみたいにチャランポランでも生きてる人はいますから」

和久さん:「これが長生きの秘訣なんだ」








世界大会

2009-08-16 20:56:46 | 陸上競技
陸上のとヨーヨーのが同時進行中。


あっちもこっちもチェックが大変だ!







8月13日(Thu) 不入斗 夜 暑

2km jog
ドリル
150mWS×3
2km jog


8月15日(Sat) 不入斗 昼 暑

ドリル
150m流し×3

(100-200-100-100)×2

c-down


8月16日(Sun) 不入斗 昼 暑

ドリル
120m流し×3

150m×(3+2+2)

c-down


人がいない。

トラックほぼ独り占め。

スパイク履き放題。




「走ってて気持ちいいレベル」まで上がってきた。

良かったときの走りの感覚を取り戻しつつある。













インターンが半分の2週間経過したが、仕事内容と研究環境がステキすぎてなんかもう、…このまま仙台帰りたくないでござる。
















あと、駅前にこんな人もいた。





ドキドキしてしまう。

Can't Stop Running

2009-08-11 22:23:12 | 陸上競技
  



↑こんな銅像が駅前のいろんな場所にいる。



2番目の人がセクシーだ。




8月9日(Sun) 不入斗 夕 暑^2

ドリル
120流し×3

200m×(2+2)

c-down


8月11日(Tue) 不入斗 夜 涼

2km jog
ドリル
150m流し×(3+2)

2km jog




研修先の先輩方と昼食をとったあと、食堂の外で保険の勧誘してるおばちゃんが、年輩の社員に何かをこっそり渡して二言三言交わしている場面に遭遇し、思わず見ると、その手元にはなんと


ホームパイ





なんかじわじわ来た。


それなんてワイロ?

めくるめけ Y O K O S U K A

2009-08-08 20:00:20 | 陸上競技
宿泊先から2kmの不入斗公園。ブルートラック。




8月3日(Mon) 予固酢化 夜 暑

約4km 走ったり歩いたり


8月5日(Wed) 予固酢化 夜 暑

5km jog
2km walk

8月7日(Fri) 不入斗公園 夜 暑

2km jog
ドリル
150m直線WS ×(3 + 3)
2km walk

8月8日(Sat) 不入斗公園 昼 暑^2

walk
ドリル
120m流し×3

テンポ走 150m×3、110m×3
c-down
walk


週末は研修が休みでトラックが使える時間帯に練習できる日。

スパイク履いたけど微妙…。どうしても左ひざをかばってしまう。



平日は仕事終わった後にだばだばしてるけど、これがなかなか、夜中に市街地を徘徊するのが異常に楽しい。















今のところ、自分の技術と研究スタイルは開発の現場で通用している。



「仕事が速い」なんて言われると調子に乗ってしまって、研修初めから少し飛ばし過ぎた感があるが、まぁ、あと3週間やりたい放題やらせてもらう。










うひゃぁ!




めくるめけ出張

2009-08-01 00:22:11 | 陸上競技
ここ最近、なんかのスイッチが入ってしまって「めくるめけ」というワードだけで無条件に何回でも笑ってしまう。


ことあるごとに「めけるめけ」の5文字を思い出しては一日中ニヤニヤしているので、だいぶ気持ち悪い人になってると思う。



しかし毎度のことながら、USUTA様の生み出す言葉は神懸り的に絶妙な語感を持っている。





「ポテンシャル花井」とか「カルシウム溶田」とか、あと「ノッホソ」とかのセンスにもほとほと感服するが、他には例えばこれの「ズリーッ」だけで一週間ぐらいずっと笑える。

















今日でいろんな後始末が終わって、来週から一ヶ月のあいだ就業体験をしに神奈川へ出張。



しかし待遇がすごい。あまりにも条件が良すぎてなんか申し訳なくなる。

報酬に見合った良い仕事ができるだろうか…






ホテルがブルートラックの公園まで2kmという素晴らしい場所にある。

自転車があれば楽なので、自転車で行こうかと一瞬思ったが、思いとどまった。


今日は評定で100mを数本流したけど、これまでだいぶ休んでしまったのでこの機にめくるめけ…