SlideShare a Scribd company logo
1 of 121
Download to read offline
ECMAScript
没Proposal追悼式
tyage@KMC
本日はお集まりいただき
ありがとうございます
司会担当
● id: tyage
● 京大工学部情報学科3回
● JavaScriptとか書いてる
● 趣味
○ 脆弱性報告
○ CTF
司会担当
ECMAScriptとは
● JavaScriptやActionScriptの実装基盤となっている言語
● Ecma Internationalによって標準化される
● (例会講座でも一度紹介しました)
ECMAScript標準化の流れ
● Strawman(仕様提案)
● →Proposal(具体化・デモ・試案)
● →Draft(仕様書作成)
○ イマココ
○ 3/4にRC2が出来た
● →Candidate(実装・フィードバック)
● →完成
ECMAScript Proposalとは
● 様々な人から仕様に入れてほしい提案(Proposal)が送られ
てくる
○ 提案を検討して、仕様に組み込んだり却下したり
○ Proposalフェーズでなくても送られてくる
採用されたECMAScript Proposal
● ECMAScript6勉強会でやりました
○ class
○ generator
○ Symbol
○ Map
○ const
○ Promise
○ Proxy
○ etc...
今日話すこと
● Proposalだったが、ECMAScript6の仕様書(RC2)に入らな
かったもの(死者)を一部紹介
○ ※覚えてもメリットはないかも
● 英語の誤訳が多数含まれているかと思いますがご了承下さ
い
1つ目
"use" keyword
"use" keyword
● https://esdiscuss.org/topic/proposal-use-keyword
○ 生年月日: 2014年7月25日
○ 没年月日: 2014年7月26日
● 「なんでPHPの”use”みたいな物が無いんや」
なんだそれは???
"use" keyword
● PHP5.3くらいから追加されてたkeyword
● 無名関数を宣言する際に、親のスコープから変数を引き継
ぐことができる
○ こんな機能使ったことないし知らなかったゾ...
"use" keyword
> // 通常、無名関数は外のスコープの変数を参照できない
> $message = ‘hoge’;
> $fun = function() { echo $message; };
> $fun();
PHP Notice: Undefined variable: message in php shell
code on line 1
"use" keyword
> // use keywordを使うと外のスコープの変数が参照できる
> $message = ‘hoge’;
> $fun = function() use ($message) { echo $message; };
> $fun();
hoge
なるほど
一方ECMAScriptでは
// 暗黙的に外のスコープの変数を見に行く
var message = 'hoge';
var fun = function() { console.log(message); };
fun();
hoge
あれ、”use” keyword要らなくね?
どうやらそうではないらしい
引数を使わず、関数から別スコープにあるローカル変数が参照
したいようだ
(追記: dynamic scopeというらしい)
どうやらそうではないらしい
function fun1() {
var message = ‘hoge’;
fun2.attachContext();
};
function fun2() {
console.log(message);
};
fun1のスコープにある
messageを参照できる
えっ、何これは・・・(ドン引き
皆様の反応
● PHP関係ないやんけ
● 何がしたいのかわからん
皆様の反応
● デメリットのほうが圧倒的に大きいのでは
○ 人間もコンピュータも解析しづらい
● どう考えてもダメ
ご愁傷さまです
2つ目
typeof null
typeof null
● http://wiki.ecmascript.org/doku.php?id=harmony:
typeof_null
● typeof null が “null” を返すようにしてほしいという提案
typeof演算子
● オブジェクトやプリミティブ値のデータ型を文字で返す
typeof 37 === “number”
typeof “hoge” === “string”
typeof {a: 1} === “object”
typeof undefined === “undefined”
typeof null === ???
ではこれは何になるでしょうか
typeof null
typeof null === ???
ではこれは何になるでしょうか
typeof null === “object”
※nullはプリミティブ値です
どうしてこうなった
歴史的経緯
初期のJavaScriptの実装では各値の32bit領域中に以下の
type tagデータが入っていた
http://www.2ality.com/2013/10/typeof-null.html
● 000: object
● 1: int
● 010: double
● 100: string
● 110: boolean
歴史的経緯
typeof演算子はtype tagでチェックしていた
if (JSVAL_IS_VOID(v)) {
type = JSTYPE_VOID;
} else if (JSVAL_IS_OBJECT(v)) {
…
type = JSTYPE_OBJECT
歴史的経緯
nullはnull pointer(0x00)で表されていたので、type tagが
objectと同じになる!!
→ typeof null === “object”
歴史的経緯
Brendan Eichが納期に追われて作ってしまったらしい...
糞言語かよ!!
typeof null
● 10年くらい前からtypeof nullが”null”を返すように変更する
かは議論されていた
○ http://wiki.ecmascript.org/doku.php?id=discussion:typeof
typeof null
● 当然ECMAScript6で修正しようという風潮はあったが...
○ V8では実装されていたらしい
typeof null
● typeof nullが”object”を返すことに依存したコードが多く存
在した
○ このまま仕様を変えると古いWebページが見れなくなるかも
○ 古いコードの解釈が変わらないようにしないといけない
■ 前方互換性
typeof null
● typeof nullが”object”を返すことに依存したコードが多く存
在した
○ このまま仕様を変えると古いWebページが見れなくなるかも
○ 古いコードの解釈が変わらないようにしないといけない
■ 前方互換性
手遅れ
余談
● この件に関して、Brendan EichとDouglas Crockfordの意
見は当初の段階で分かれてるっぽい
○ Brendan Eich: JavaScript作った人。偉い
○ Douglas Crockford: JSONとか作った人。偉い
余談
● Eich「前方互換性を壊すので慎重にすべき」
● Crockford「古いコードが壊れてでもやるべき」
そのうち解決されますように...
3つ目
array & generator
comprehensions
array & generator comprehensions
● array comprehension
○ [for (i of [1, 2, 3]) i * i] // => [1, 4, 9]
● generator comprehension
○ (for (i of [1, 2, 3]) i * i) // => 1, 4, 9を順に返すgenerator
あっ、これPythonで見たことあるやつだ!
(Pythonだとリスト内包表記って呼ばれてるよね)
実は
● ECMAScript勉強会でやりました
○ http://kmc.hatenablog.jp/entry/2014/07/26/181228
● 2014/7/26日時点(Rev26)では仕様に含まれていた
○ Firefoxでは実装されてて動く
● 個人的には便利そうだしかなり気に入ってた
悲劇は突然
つらい・・・
何があったのか
● https://esdiscuss.org/notes/2014-07-30#4-7-revisit-
comprehension-decision-from-last-meeting-
● このミーティングでDave Hermanがcomprehensionの問
題点を指摘
○ JavaScriptで書いた3種類の数独ソルバーを提示
■ no comprehension style
■ LINQ style
■ pythonic style
no comprehensions style
https://github.com/dherman/sudoku/blob/master/solver.methods.js
LINQ style
https://github.com/dherman/sudoku/blob/master/solver.linq.js
pythonic style
https://github.com/dherman/sudoku/blob/master/solver.pythonic.js
どれがよい?
no comprehensions style
● iteratorにmapやfilter等の便利メソッドを追加した形
● 今まで通りのJavaScriptって感じで読める
LINQ style
● generator comprehensionを使ってLINQを意識した形
● comprehensionとメソッドチェインが混ざっている
pythonic style
● array comprehensionを使ってpythonを意識した形
● comprehensionとメソッドチェインが混ざっている
流れ変わったな
● これを見る前は支持していた人も多かったようだが...
○ 既に仕様に入ってたし
● 見たあとは
○ comprehensions使わなくても書けるじゃん
○ むしろ使いたくない
流れ変わったな
comprehensions、敗北
いや、まだ死んでない
● 結局、ECMAScript7まで延期とのこと
● 今後の状況では復活する可能性も
○ が、現状ではほぼ死にかけな気がする
内包表記君、どこ行ってしもうたんや
● 突然の消失に惜しむ声が多数
○ https://esdiscuss.org/topic/comprehensions-where-art-thou
内包表記君、どこ行ってしもうたんや
● ミーティングに参加していなかった人から不満が出てくる
内包表記君、どこ行ってしもうたんや
「あんなコードはPythonicじゃないし、comprehensionが80文
字を超えてる時点でなんか変でしょ」
内包表記君、どこ行ってしもうたんや
Brendan Eich「求められていたのはArrayを(iterableや即時と
遅延等に分けて)一般化することだった。それにデリミタ(区切り
文字)が足りてないのに、わざわざ消費する必要はないよね」
comprehension
またお会いしましょう
4つ目
Private Symbols
Symbol
● SymbolオブジェクトがECMAScript6から導入された
● RubyのSymbolとスコシニテル
● 用途としては、文字列以外の特殊なプロパティとして使われ
ることが想定されていそう
○ obj[Symbol.toStringTag] = ‘tag’
● ユニークなSymbolを生み出すことができる
○ Symbol('foo') !== Symbol('foo')
Symbol
● オブジェクトのプロパティのうち、キーがSymbolになってい
るものを取り出すことができる
var obj = {};
var sym = Symbol();
obj[sym] = 1;
Object.getOwnPropertySymbols(obj)[0] === sym;
Private Symbol
● https://esdiscuss.org/topic/proposal-about-private-
symbol
● 「getOwnPropertySymbolsで取り出せないPrivate Symbol
が欲しい」
● 提案したのは中国の高校生
Private Symbol
Private Symbolがあれば
var obj = function() {
var privateSym = Symbol(‘hoge’, true);
this[privateSym] = ‘秘密のデータ’
};
privateSymが分からないのでobjから秘密のデータが見えない
と、思いきや
Private Symbol
Private Symbolがあれば
var obj = function() {
var privateSym = Symbol(‘hoge’, true);
this[privateSym] = ‘秘密のデータ’
};
var x = {};
obj.call(x); // => xにproxyを設定しておけばprivateSymがわかる
コード書きなおし
Private Symbol
Symbolを外から参照できないようにするためだけなのに、長い!!
簡単に安全なコードを
かけないようじゃダメ
余談
● Private Symbolに関しては、過去にもっと条件をつけて提
案した人がいたが、WeakMapとProxyの関係上失敗したら
しい
○ https://github.com/zenparsing/es-abstract-
refs/issues/11#issuecomment-65723350
社会は厳しい
5つ目
いつの間にかなくなってたけど
理由がはっきり分からないやつ
いつの間にかなくなってたけど
理由がはっきり分からないやつ
時間が足りませんでした!(土下座
Object Literal Extensions
● http://wiki.ecmascript.org/doku.php?id=harmony:
object_literals
● Objectの文法拡張提案
○ Set Literal [[Prototype]] Operator
○ Object Literal Property Shorthands
○ Object Literal Property Value Shorthand
○ Object Literal Computed Property Keys
○ Object Initialiser super References
○ Object Extension Literal
Object Literal Extensions
● http://wiki.ecmascript.org/doku.php?id=harmony:
object_literals
● Objectの文法拡張提案
○ Set Literal [[Prototype]] Operator → 死亡
○ Object Literal Property Shorthands → 一部死亡
○ Object Literal Property Value Shorthand → 生存
○ Object Literal Computed Property Keys → 生存
○ Object Initialiser super References → 一部死亡
○ Object Extension Literal → 死亡
Set Literal [[Prototype]] Operator
Set Literal [[Prototype]] Operator
● http://wiki.ecmascript.org/doku.php?id=harmony:
proto_operator
● MemberExpression <| ProtoLiteral
○ という構文
基本的な機能
右の値(RHS)の[[Prototype]]に左のオブジェクト(LHS)を代入し
て返す
(LHSを継承したRHSを返すみたいなイメージ)
var obj = {c: 3};
var newObj = obj <| {a: 1, b: 2};
newObj.c // => 3
ただし、右が関数式の場合は
RHSにくるもので挙動が異なる!
なんとなく
死んだ理由がわかった気がする...
(そもそも <| って気持ち悪い)
要調査
● class(ECMAScript6から追加された)のextendsとして生ま
れ変わったのかも?
○ https://esdiscuss.org/topic/alternative-syntax-for
class Parent { … }
class Child extends Parent { … }
class Child2 extends (function() {}) { … }
Object Literal Property Shorthands
Object Literal Property Shorthands
var old = {
bar: 1,
foo: function() { return 1 }
};
var new = {
bar := 1,
foo() { return 1 }
};
// ※newオブジェクトのpropertyは全てnon-writable
Object Literal Property Shorthands
var old = {
bar: 1,
foo: function() { return 1 }
};
var new = {
bar := 1, → 死亡
foo() { return 1 } → 生存
};
// ※newオブジェクトのpropertyは全てnon-writable
なんでそうなったかは不明
Object Initialiser super References
Object Initialiser super References
● http://wiki.ecmascript.org/doku.php?id=harmony:
object_initialiser_super
● super keywordを使って継承元のclassのメソッドが呼び出
せる
○ Pythonで見たことあるkeywordだな...
Object Initialiser super References
生き残った例
class Parent {
foo() { … }
}
class Child extend Parent {
foo() { super(); }
}
Object Initialiser super References
生き残った例2
class Parent {
foo() { … }
}
class Child extend Parent {
bar() { super.foo(); }
}
Object Initialiser super References
死んだ例(当初はclassはなかったので、classがあったと想定)
class Child extend Parent {
get super set f(v) { f = v; }
}
Object Initialiser super References
class Child extend Parent {
get super set f(v) { f = v; }
}
上と下は同じ
class Child extend Parent {
set f(v) { f=v; }
get f() { return super.f; }
}
get super set…うーん...
(set super getもある)
Object Extension Literal
Object Extension Literal
.を使ってオブジェクトを拡張できるリテラル
var obj = {};
obj.{ a: 1, b: 2, c: 3 };
obj.a // => 1
過激だ!
Object Extension Literal
● そこそこ物議を醸した
○ https://esdiscuss.org/topic/new-object-extension-literal-strawman
● さらに、これを使ったclass定義を考える人も
○ http://wiki.ecmascript.org/doku.php?id=harmony:
object_extension_literal_class_pattern
Object Extension Literal
過激だ!!
ところで、生き残った構文は?
Object Literal Property Value
Shorthand
Object Literal Property Value Shorthand
オブジェクトの初期化時に、変数名とプロパティ名が同じ場合に
使える省略記法
var a = 1, b = 2;
var old = { a: a, b: b };
var new = { a, b };
Object Literal Computed
Property Keys
Object Literal Computed Property Keys
オブジェクトの初期化時に、プロパティ名に式の評価結果を与
えることができる
var a = ‘key’;
var old = {}; old[a] = 1;
var new = { [a]: 1 };
個人的にはあまり使いたくない
終わりに
まとめ
● Proposalにもいろいろある
○ こんなん考えたんだけどどう?程度のものから
○ Abstruct Syntax Tree入りの仕様を持ってくるものまで
● コミュニティの皆様方、お疲れ様です...
○ 特に前者のProposalは意図を把握するのが大変そう
○ ミーティングが思ったより戦いっぽくて大変そう
死んでいったProposalに黙祷

More Related Content

What's hot

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強Kiyoshi Ogawa
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するYou&I
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門uchan_nos
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14Ryo Suzuki
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術Masahiro Nagano
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTaskEuglenaching
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
Linuxカーネル超入門
Linuxカーネル超入門Linuxカーネル超入門
Linuxカーネル超入門Takashi Masuda
 
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念と メモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念と メモリアクセス智啓 出川
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説Takateru Yamagishi
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
inversion counting
inversion countinginversion counting
inversion countingtmaehara
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-com044
 
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更T. Suwa
 

What's hot (20)

STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
C++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用するC++ REST SDKを使ってWebサービスを利用する
C++ REST SDKを使ってWebサービスを利用する
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
C++でできる!OS自作入門
C++でできる!OS自作入門C++でできる!OS自作入門
C++でできる!OS自作入門
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14ゲーム開発者のための C++11/C++14
ゲーム開発者のための C++11/C++14
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
Linuxカーネル超入門
Linuxカーネル超入門Linuxカーネル超入門
Linuxカーネル超入門
 
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念と メモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念とメモリアクセス
2015年度先端GPGPUシミュレーション工学特論 第2回 GPUによる並列計算の概念と メモリアクセス
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
inversion counting
inversion countinginversion counting
inversion counting
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-
 
SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更SATySFi 最近の発展と目下実装中の変更
SATySFi 最近の発展と目下実装中の変更
 

Similar to ECMAScript没proposal追悼式

JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるKoichi Sakata
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説賢次 海老原
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„和弘 井之上
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Ransui Iso
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~decode2016
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーmganeko
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめYu Nobuoka
 
PHP & Queue
PHP & QueuePHP & Queue
PHP & Queuesasezaki
 
JavaScript 非同期処理 入門
JavaScript非同期処理 入門JavaScript非同期処理 入門
JavaScript 非同期処理 入門Ishibashi Ryosuke
 
TensorFlow XLAの可能性
TensorFlow XLAの可能性 TensorFlow XLAの可能性
TensorFlow XLAの可能性 Mr. Vengineer
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, CodereadingHiro Yoshioka
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようShinsuke Sugaya
 
Javascript勉強会資料1
Javascript勉強会資料1Javascript勉強会資料1
Javascript勉強会資料1Kenji Kaneko
 
第2回勉強会スライド
第2回勉強会スライド第2回勉強会スライド
第2回勉強会スライドkoturn 0;
 

Similar to ECMAScript没proposal追悼式 (20)

JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみるJJUG CCC 2017 Fall オレオレJVM言語を作ってみる
JJUG CCC 2017 Fall オレオレJVM言語を作ってみる
 
MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説JavaScriptおよびXPages Vote技術解説
JavaScriptおよびXPages Vote技術解説
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第6回 ‟文字列とオブジェクト„
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
DEV-011_TypeScript ~Any browser. Any host. Any OS. Open Source~
 
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラーNode.jsでつくるNode.js ミニインタープリター&コンパイラー
Node.jsでつくるNode.js ミニインタープリター&コンパイラー
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 
TypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
 
PHP & Queue
PHP & QueuePHP & Queue
PHP & Queue
 
JavaScript 非同期処理 入門
JavaScript非同期処理 入門JavaScript非同期処理 入門
JavaScript 非同期処理 入門
 
Dotnetconf2017
Dotnetconf2017Dotnetconf2017
Dotnetconf2017
 
TensorFlow XLAの可能性
TensorFlow XLAの可能性 TensorFlow XLAの可能性
TensorFlow XLAの可能性
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
JavaScript入門
JavaScript入門JavaScript入門
JavaScript入門
 
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめようLastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
 
Javascript勉強会資料1
Javascript勉強会資料1Javascript勉強会資料1
Javascript勉強会資料1
 
第2回勉強会スライド
第2回勉強会スライド第2回勉強会スライド
第2回勉強会スライド
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
 

More from 京大 マイコンクラブ

かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話京大 マイコンクラブ
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換京大 マイコンクラブ
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?京大 マイコンクラブ
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会京大 マイコンクラブ
 
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」京大 マイコンクラブ
 
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編京大 マイコンクラブ
 

More from 京大 マイコンクラブ (20)

テキストファイルを読む💪 第1回
テキストファイルを読む💪  第1回テキストファイルを読む💪  第1回
テキストファイルを読む💪 第1回
 
かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話かわいくなろうとしたら語彙力が下がった話
かわいくなろうとしたら語彙力が下がった話
 
Common Lisp入門
Common Lisp入門Common Lisp入門
Common Lisp入門
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
Geometry with Unity
Geometry with UnityGeometry with Unity
Geometry with Unity
 
セミコロンレスc++
セミコロンレスc++セミコロンレスc++
セミコロンレスc++
 
エンジニアと健康
エンジニアと健康エンジニアと健康
エンジニアと健康
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
 
Pietで競プロしよう
Pietで競プロしようPietで競プロしよう
Pietで競プロしよう
 
もし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったらもし太陽のコアがIntelCoreだったら
もし太陽のコアがIntelCoreだったら
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
 
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
 
DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」DTM練習会2017第1.5回 「伴奏の付け方」
DTM練習会2017第1.5回 「伴奏の付け方」
 
hideya流 テストプレイ観察術
hideya流 テストプレイ観察術hideya流 テストプレイ観察術
hideya流 テストプレイ観察術
 
暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編暗号技術入門 秘密の国のアリス 総集編
暗号技術入門 秘密の国のアリス 総集編
 
Altseed
AltseedAltseed
Altseed
 
C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回C#でゲームを作る2016 第8回
C#でゲームを作る2016 第8回
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

ECMAScript没proposal追悼式