SlideShare una empresa de Scribd logo
1 de 121
Descargar para leer sin conexión
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に黙祷

Más contenido relacionado

La actualidad más candente

プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)Kensuke Otsuki
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまでharmonylab
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」ManaMurakami1
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部openrtm
 
[DL輪読会]Relational inductive biases, deep learning, and graph networks
[DL輪読会]Relational inductive biases, deep learning, and graph networks[DL輪読会]Relational inductive biases, deep learning, and graph networks
[DL輪読会]Relational inductive biases, deep learning, and graph networksDeep Learning JP
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール智啓 出川
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案yohhoy
 
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...Deep Learning JP
 
[DL輪読会]Pyramid Stereo Matching Network
[DL輪読会]Pyramid Stereo Matching Network[DL輪読会]Pyramid Stereo Matching Network
[DL輪読会]Pyramid Stereo Matching NetworkDeep Learning JP
 
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話Kinuko Yasuda
 
Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Naotaka Yamada
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
動的計画法の並列化
動的計画法の並列化動的計画法の並列化
動的計画法の並列化Proktmr
 

La actualidad más candente (20)

プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
区間分割の仕方を最適化する動的計画法 (JOI 2021 夏季セミナー)
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
「NVIDIA プロファイラを用いたPyTorch学習最適化手法のご紹介(修正版)」
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
[DL輪読会]Relational inductive biases, deep learning, and graph networks
[DL輪読会]Relational inductive biases, deep learning, and graph networks[DL輪読会]Relational inductive biases, deep learning, and graph networks
[DL輪読会]Relational inductive biases, deep learning, and graph networks
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
 
新しい並列for構文のご提案
新しい並列for構文のご提案新しい並列for構文のご提案
新しい並列for構文のご提案
 
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...【DL輪読会】Responsive Safety in Reinforcement Learning  by PID Lagrangian Methods...
【DL輪読会】Responsive Safety in Reinforcement Learning by PID Lagrangian Methods...
 
[DL輪読会]Pyramid Stereo Matching Network
[DL輪読会]Pyramid Stereo Matching Network[DL輪読会]Pyramid Stereo Matching Network
[DL輪読会]Pyramid Stereo Matching Network
 
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
 
MPC概説.pptx
MPC概説.pptxMPC概説.pptx
MPC概説.pptx
 
Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介Angle-Based Outlier Detection周辺の論文紹介
Angle-Based Outlier Detection周辺の論文紹介
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
動的計画法の並列化
動的計画法の並列化動的計画法の並列化
動的計画法の並列化
 

Similar a 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 a 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#勉強会
 

Más de 京大 マイコンクラブ

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

Más de 京大 マイコンクラブ (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# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
ドット絵でプログラミング!難解言語『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回
 
C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回C#でゲームを作る2016 第7回
C#でゲームを作る2016 第7回
 

Último

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 

Último (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

ECMAScript没proposal追悼式