SlideShare a Scribd company logo
1 of 24
Download to read offline
笑える
プログラミング
自己紹介

•
    – プログラマ
     •
    – 東京      勉強会 主宰
     •
• 趣味
    – 料理
    – 電子工作
最初に結論

   笑いに
   あふれた
   ソースコード
        …をご紹介します
テキストにおける



 笑いの
 表現①
笑     ワラ
    \^ ^/
テキストにおける



 笑いの
 表現②
wwwwwww
ちょwwwおまwww
      →「草を生やす」
こちらをご覧ください



   wWW
   wwww
             →草生えまくり
大爆笑してるっぽい

  wWWwwww

完全な
  ソースコード
実行すると

$ cat wWWwwww | ruby grass.rb
w
       で実装されたインタプリタで

     を実行すると       を出力する

        工エエェェェΣ ゜Д゜
ぽい
 笑える
   ってるっ


プログラミング
      言語
なんじゃこりゃ?




ちょっと草植えときますね型言語
の特徴

• 使う文字は3つだけ
 – 「 」「 」「 」
   • この3つ以外は無視
   • 全角でもおk
• 関数型言語
 – 型なしラムダ計算
• スタックマシン
 – 関数も値もスタックから出し入れ
どの言語でも最初に書くプログラム
wWwwwWwwwwwWWWWwvwvwwWWWWwWWWWwwwvwwWWwwWwwvwwWWWwWWWwvwW
WwWwvwWWwwwwwWwwvwwWWwWWWwvWwvwwwWWWwwWwwWWWWwvWwwwWWWWwW
WWWwwwWwwWWWWWwWWWWWWwvwwWWwWWWwvWwwWWwwwwWWWwwwwwwWWWWWW
WWWWwwwwwwwwWwwWWwwwwWWWwwwwwwvwwwWWWwwWwwWWWWwvWwwwwwwWW
wwwwWWWwwwwWWWWwWWWWWWWWWWWWWWWWWWWwwwwwWwwWWwWWWwWWWWwvw
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWwwwwwwwwwWwwwwwwwwwWwwwwwwWw
wwwwwwWwwwwwwwWwwwwwwwwwwwwwwwwwwwWwwwwwwwwwwwwwwwwwwwwww
vwwvWWwWwwWwwwwwwWwwwwwwWwwwwwwwwwWwwwwwwwwwwwwwwwwwwWwww
wwwwwwwwwwwwwwvw
こんな言語なのに


•コンピュータサイエンスの
 視点からは
 ちゃんとした言語
– チューリング完全
奇妙な言語

•
    – 難解な、深遠な、秘密の、秘伝的な…
     • ぁゃιぃ
• すごく勉強になる
    – …かも
• いくつか紹介します
    – 残り時間次第
+++++++++
[>++++++++>+++++++++++>+++++<<<-]
>.>++.+++++++..+++.>-.
------------.<++++++++.
--------.+++.------.--------.>+.
quot;!dlrow olleHquot;>v
              ,:
              ^_@
              quot;!dlrow olleHquot;>v ,: ^_@
The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.


           Act I: Hamlet's insults and flattery.

           Scene I: The insulting of Romeo.        以下 行略
[Enter Hamlet and Romeo]

Hamlet:
You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave
hero and thyself! Speak your mind!
参考資料

       •     で作る
           奇妙な
           プログラミング言語
           –原 悠
           – 毎日コミュニケーションズ
           –
           –¥
まとめ

•「奇妙な言語」をご紹介しました
•「チューリング完全」
•作ってみる?
ご清聴ありがとうございました。

More Related Content

What's hot

What's hot (20)

L06 A
L06 AL06 A
L06 A
 
բաց դռների շաբաթ
բաց դռների շաբաթբաց դռների շաբաթ
բաց դռների շաբաթ
 
SunFlower_980904
SunFlower_980904SunFlower_980904
SunFlower_980904
 
핸드폰 내구제 꼼꼼하게
핸드폰 내구제 꼼꼼하게핸드폰 내구제 꼼꼼하게
핸드폰 내구제 꼼꼼하게
 
