jstudyで「JavaScriptとLisp」ってタイトルのLTしました
昨日、jstudyの第一回目のイベントがめでたく開催されました。
Twitterで見かけて、速攻で申し込んだんですが、せっかくだからLTしたいなと思い、稚拙ながら「JavaScriptとLisp」というタイトルでLTをさせていただくことができました。
発表するまで、ネタとしてどうなんだろうと不安でしたが、予想外に反応があったので良かったです。
jstudyの感想
jQuery、Dojo、JavaScriptの設計手法 x 2、ECMAScript5の仕様、jsdo.itの紹介、iPadとJavaScript、JavaScriptの高速化手法、JavaScriptで昔を懐かしむなどなど、JavaScript好きにはとっても楽しいひと時を過ごすことができました。
LTに立候補していた人があまりいないように思いましたが、実際には11名?の方が発表し、最初から最後まで飽きることなく楽しめました。
今回が第一回目ということだったので、次回も今回のように盛り上がりを見せてくれるとうれしいなーと思います。
発表したこと
JavaScriptとLispというタイトルでLTをさせていただきました。
読者の方はご存知かもしれませんが、私はJavaScriptが大好きで、少しLispの勉強もしてみたことがあります。
その中で、JavaScriptとLispの関連の深さを感じていて、調べてきたことをまとめたものです。
以下、SlideShareにアップしたスライドを掲載します。
参考URL、参考書籍等
スライドの中で紹介した参考URLや参考書籍を以下に掲載します。
参考URL
NetscapeにてJavaScriptを作ったブレンダン・アイクさんのwikiのページと、JavaScriptがSchemeを載せるつもりで作ったということを告白している記事です。
その和訳です。
- Douglas Crockford - Wikipedia, the free encyclopedia
- JavaScript: The World's Most Misunderstood Programming Language
JavaScript: The Good Partsの著者で、JSONの産みの親である、ダグラス・クロックフォードさんのwikiのページと、JavaScriptがCやJavaよりも関数型言語に似てるということを言及している記事です。
その和訳です。
同じくクロックフォードさんが、SchemeのコードとJavaScriptのコードを比較対象している記事です。和訳は見つかりませんでした。
参考書籍
- 作者: Douglas Crockford
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 2008/05
- メディア: ペーパーバック
- 購入: 2人 クリック: 12回
- この商品を含むブログ (9件) を見る
- 作者: Daniel P. Friedman,Matthias Felleisen
- 出版社/メーカー: The MIT Press
- 発売日: 1995/12/21
- メディア: ペーパーバック
- 購入: 10人 クリック: 123回
- この商品を含むブログ (95件) を見る
あと味の関連エントリー
自己紹介にて。
JavaScriptでLispのエッセンスを感じるためには、上記のエントリーのようにreturn縛りでコードを書いてみるといいと思います。
副作用を使わないでどうやって書くか考えると、関数型言語のエッセンスが感じられると思います。また、ループを使わず再帰で書くことが求められたり、その場で評価する無名関数も必要になると思います。*1
Lispのリスト相当のデータ構造をJavaScriptで作ってみる実験をしたエントリーです。
まとめ
勉強会って参加してもなかなか顔を覚えていただけないので*2、何でもいいからLTした方がいいなと思いました。今後はそうしようと思います。
JavaScriptが大好きだということも再認識したし、やっぱりJavaScriptの仕事ができるようになるといいなーと思います。
運営の方々、お疲れ様でした!楽しい勉強会をありがとう!
追記
全体を通してLispと単に表記をしていましたが、Commom LispとSchemeを同一化して扱っていたのはちょっと問題だったかもしれません。
Twitterでid:Ehrenさん(@Masahito)さんから教えていただいたことも追記します。
でも参考書籍に[The Little Schemer]があるからJSがSchemeっぽいのはご存じみたいだな。
@Masahito いや、ごめんなさい。Schemeに近くて、CLには近くないとかはあんまりよくわかってないですw
2010-06-20 21:38:03 via web to @Masahito
@taiju CLは名前空間が変数用/関数用で2つあり、Schemeは名前空間が1つだけ。JSも1つだけだからSchmeに近い。細かい話は次のURLで関数名前空間を読むといいかと > Common Lisp - WikipediaURL
2010-06-20 21:52:29 via YoruFukurou to @taiju
いろいろ中途半端な知識ですいません><
Schemeの方がJavaScriptに近いようなので、もしこのエントリーでLispファミリーに興味をもたれた方は、SchemeもしくはSchemeベースのものを選択してみることをおすすめします。