lt (コピー)

30
LT

Upload: bitterfox

Post on 15-Jan-2015

65 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Lt (コピー)

LT

Page 2: Lt (コピー)

自己紹介● 情報理工学部システム学科2回

● Twitter: @bitter_fox● 好きなもの: Java● 好きなキャラ: シエル伯爵、紀田将軍

シエルタソの画像 紀田様の画像

Javaのロゴ

Page 3: Lt (コピー)

自然言語処理(意味深)

Page 4: Lt (コピー)

うみちゃんのLTを見て

画像

Page 5: Lt (コピー)

もしかして情報系の日本人って・・・

Page 6: Lt (コピー)

日本語とプログラミング言語はもちろん

Page 7: Lt (コピー)

野獣先輩の画像ファッ!?

(for!?)

Page 8: Lt (コピー)

暴力団員の画像あくしろよ

(ACKしろよ)

Page 9: Lt (コピー)

淫夢語+英語

Page 10: Lt (コピー)

● 日本語● 英語● プログラミング言語

を淫夢に乗せて

Page 11: Lt (コピー)

第一章言語現状!日本開発者たちの逆襲

Page 12: Lt (コピー)

英語話者

情報系の日本人

オナシャス日本語使わせてください

車に乗った外国人

車に乗ったサッカー選手

Page 13: Lt (コピー)

英語話者

情報系の日本人

英語使えよあくしろよ

車に乗ったサッカー選手

車に乗った外国人

Page 14: Lt (コピー)

英語話者

情報系の日本人

車に乗ったサッカー選手

車に乗った外国人

なでしこの画像 ひまわりの画像

Page 15: Lt (コピー)

ひまわり

● まんま日本語に見えるようなコード

● あんまり普及していない● 開発終了● 「なでしこ」へ

Page 16: Lt (コピー)

なでしこ

● 更に日本語に見えるコード

● あんまり普及していない

Page 17: Lt (コピー)

第四章原作レ○プ!日本語と化したJava

Page 18: Lt (コピー)

まずJavaさー日本語使えるんだけど使ってかない?

ジェームズゴスリングの画像

http://image.itmedia.co.jp/enterprise/articles/1004/12/yu_gos.jpg

Page 19: Lt (コピー)

日本語 in Java

● 日本語使用可public class メイン {

public static void main(String[] 引数達) {

for ( String 引数 : 引数達) {

System.out.println(引数);

}

}

}

Page 20: Lt (コピー)

識別子にしか使えなかったけどいいかな〜?ジェームズゴスリングの画像

http://ascii24.ascii.jp/2002/05/24/thumbnail/thumb300x243-images685451.jpg

Page 21: Lt (コピー)

野獣先輩の画像ファッ!?

Page 22: Lt (コピー)

日本語 at Identifier

● 識別子にしか使えないpublic class メイン {

public static void main(String[] 引数達) {

for ( String 引数 : 引数達) {

System.out.println(引数);

}

}

}

● 英語のライブラリのため更に使える場所が少ない

Page 23: Lt (コピー)

もっともっと!!

● 予約語にも使えるようにしたい!

● そのためにはコンパイラを弄る必要がある

● 言語処理

Page 24: Lt (コピー)

コンパイラ弄ってみた

STATICstatic Tokenizer

Parser

静的 Tokenizer IDENTIFIER

Page 25: Lt (コピー)

コンパイラ弄ってみた

STATICstatic Tokenizer

Parser

静的 Tokenizer

Page 26: Lt (コピー)

他にも

● 全角スペースをスペースとして扱う● 全角記号を受け付けるように

Page 27: Lt (コピー)

コード例

公 クラス Test1 {

公 静的 空 main(String[] 引数) {

System.out.println("HelloWorld");

ファッ (整数 い = 0; い < 100; い++) {

もしも (い % 15 == 0) {

System.out.println("FizzBuzz");

}

他の もしも (い % 3 == 0) {

System.out.println("Fizz");

}

他の もしも (い % 5 == 0) {

System.out.println("Buzz");

}

他の {

System.out.println(い);

}

}

}

}

Page 28: Lt (コピー)

実演

Page 29: Lt (コピー)

まとめ

● 全体的に汚い

● エントリーポイントを「メイン」にもできるようにしたかった

Page 30: Lt (コピー)

ご清聴ありがとうございました