Lambdaとは?何語?意味?
はい、どーも!
社内でJava8のラムダ式の話が出た際に、
「ラムダについてブログ書く人」に任命されたテルオです。
さて、Javaのバージョン8から追加されたラムダ式ですが…
上記のリンクを読んだらなんとなく分かった気分になったので、
この記事ではラムダ式については書きません!!!
代わりに、ラムダ違いのAWSのLambdaについて書こうと思います。フェイントです。
そもそも
まずlambdaの言葉の意味が分からないので、こんな時はweblioに助けを求めます。
主な意味
λ、ラムダ、人字縫合
ギリシア語アルファベットの11番目の文字
ギリシャ語のアルファ、ベータ、ガンマのノリと一緒のやつということが発覚しました。
他にはシグマとかオメガとかもよく聞きます。ギリシャ語かっこいいです。
ただ、「人字縫合」が何のことなのかものすごく気になります。
人字縫合
人字縫合は「ラムダ縫合」「ラムダ状縫合」とも呼ばれてるそうです。
早速、「ラムダ状縫合」でweblioに再度助けを求めると以下の説明が出て来ました。
ラムダ状縫合は頭蓋冠後部で後頭骨と左右の頭頂骨を結ぶ。
http://shiratorik-kango.blog.so-net.ne.jp/2013-03-20-3
そして↑の記事を読む限り、
結ぶ行為ではなく、頭蓋冠後部で後頭骨と左右の頭頂骨を結んである部分をラムダ縫合と呼ぶそうです。
順番が前後しましたが、「縫合」という言葉をweblioで調べましょう。
①
縫い合わせること。特に,外科手術などで,切断された組織を回復させるために患部を縫い合わせること。 「傷口を-する」
②
骨のつながり方の一。結合部分に鋸の歯のような凸凹があり,互いにかみ合ってつながっているもの。頭蓋骨のみに見られる。
ラムダ縫合の場合、1ではなく2の方の意味で捉えられます。
ということで、
ラムダ = 頭蓋冠後部で後頭骨と左右の頭頂骨を結んである骨のつながり方
ということが分かりました。
考えてみれば、骨のつながり方がλ←こんな感じに似てるからラムダって名前にしたのだろう、と容易に推測できます。
…さて、人字縫合について知見を深められたのに心がまだスッキリしません。
なぜでしょうか?
ラムダ計算
「AWSのLambdaもJava8のラムダ式も、頭蓋冠後部で後頭骨と左右の頭頂骨を結んである骨のつながり方とはあまり関係なさそう」
これが心がスッキリしないことの原因でしょう。
大変失礼しました。
人字縫合から少し離れてまた「ラムダ」について調べていると、「ラムダ計算」という文字列を見つけました。
これはかなり期待が持てる文字列です。
https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97
Wikipediaにかなり説明されてますが、最初の2行だけ抜き出してみます。
ラムダ計算(ラムダけいさん、英語: lambda calculus)は、計算模型のひとつで、計算の実行を関数への引数の評価(英語: evaluation)と適用(英語: application)としてモデル化・抽象化した計算体系である。ラムダ算法とも言う。関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。
大事な箇所を再度抜き出します。
関数を表現する式に文字ラムダ (λ) を使うという慣習からその名がある。
納得の名前の由来です。
肝心のラムダ計算については、調べてもそこまでピンっと来なかったので一番大事なところですが省略させてください。
存在意義を揺るがす
…と、ダラダラ全く意味もないことをここまで書いてきましたが、
このタイミングでQiitaですごい記事を見つけてしまいました。
『【 関数型プログラミング 】 無名関数(lambda)・ラムダ式・ラムダ計算の 呼び名 と 記法 は、なぜ lambda(ラムダ) なのか? ~ 数理論理学の大著『プリンキピア・マテマティカ』中で 使われた カレット記号「^」 を、アロンゾ・チャーチ が ギリシャ文字「ラムダ」の大文字(Λ)に置き換えたのが由来と判明。』
http://qiita.com/HirofumiYashima/items/836087b649e8b10ef3ac
タイトルで全て出オチという..!
そして、今回僕の書いてるこの記事の存在意義を揺るがす内容です。
とりあえずラムダ計算がAWSのLambda、Java8のラムダ式の元だというのは正解だったようです。やりました。
ラムダ計算、関数型プログラミングについては、また今度ちゃんと調べて書きたいです…
結びに
このまま終わると本当に意味のない記事になりそうです。
それは避けねばなりません。
冒頭でAWS Lambdaについて書く、と言いましたが、
ここから12行だけ書きます!!!!!!!
先日、Slackのbotからキーワードを打ったらAWS Lambdaを通ってBacklogのAPIを呼び出してイシュー情報を取得して、Slackのbotにそのイシュー情報を返す、というプログラムを作ってみました。
GitHubに公開したのでコード等は特に見ずにスターを付けてください。
https://github.com/teriyakiegg/lambda-backlog-slack
イシュー情報ただ返すだけじゃなくて内容を分析してbotにコメントをしてもらうようにしたいのですが、まだできてないのでこれから改造予定です。
プログラムを動かすまでの手順を一応READMEに書いてみたのですが、ざっくりしすぎててあてにならないかもしれません…
AWS Lambda、ちょっとだけですが使ってみた感想としては、無限の可能性があるのでは、と思いました。抽象的でほんとすみません。
無料枠があるので、気軽に試すのをオススメします。
このプログラム作った時に起こったことは後日自分のブログの方できっと書きます。
それでは、ここまで読んでくれてありがとうございました。
Posted by てるお
twitter @teriyakiegg
site https://teriyakiegg.com