― Web Technology and Life ―

オレオレ!プログラミング言語学習フレームワーク

2012-02-17
最近Perlの話題が少ない気がして寂しく思う今日この頃で、そんな波に乗っちゃって自分もそろそろ本格的に次の言語を学ぼうかと迷っています。ということで、もし新しいプログラミング言語学ぶなら何に気を付けようかについて「フレームワーク」と題してまとめてみました。

早速、オレオレ、プログラミング言語学習フレームワークについて

フレームワークといっても、まぁ、要するに、新しいプログラミング言語に挑むときに何を気を付けたいかっていうポイントとか視点とかって感じですね。個人的に列挙すると、こんな感じで気を付けたいなーと思います。

  • 【Basic】基本的な関数/演算子、構文の書き方
  • 【Trend】流行/実践の書き方
  • 【Library】ライブラリ
  • 【Testing】テストの方法
  • 【Community】コミュニティ
  • 【Energy】気力

「BTLTCE」。だいぶ、ゴロがわるくてフレームワークチックではないですね。。。まぁそれはおいておいて、個別にぐだぐた語りたいと思います。なお、基本的には、私はPerlしかわからないので、ベースはLL系のPerlとなっております。

【Basic】基本的な関数/演算子、構文の書き方

なんといっても基本は大事ですね。基本なる関数、演算子、構文ってだいたい言語によって同じだから、第一言語を学ぶときは特に意識したいですし、一方で、第二言語以降を学ぶときでも、微妙に書き方違ったり、挙動が違ったりしますねー。あまり基本がわかっていないと、ライブラリのコードとか人のコード読みだすどころじゃないですよねー。

【Trend】流行/実践の書き方

得てして、入門書に載っているコードがわかっても、ライブラリのコードはわからなかったりしますね。Perlだと、ハッシュを使うことは意外と少なくて、実際はハッシュリファレンスを使いますね。

%hash    = ( hoge => 'moge', uga => 'baka' );
$hashref = +{hoge => 'moge', uga => 'baka' };

「+{}って何よ?」って話とか出てきますね。こういうのを、ライブラリとか読みながら、ちょっとずつ学んでいきたいですね。

【Library】主要ライブラリ PerlだとCPANというライブラリの倉庫がありますが、phpのPEARはオワコンとか、って話ですね。要は、ライブラリがあるならその名前とか、どうやって使うのかとか、中でもみんなが使っているものは何かとか、ないなら主要なフレームワークは何かとか、やとかそういうのあるか、ってことですね。これがわかると、前々から述べてきたそのソース開いて「ワキャー!意味不明!!」って体験がきっと出来ると思います。

【Testing】テストの方法

Perlだと「Test::Moreってモジュール使って、ふんふんふん」って話なんですが、他の言語もテストの標準的なライブラリとか手法が用意されているはずだから、それを使って動作テストをしていくのは大事だと思います。最初は、sandbox/t/python/みたな感じにして、その中にちょっと気になった基本構文の挙動確認用のテスト書いちゃってもいいと思っています。そこそこ書けるようになったら、クラス/メソッド分割していって、動作テストの通った安心コードを生み出して行きたいはずですよね。動作テストをためていくことで、「挙動を把握したぞ!リスト」ができていく気がするんですね。

【Community】コミュニティ

まぁ、なんだかんだいったって、ググっても出てこない事とか、その道の達人たちに聞くとなかなかショートカットになったり、挫折しかかったときとか、その言語のコミュニティのひとたちと触れ合うと、いろいろもらえると思うんですね。もちろん、参加する側もいろいろコミュニティに還元しないといけないんだけど、最初は新しい人が新しい風を入れるってことだけでも十分な還元だと思うので、臆せずいろいろ触れ合うのがいいのかなーと思っています。

【Energy】気力

やっぱり最後は、気持ちですね!何事も気持ちが大事。「指先に魂込めて」タイピングできるかですね!まぁ、でも、気持ちが萎えないように、成長を感じために、テストを書いたり、ライブラリ読んだり、コミュニティに参加したり、と結局はバランスなので、前のめりになりすぎて、燃焼しないことにも気を付けたいですね(苦笑)

フレームワークまとめ

いかがでしょうか。上記の視点で、整理して用途ごとに、本買ったり、ウェブの記事スクラップしたり色々したりするのが吉だと思うんですねー。「ぼくはこう思う!」っていうのがあるかたは、Tweetとかで是非教えて下さい!とりあえず、ぼくは、PythonかJavaScriptかにちゃんと挑戦したいと思ってここ数日ですw

ゆるふわハッカソン開催のお知らせ

先に挙げた「Energy」ですけれども、より一層「Energy」をもらえる機会が、きたる2/25(土)にあります。uzullaさんから主催的なポジションを頂いたので、まず宣伝です。

pre Hachioji.pm #14 ~Like a ハッカソン

  • 【ATND】http://www.atnd.org/events/25054
  • 【日時】2012/02/25 09:00 to 17:00
  • 【場所】八王子南口MTビル時間貸し会議室 (東京都八王子市子安町4-9)
  • 【概要】とりあえず、みんなで集まって各自好きなものを開発して、最後に開発したものを発表する感じ?
  • 【費用】会場代として、1000円~1500円位(予定)
  • 【設備】電源、ネット環境は大丈夫なはず

一応、Hachioji.pmのスピンオフイベントですが、当日の夜に開かれるHachioji.pm #14(多摩近郊のプログラマーの飲み会)も開かれますが、それとは別イベントです。 まぁ、Hachioji.pm #14には打ち上げ的に参加してみてもいいと思いますが、ゴリゴリ開発だけを目的に参加してもいいと思いますよ!

個人的な思い

ココからは、だいぶつらつらと。
個人的にはこんな会話がしたいんですよねー。「このコード○○だよねー。こういう書き方もあるよー。」とか、「この実装○○っぽいねー。 」とか、要するに、コードをみながらあーだこーだーいいたいんですよね。でも、実際ハッカソンには一度も行ったことがないけど、なんかこれってハッカソンでやれそうって思うんですよね。Googleのハッカソン運営ガイド読むとなんかガッツリした準備必要って書いてあるんですが、まずはふわっとした感じでやってその中で生まれるコミュニケーションに期待したいと思うんですよねー。個人個人作りたいものがあってモチベーションは違うので、なかなか共同作業は難しいと思うんですよねー。まぁ、ベストは「ゆるふわなテーマは一応設定するけど、別途作りたいものがあれば、それでもいい」って感じで、最後のデモとか発表とかすることだと思うんですね。そんなわけで一応ゆるふわなテーマには、「facebookアプリ」を考えているんですが、どうでしょうか。facebookって、いかんせんAPIとしても、サービスとしても、私が知らなすぎるんで、ちょっと怖いんですが、まぁ気合でなんとかしようかとw(ぶちゃっけ、すでにある簡単なアプリの焼き直しでもいいと思ってますし)

まだ5名ほどの空き枠あるので、テーマにこだわらずなんか集中して開発したいって方は、是非いっしょにどうぞ!→http://www.atnd.org/events/25054

ビジネススキル update_at : 2012-02-17T13:06:18
hirobanex.netの更新情報の取得
 RSSリーダーで購読する   
blog comments powered by Disqus