Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScript小史
Search
badatmath
April 02, 2012
Programming
13
4.8k
JavaScript小史
JavaScriptの歴史、です。
badatmath
April 02, 2012
Tweet
Share
More Decks by badatmath
See All by badatmath
Rickshaw
badatmath
0
390
Node.js入門
badatmath
20
10k
Other Decks in Programming
See All in Programming
今から始めるClaude Code超入門
448jp
8
8.5k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.1k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
190
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
170
Implementation Patterns
denyspoltorak
0
280
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
930
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Docker and Python
trallard
47
3.7k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Unsuck your backbone
ammeep
671
58k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
72
First, design no harm
axbom
PRO
2
1.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Technical Leadership for Architectural Decision Making
baasie
1
240
What does AI have to do with Human Rights?
axbom
PRO
0
2k
How to Talk to Developers About Accessibility
jct
2
130
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
Transcript
JavaScript History :VTVLF4IJOP[BLJ !CBE@BU@NBUI
ࣗݾհ :VTVLF4IJOP[BLJ !CBE@BU@NBUI IUUQEIBUFOBOFKQCBEBUNBUI
͓ͳ͢͠Δ͜ͱ +BWB4DSJQUͷྺ࢙ ॳظ தظ ݱ 90-00 01-05 06~
+4Ҏલ 1990: Tim Berners-Lee WorldWideWeb ্࢙ॳͷϒϥβ͕ੜ ’90
Knight Commander of the British Empire 2004: Sir Tim Berners-Lee
ࠓͰʮφΠτʯ༷ɻ ͪͳΈʹ
ͪͳΈʹ WorldWideWeb 1.0 εϖʔεͳ͠
+4Ҏલ 1993: NCSA NCSA Mosaic 1.0 ը૾ͱςΩετΛ̍ϖʔδʹɻ ϓϩτίϧͨ͘͞Μ ➟ Mosaic
’93
/FUTDBQF ’94 1994 April 4th ॳ Mosaic Communication Corporation SGINCSA
MosaicνʔϜ͔Βٕज़ऀҾ͖ൈ͖ 1994 October 13th Mosaic Netscape 0.9ϦϦʔε Netscape Navigator ʹվশ
’94 /FUTDBQF 1994 Dec Netscape Navigator 1.0 ඪ४ʹ४ڌͯ͠ͳ͍෦େʹݟͯͶ—
/FUTDBQF ’95 1995 May 23rd ˏSun World Conference ϒϥβʹJavaɺࡌ͚ͬ·͢ɻ
/FUTDBQF ’95 ͔͠͠ Java Applet ෳࡶ ॳ৺ऀʹ͍͍ͯͳ͍
/FUTDBQF ’95 ͬͺΓ εΫϦϓτݴޠͩΑͶʂ
’95 /FUTDBQF Scheme
/FUTDBQF ’95
/FUTDBQF ’95 Scheme
/FUTDBQF ’95 1995 April Brendan Eich টᡈ
#SFOEBO&JDI ’95 ʮSchemeͷʁʯ ΧοίେਿͩΖjk ʮʂʂʂʂʂʂʯ
-JWF4DSJQU ’95 ظͰ࣮ ே࣌̕ग़ۈ ̎࣌ୀۈ
’95 +BWB4DSJQU ࣏తͳཧ༝ʹΑΓ վশ Sunͱͷܖ
Scheme Self Java +BWB4DSJQUϨγϐ 4NBMMUBML༝དྷͷ ΦϒδΣΫτࢦݴޠ 4VO͕։ൃͨ͠Ͳ͜Ͱ ಈ͘ΦϒδΣΫτࢦݴޠ -*41ͷ࣮ͷҰͭ
+BWB4DSJQUϨγϐ Scheme Self Java 4DIFNFͱ4FMGΛ ͋ΘͤΔɻ τοϐϯάʹ+BWBΛ গʑৼΓ͔͚Δ
+BWB4DSJQU Netscape Navigator 2.0 ’96 ՚ʑ͘͠ొʂ
+BWB4DSJQU ’96 ޙ
+BWB4DSJQU Netscape Navigator 2.01 ’96 ϦϦʔεʂ
+BWB4DSJQU Netscape Navigator 2.01 ’96 ॳظઃఆʹ ʮJavaScriptΛ༻͠ͳ͍ʯ Ճ
Ұํͦͷࠒ ϥΠόϧʁ
4QZHMBTT *OD NCSAͷ͋Δٕज़Λ ༻Խ͢ΔӦۀ෦ୂతاۀ
4QZHMBTT *OD NCSA MosaicͷϥΠηϯε ͳͷͰͪΖΜ
4QZHMBTT *OD ϥΠηϯε Microsoft \ ’95 $2,000,000
Microsoft Internet Explorer 1.0 ’95 1995 August 24th ςʔϒϧͷදࣔ͑͞Ͱ͖ͳʢ͈́
Microsoft ’96 NetscapeΛܸ
’96 Microsoft Internet Explorer 3.0 JScriptͷੜ ෆ۩߹͍Ζ͍Ζ͚͋ͬͨͲɾɾ
’96 Netscape Ӵઓ
+4ඪ४Խͷಓ HTMLΈͨ͘ޓੑͷ͋Δͷʂ ’96 ඪ४ԽͰओಋݖѲΕMSා͘ͳ͍ʂ
+4ඪ४Խͷಓ W3Cʁ Ͳ͜ʹ͓Ͷ͕͍͢Δ͔ ’96 ͖ͬͱɾɾɾɺ ౖͬͯΔΑͶʁ Βͷϒϥβɺ ४ڌͯ͠ͳ͍Ͷɻ
ඪ४Խͷಓ ݁ہϤʔϩού ’96
ඪ४Խͷಓ δϡωʔϒʹຊ෦ ECMA ’96 ࠃࡍඪ४Խػؔ
ඪ४Խͷಓ 1997 June ECMA-262 (ECMAScript) ’97
ඪ४Խͷಓ JavaScript ≒ ECMAScript
ඪ४Խͷಓ JavaScript = ECMAScript + α JavaScript ≒ ECMAScript
+BWB4DSJQUͱ
&$."4DSJQU 1st ϛχϚϜ༷ 2nd υΩϡϝϯτमਖ਼ ’98 ’97
&$."4DSJQU 3rd Τϥʔॲཧਖ਼نදݱɺStringڧԽ ॲཧܥඦՖ៶ཚ ’99 ଟ͘ͷΞϓϦέʔγϣϯʹ
ϒϥβઓ૪ Netscape Microsoft vs γΣΞΣΞ ແঈ OSόϯυϧ Windows Mac
ϒϥβઓ૪ Netscape Microsoft vs OSόϯυϧ Windows Mac γΣΞΣΞ ແঈ W
IN! Loose!
ॳظͷ͓ͳ͠ ͜Ε͘Β͍Ͱ͢ɻ
தظͷ͓ͳ͠ ࣮ଟ͋͘Γ·ͤΜ
*& ϒϥβࢢΛ΄΅ಠ Pax IE! ’01
*& W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍ Ͳ͔ͬͰݟͨ ͩ͘ΓͩΑͶʁ
*& ঃʑʹଞϒϥβͷϚʔέοτ֦େ ηΩϡϦςΟϗʔϧ࣍ʑͱ W3Cඪ४ʹ४ڌ͍ͯ͠ͳ͍
"KBY 2005 Feb, 15 Jesse James Garrett ’05 ΈࣗମҎલ͔Β Ajax໋໊
΄΅*&͕ࢧ͠ɺ ੈͷதฏͰͨ͠
Ͱ͕͢૪ཚͷ࣌ʹ ಥೖ͠·͢
ϥΠϒϥϦઓ script.aculo.us prototype.js jQuery
ϒϥβઓʢ࠶ʣ Mozilla Google Opera Microsoft Apple
ϒϥβઓʢ࠶ʣ ࠓճͷ૪ JSΛ͍͔ʹߴ ʹ࣮ߦͰ͖Δ͔
ϒϥβઓʢ࠶ʣ ࠓճͷ૪ AjaxΞϓϦͷ಄ ͔ʹߴ ͖Δ͔
ϒϥβઓʢ࠶ʣ WEBඪ४ͷ४ڌ ࠓճͷ૪
Mozilla Google Opera Microsoft Apple ϒϥβઓʢ࠶ʣ
ͦ͏͍͑ඪ४ʁ ES4ʁ
&4 Class Interface ... ޓੑɾɾɾ
%PVHMBT$SPDLGPSE
͋ͱ+40/ KTMJOUɺKTNJOͳͲ %PVHMBT$SPDLGPSE l5IF(PPE1BSUTz
%PVHMBT$SPDLGPSE &4աڈόʔδϣϯͱඇޓ ͜Ε͕ඪ४Խ͞ΕΔͱੈͷத #BE1BSUTʹຒΊਚ͘͞ΕΔʂ
%PVHMBT$SPDLGPSE ECMAʹΧνίϛ
%PVHMBT$SPDLGPSE ECMAʹΧνίϛ W IN!
%PVHMBT$SPDLGPSE ʮεϚϯͳ"EPCFʯ
"EPCF w"DUJPO4DSJQU ʮ͋ɾɾ"DUJPO4DSJQUग़ͯ͠ ͨΓ͢Δ͚Ͳɺɾɾผʹɾɾʯ
"EPCF w"DUJPO4DSJQU JSؔ࿈ͰϗϯτʹπΩ͕ͳ͍ɻ ES4͔͠Γɺ Τϯδϯ(tamarin)͔͠Γɻ
ؾΛऔΓͯ͠&4 ES3.1ϕʔε JSONαϙʔτ StrictϞʔυͳͲ
&4IBSNPOZ ઈࢍٞத
ͯ͞
*&͞Μͷੜଉঢ়گ
*&$PVOUEPXO http://www.ie6countdown.com/
Ruby PHP Apache Browser ΞʔΩςΫνϟͷมભ )5.-
4FSWFS4JEF 2009 Node.jsੜ V8: ϒϥβઓ૪ͷࣀ ’09
SSP, SPAϞσϧͷ಄ Twitter, Facebook ΞʔΩςΫνϟͷมભ
$MJFOU4JEF Client-Side MVC Smartphone
APIαʔό CDN Browser ΞʔΩςΫνϟͷมભ +40/ )5.-JNBHF TUBUJDBTTFUT ˞ͪΖΜ·ͩओྲྀͰͳ͍͚Ͳɻ
Node Browser Client͔ΒServer·ͰJSͰͰ͖ΔΑʂʂ ΞʔΩςΫνϟͷมભ CDN +40/
ͱΓ·ٕ͘ज़มભ
+BWB4DSJQU &7&3:8)&3&
5IBOLT