柬埔寨鄉村婚禮
柬埔寨鄉村婚禮柬埔寨鄉村婚禮
柬埔寨鄉村婚禮
 
야썰 보자아아~
야썰 보자아아~야썰 보자아아~
야썰 보자아아~
 
協創営業道場資料
協創営業道場資料協創営業道場資料
協創営業道場資料
 
2008.4.Kyosou
2008.4.Kyosou2008.4.Kyosou
2008.4.Kyosou
 
Subversionでバージョン管理を!
Subversionでバージョン管理を!Subversionでバージョン管理を!
Subversionでバージョン管理を!
 
칭찬할만한 핸드폰 내구제
칭찬할만한 핸드폰 내구제칭찬할만한 핸드폰 내구제
칭찬할만한 핸드폰 내구제
 
コンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talkコンサルティングと私 Lightning Talk
コンサルティングと私 Lightning Talk
 
무직자 대출도 위험이 있죠
무직자 대출도 위험이 있죠무직자 대출도 위험이 있죠
무직자 대출도 위험이 있죠
 
핸드폰 내구제 출격 준비
핸드폰 내구제 출격 준비핸드폰 내구제 출격 준비
핸드폰 내구제 출격 준비
 
Introduction to Commputer Programming
Introduction to Commputer ProgrammingIntroduction to Commputer Programming
Introduction to Commputer Programming
 
Panyancn
PanyancnPanyancn
Panyancn
 
속이 깝깝한 무직자대출
속이 깝깝한 무직자대출속이 깝깝한 무직자대출
속이 깝깝한 무직자대출
 
Meconomy –Ch3,4
Meconomy –Ch3,4Meconomy –Ch3,4
Meconomy –Ch3,4
 
무직자 대출 순차적
무직자 대출 순차적무직자 대출 순차적
무직자 대출 순차적
 
대리점에서 욕심 내던 핸드폰 내구제
대리점에서 욕심 내던 핸드폰 내구제대리점에서 욕심 내던 핸드폰 내구제
대리점에서 욕심 내던 핸드폰 내구제
 
วันกตัญญู
วันกตัญญูวันกตัญญู
วันกตัญญู
 

Viewers also liked

GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013Ryo Sakamoto
 
オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話京大 マイコンクラブ
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座Sakiyama Kei
 
冴えないデータセットの育て方
冴えないデータセットの育て方冴えないデータセットの育て方
冴えないデータセットの育て方Kazuhiro Sasao
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門Takami Sato
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドBrocade
 
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Takami Sato
 
ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)Brocade
 
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...Takami Sato
 

Viewers also liked (20)

GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
GPUが100倍速いという神話をぶち殺せたらいいな ver.2013
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座
 
ごちうサーチ
ごちうサーチごちうサーチ
ごちうサーチ
 
よいコード、わるいコード
よいコード、わるいコードよいコード、わるいコード
よいコード、わるいコード
 
冴えないデータセットの育て方
冴えないデータセットの育て方冴えないデータセットの育て方
冴えないデータセットの育て方
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...
第22回-第1部「この価格でここまでできる!驚愕のエントリー・ストレージ活用方法」-IBM Storwize V3700-(2012/11/29 on し...
 
まんが日本昔ばなし
まんが日本昔ばなしまんが日本昔ばなし
まんが日本昔ばなし
 
第19回「IBM Smarter Storage、ストレージに関するビジョンと展望」(2012/08/23 on しすなま!)
第19回「IBM Smarter Storage、ストレージに関するビジョンと展望」(2012/08/23 on しすなま!)第19回「IBM Smarter Storage、ストレージに関するビジョンと展望」(2012/08/23 on しすなま!)
第19回「IBM Smarter Storage、ストレージに関するビジョンと展望」(2012/08/23 on しすなま!)
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
FCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイドFCスイッチゾーニング設定ガイド
FCスイッチゾーニング設定ガイド
 
文字コード基礎論A
文字コード基礎論A文字コード基礎論A
文字コード基礎論A
 
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!Word2vecで大谷翔平の二刀流論争に終止符を打つ!
Word2vecで大谷翔平の二刀流論争に終止符を打つ!
 
ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)ブロケード FC ファブリックスイッチオペレーション講座(前編)
ブロケード FC ファブリックスイッチオペレーション講座(前編)
 
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
NIPS2016論文紹介 Riemannian SVRG fast stochastic optimization on riemannian manif...
 

