Narcissus 自分自身を愛した美少年JavaScript

Slides:



Advertisements
Similar presentations
「自由な情報」のための ウェブブラウザ Cybozu Labs, Inc. Kazuho Oku.
Advertisements

University of Electro-Communications Human Interface section 基礎プログラミングおよび演 習 第7回.
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
なぜ今Pythonか? Pythonをお薦めする18の理由
情報理工学部 情報システム工学科 3年 H 井奈波 和也
ループで実行する文が一つならこれでもOK
4章 制御の流れ-3.
TF-IDF法とLSHアルゴリズムを用いた 関数単位のコードクローン検出法
<調査・先導研究課題〇> ●●●●●●● ● ●
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
Lightweight Language Weekend ls-lRシェル
プログラミング基礎I(再) 山元進.
第2回ネットワークプログラミング 中村 修.
Lispとは ゲーム理論 minimaxアルゴリズム αβアルゴリズム ソースコードの一部
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
JavaScript Language Update
ファイル送信機能付きマルチキャストチャット
Androidソースコード公開後のJNI
株式会社 中田製作所 代表取締役 中田 寛 大阪TLO 鄭 盛旭 大阪府立産業技術総合研究所 谷口 正志、杉井春夫
の まとめ 2007/04/02 (Mon) / d;id:hzkr
2009/5/22 けーちゃん カンタン  Wikiで情報共有 あいさつ 2009/5/22 けーちゃん
第20章 Flyweight ~同じものを共有して無駄をなくす~
PHPの基礎と開発手法 Based on PHP5
スクリプト言語を用いたPHITSの連続実行
構造体 構造体, 構造体とポインタの組み合わせ,.
情報処理技法 (Javaプログラミング)2 第2回 前期の復習(2)
第7回 条件による繰り返し.
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
プログラムの制御構造 選択・繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
第10回 2007年6月29日 応用Java (Java/XML).
UDPマルチキャストチャット                    空川幸司.
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
リファレンスの復習と例外処理 2005年6月14日 海谷 治彦.
リファレンス,配列,例外処理 その他演習に役立つこと
日本Androidの会 事務局長 SIPropプロジェクト 代表 グロースエクスパートナーズ 今村 謙之(いまむら のりつな)
関数の定義.
MATLAB測位プログラミングの 基礎とGT (2)
iioLoadFile()とiioMallocImageBuffer()の補足
構文定義記述を用いた 多言語対応コードクローン検出ツールの改善
iioLoadFile()とiioMallocImageBuffer()の補足
iioLoadFile()とiioMallocImageBuffer()の補足
アルゴリズムとプログラミング (Algorithms and Programming)
平成30年度高知工科大学教職科目 微分方程式特論I 11 高知大学教育学部技術教育コース 北川 晃.
第7回 条件による繰り返し.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラムの制御構造 配列・繰り返し.
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
プログラミング 4 木構造とヒープ.
プログラミング言語入門 2013 (C言語 初級) 演習期間 担当 参考資料 採点 10/24 - 1/23 (全10回) 松澤,鈴木,児玉
岡村耕二 TCP通信プログラム 課題と回答例 岡村耕二 情報ネットワーク.
復習 2次元配列 4列 j = 0 j = 1 j = 2 j = 3 i = 0 i = 1 i = 2 3行
基礎プログラミング演習 第3回.
情報処理Ⅱ 第2回 2005年10月14日(金).
情報処理Ⅱ 第2回 2006年10月13日(金).
C#プログラミング実習 第2回.
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
カスタマー株式会社 御中 弊社新サービスのご紹介 2013年4月1日 株式会社YMD商事 営業部 山田進一.
統合開発環境のための プログラミング言語拡張 フレームワーク
さまざまなプログラミング言語, オンライン開発環境
プログラミング基礎演習 第4回.
C言語プログラミング・課題 ファイルを読み込んで、その内容を表示するプログラムを作成せよ。
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
Presentation transcript:

Narcissus 自分自身を愛した美少年JavaScript 株式会社アクセラートジャパン 代表取締役 小林悠

Brendan Eich Mozilla Corp. CTO JavaScript@Netscape 2.0 JavaScript@Mozilla JavaScript on JavaScript Narcissus ↓ JavaScriptバカ JavaScriptの父

Narcissus 美少年@ギリシャ神話 水面に映った自分に恋をした ↓ バカ

使ってみた

(Wikipedia英語版に書きました) ドキュメント0 コメント0 (Wikipedia英語版に書きました)

ベンチマーク

でも

世界1美しい文法 の 世界1美しい実装

世界1美しい文法 プログラミング言語 =文脈自由文法+例外 C++は例外だらけ JavaScriptは例外が非常に少ない

世界1美しい実装 行数 パーサー 954行 実行エンジン 897行 予約語定義 125行 ランチャー 7行

Do-Whileの実装 case DO: do { try { execute(n.body, x); } catch (e if e == BREAK && x.target == n) { break; } catch (e if e == CONTINUE && x.target == n) { continue; } } while (getValue(execute(n.condition, x)));

IFのパース case IF: n = new Node(t); n.condition = ParenExpression(t, x); x.stmtStack.push(n); n.thenPart = Statement(t, x); n.elsePart = t.match(ELSE) ? Statement(t, x) : null; x.stmtStack.pop(); return n;

コメント0なのは その美しさ故であった!

Narcissusは 自分を愛した美少年

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