ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

ネタプログラミング言語クリエイターYouma (Gunma.web #8)

この会はあくまでGunma."web"のはずなんですが、
Web成分0というとんでもない発表であり、
しかも今回は初めての方が多かったという・・・


次回は真面目にWebネタをやりまする(ノ´・ω・)ノミ(m´_ _)m

スライド

  • 1枚目のタイトルはフェイクです
    • 真のタイトルは中盤に
  • #3(のネタ発表の方)とデザインはほぼ同じ
  • フォントがSlideShareで崩れまくるので、もうちょっと研究がいる
    • 非公開でUPするにはお金を払わないとダメよね・・・(´-ω-)

補足

  • 私が最初に触ったプログラミング言語MSX-BASIC
  • 次は大学で触ったC
    • C++の授業は単位が足りていたので蹴っちゃったΣ(・ω・ノ)ノ
  • 大学時代に趣味でPerlを少々
  • 社会人になってからJava/Perl/JavaScript/etc…
  • つまり、アセンブラの経験はないのでございます
  • なので、おそらくその辺がわかる方なら自明なことが多いかと
    • むしろ、私にとっては自明ではないから、やろうと思ったわけで(´・ω・`)
  • 作った経緯に関しては発表資料の通り
  • #7 の帰りにぼーっと考えていて、抽象化のアイデアが浮かんだ
  • 年末年始の休みでコーディング...φ(・ω・`)
  • 休み中にWindstormのプロトタイプは完成していた
  • ・・・が、問題はここから
  • オリジナルのBFはともかく、misaが通らないΣ(゚Д゚)ガーン
    • そのあたりのもろもろはリリース記事の方を
  • サンプルを作るセンスがない
    • そもそも、それがないから「仕組み」に逃げたわけで・・・
    • QBのやっつけ感とかひどい(´-ω-)
  • ドキュメントを書くのがめんどい
    • 1月末のもくもく会でひたすら書きまくっていた
  • 結局、仕組みを作るよりも、その周辺に時間をとられる(´・ω・`)
  • 一方、資料作成はプロット込みで1日程度
    • Gunmaと見せかけてYoumaというフェイクも作る前に浮かんでいた
    • だからこそ、珍しく「真っ先にタイトル発表」したわけで( ̄ー ̄)ニヤリ
  • 作ったもの自体がネタなので、資料にはあまりネタを入れない感じで
  • でも、冒頭でも書いたように、Web成分が皆無
    • 新規の人が多いのに、これを最初に持ってきたら大惨事Σ(゚Д゚;≡;゚д゚)
    • なのでラストの方に回してもらった
  • 次回はWebのネタで・・・
  • 質問で提示された使い方
  • 「暗号文として使えないか?」
    • あらかじめ送信者と受信者で定義を決めておく
    • 送信者はWindstorm+定義で特定の文章になるソースを送信
    • 受信者がソースをWindstorm+定義で復号
  • その発想はなかった...φ(・ω・`)
  • さらなる使い方
  • http://www.ivoryworks.com/blog/2012/03/1829
    • すでに存在するそれっぽい文章から、逆算的に定義を作る
      • 例:オカルトな文章から「1999/07」を導く定義
    • この定義とWindstromを使ってドヤ顔する
      • 「つまり・・・この文章にはこういう謎が隠されていたんだよщ(゚Д゚щ)」
      • 「ΩΩΩ < ナ、ナンダッテー!!」
  • この発想もすばらしい...φ(・ω・`)

数学ガールとの関係


最後にこれに触れないわけには・・・



wktkされてしまったでござる(((((( ;゚Д゚)))))


(漫画版を)読んでいて気づいたのは、
「形式的体系から"機械的に"処理して結果を導く」というのが、
まるっきりWindstormそのものだな・・・と


つまり、Windstromは文字列の「意味」を考えてないわけですよ
「公理」や「定義」に照らし合わせて、"機械的に"処理しているだけで、
例えば「群馬」という文字列の「意味」を知らないわけです
(だから「抽象的命令語」に置き換えが可能)


そもそも、「プログラミング言語」のParser自体、
「意味」は考えてないわけですよね


多くのプログラミング言語で、
「if」を判定文に使うのは人間がわかりやすいからであって、
Perser=機械からすれば「hoge」でも同じことです


結局のところ、「プログラミング言語」とは・・・

"記述ルールという形式的体系を定義し、
ソースという入力を機械的に処理して、結果を返すもの"

・・・ということでしょうか


そう考えると、やっぱりプログラムと数学には密接なつながりが(`・ω・´) b


もうちょっと進めると、ゲーテルの証明はまさに「宣言的プログラミング」であり、
関数型言語の基礎みたいなことをやっているのですが、
この証明はコンピュータの発明よりはるかに前なんですよね・・・


ついでに、昨年触ろうとして挫折した「Coq」が何をしようとしていたのか、
文庫版を読んでやっとわかった気がします



本当に、「気がしただけ」ですがΣ(゚Д゚)ガーン