More from Hiromu Shioya

不惑の生存戦略
不惑の生存戦略不惑の生存戦略
不惑の生存戦略Hiromu Shioya
 
珍獣 素人 そして くのいち
珍獣 素人 そして くのいち珍獣 素人 そして くのいち
珍獣 素人 そして くのいちHiromu Shioya
 
Rubyistが歩むべき道への道
Rubyistが歩むべき道への道Rubyistが歩むべき道への道
Rubyistが歩むべき道への道Hiromu Shioya
 
自宅で本気を出さされた
自宅で本気を出さされた自宅で本気を出さされた
自宅で本気を出さされたHiromu Shioya
 
クマとデバッグを
クマとデバッグをクマとデバッグを
クマとデバッグをHiromu Shioya
 
クマとジャーニーマンとステマ
クマとジャーニーマンとステマクマとジャーニーマンとステマ
クマとジャーニーマンとステマHiromu Shioya
 
お前の本気を見せてみろ!
お前の本気を見せてみろ!お前の本気を見せてみろ!
お前の本気を見せてみろ!Hiromu Shioya
 
Git道場を開催してきた
Git道場を開催してきたGit道場を開催してきた
Git道場を開催してきたHiromu Shioya
 
三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイル三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイルHiromu Shioya
 
俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平Hiromu Shioya
 
ベジェ曲線を書いてみた
ベジェ曲線を書いてみたベジェ曲線を書いてみた
ベジェ曲線を書いてみたHiromu Shioya
 
オススメの技術書
オススメの技術書オススメの技術書
オススメの技術書Hiromu Shioya
 
はじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGitはじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGitHiromu Shioya
 
肉とRubyとわたし
肉とRubyとわたし肉とRubyとわたし
肉とRubyとわたしHiromu Shioya
 

More from Hiromu Shioya (20)

不惑の生存戦略
不惑の生存戦略不惑の生存戦略
不惑の生存戦略
 
勉強会なう
勉強会なう勉強会なう
勉強会なう
 
LTの技術
LTの技術LTの技術
LTの技術
 
珍獣 素人 そして くのいち
珍獣 素人 そして くのいち珍獣 素人 そして くのいち
珍獣 素人 そして くのいち
 
夏夏
 
Tupperware
TupperwareTupperware
Tupperware
 
Rubyistが歩むべき道への道
Rubyistが歩むべき道への道Rubyistが歩むべき道への道
Rubyistが歩むべき道への道
 
自宅で本気を出さされた
自宅で本気を出さされた自宅で本気を出さされた
自宅で本気を出さされた
 
クマとデバッグを
クマとデバッグをクマとデバッグを
クマとデバッグを
 
クマとジャーニーマンとステマ
クマとジャーニーマンとステマクマとジャーニーマンとステマ
クマとジャーニーマンとステマ
 
お前の本気を見せてみろ!
お前の本気を見せてみろ!お前の本気を見せてみろ!
お前の本気を見せてみろ!
 
Git道場を開催してきた
Git道場を開催してきたGit道場を開催してきた
Git道場を開催してきた
 
三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイル三周まわったおれたちのアジャイル
三周まわったおれたちのアジャイル
 
俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平俺たちの目指すモバイルの新たな地平
俺たちの目指すモバイルの新たな地平
 
2011年の漢字
2011年の漢字2011年の漢字
2011年の漢字
 
ベジェ曲線を書いてみた
ベジェ曲線を書いてみたベジェ曲線を書いてみた
ベジェ曲線を書いてみた
 
オススメの技術書
オススメの技術書オススメの技術書
オススメの技術書
 
はじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGitはじめて学ぶバージョン管理とGit
はじめて学ぶバージョン管理とGit
 
肉とRubyとわたし
肉とRubyとわたし肉とRubyとわたし
肉とRubyとわたし
 
祝辞
祝辞祝辞
祝辞
 

笑えるプログラミング