Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 722503d

Browse files
add slides for this article
1 parent d91c8b0 commit 722503d

File tree

2 files changed

+284
-2
lines changed

2 files changed

+284
-2
lines changed

‎JavaScript-First/00-History-of-JS/[RAW]A-brief-history.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ This article was originally written on medium and if you interested in reading t
55
Before "JavaScript Existed", The creators behind the Mosaic browser created a language called "LiveScript" and shipped it in 1995. Within 3 months, it was renamed to "JavaScript" to build on the hype train programmers were on with Java, a completely separate and unrelated language.
66

77
Eventually, Microsoft did what they always do, which is steal source code from someone else's product and release their own version of it, Internet Explorer that used "JScript". The browsers wars started and long story, short, Mosaic, and other browsers died off due to Internet Explorer. Yet multiple forks of JS remained as well as other scripting languages. All of which were made to address the same issues of providing the browser interactive behavior beyond hyperlinks and the page reloading.
8-
Behind the Language & Engine that powers it
8+
9+
## Behind the Language & Engine that powers it
910

1011

1112
## Standardization of Browser Behavior via Scripting
@@ -21,7 +22,7 @@ It is important to note, that virtually every proposed feature in ES-4 would lat
2122
Beginning in 2009, serverJS was created to give JavaScript a module system and later was renamed commonJS . The goal was "to establish conventions on module ecosystem for JavaScript outside of the web browser" and was likely related to some of the failed ES4 proposals.
2223

2324

24-
.Later the same year, Ryan Dahl would build on top of this to create the Node.js is a runtime environment for JavaScript, which used the Chrome V8 engine among others such as libuv and released in May, 2009.
25+
Later the same year, Ryan Dahl would build on top of this to create the Node.js is a runtime environment for JavaScript, which used the Chrome V8 engine among others such as libuv and released in May, 2009.
2526

2627
This runtime environment, is what allowed JavaScript to run virtually anywhere the environment is installed.
2728

Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
1+
:revealjs_theme: blood
2+
= History of JavaScript
3+
4+
== The Begining...
5+
Before "JavaScript Existed", The creators behind the Mosaic browser created a language called "LiveScript" and shipped it in 1995. Within 3 months, it was renamed to "JavaScript" to build on the hype train programmers were on with Java, a completely separate and unrelated language.
6+
7+
=== Browser Wars
8+
Eventually, Microsoft did what they always do, which is steal source code from someone else's product and release their own version of it, Internet Explorer that used **JScript**. The browsers wars started and long story, short, Mosaic, and other browsers died off due to Internet Explorer. Yet multiple forks of JS remained as well as other scripting languages. All of which were made to address the same issues of providing the browser interactive behavior beyond hyperlinks and the page reloading.
9+
10+
== Standardization of Browser Behavior
11+
The first attempt at standardizing scripting languages was in 1997 with ECMAScript. (ES-1) as part of European Computer Manufacturers Association (ECMA). However, different implementations, competing languages, and egos prevented any real standardization from occurring until 2009. In between that time, the (failed) proposal for ES-4 (led by Mozilla and others) attempted to call for more traditional programming concepts like classes, modules, etc.
12+
13+
=== ES4 Abandoned
14+
The standard was abandoned largely due to the concern of "breaking the web" and the introduction of AJAX ( Asynchronous JavaScript And XML") which allowed for client-side dynamic content. As a result of multiple factors, jQuery was created in 2006, largely to provide cross-browser support for different implementations of JavaScript and AJAX. By 2009 ES-5 was released and essentially became what the De facto Standard of JavaScript that most still refer to.
15+
16+
=== ES4 Impact
17+
It is important to note, that virtually every proposed feature in ES-4 would later be implemented in ES-6 such as classes, generators and iterators, destructuring assignment, and most importantly a module system. The only feature truly noticeably absent are the various reimplementations of types. To read more about the [The Real Story Behind ECMAScript 4](https://auth0.com/blog/the-real-story-behind-es4/).
18+
19+
20+
21+
=== The Birth of Node.js & JavaScript Module Systems
22+
Beginning in 2009, serverJS was created to give JavaScript a module system and later was renamed commonJS . The goal was "to establish conventions on module ecosystem for JavaScript outside of the web browser" and was likely related to some of the failed ES4 proposals.
23+
24+
25+
== Backgroung Images
26+
27+
28+
image::https://raw.githubusercontent.com/HansUXdev/OSS-Books/master/JavaScript-First/04-Client-VS-Server/HTTP-readFile.png[background, size=cover]
29+
30+
== Quote
31+
[quote, Albert Einstein]
32+
A person who never made a mistake never tried anything new.
33+
34+
== Terms & concepts
35+
first term:: definition of first term
36+
second term:: definition of second term
37+
38+
== JavaScipt Code
39+
image::https://raw.githubusercontent.com/HansUXdev/OSS-Books/master/JavaScript-First/02-DataTypes-and-Debugging/Primitives/primitives.png[]
40+
41+
42+
Primitives are weakly Immutable:
43+
44+
[source, JavaScript]
45+
----
46+
const StringPrimitive = "Hello";
47+
console.log(typeof StringPrimitive) // string
48+
console.log(StringPrimitive.__proto__ ) //
49+
console.log(StringPrimitive[0]) // "H"
50+
StringPrimitive[0] = 'k';
51+
console.log(StringPrimitive[0]) // "H"
52+
----
53+
54+
55+
== Images
56+
57+
[source, asciidoc]
58+
--
59+
image::media/morpheus.jpg[]
60+
--
61+
62+
results in:
63+
64+
image::media/morpheus.jpg[]
65+
66+
=== Background Images
67+
68+
[source, asciidoc]
69+
--
70+
image::media/background.jpg[background, size=cover]
71+
--
72+
73+
results in:
74+
75+
image::media/background.jpg[background, size=cover]
76+
77+
=== Background Gifs
78+
79+
[source, asciidoc]
80+
--
81+
image::media/suprise.gif[background, size=cover]
82+
--
83+
84+
results in:
85+
86+
image::media/suprise.gif[background, size=cover]
87+
88+
[background-video="https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4",options="loop,muted"]
89+
=== Background Videos
90+
91+
[source, asciidoc]
92+
--
93+
[background-video="https://video.de/my.mp4",options="loop,muted"]
94+
--
95+
96+
== PlantUml
97+
[source, asciidoc]
98+
--
99+
[graphviz]
100+
[plantuml,alice-bob]
101+
....
102+
alice -> bob
103+
....
104+
--
105+
106+
results in:
107+
108+
[plantuml,alice-bob,svg,role=sequence]
109+
....
110+
alice -> bob
111+
....
112+
113+
=== Graphviz
114+
115+
[source, asciidoc]
116+
--
117+
[graphviz]
118+
....
119+
digraph foo {
120+
node [style=rounded]
121+
node1 [shape=box]
122+
node2 [fillcolor=yellow, style="rounded,filled", shape=diamond]
123+
node3 [shape=record, label="{ a | b | c }"]
124+
125+
node1 -> node2 -> node3
126+
}
127+
....
128+
--
129+
130+
results in:
131+
132+
[graphviz]
133+
....
134+
digraph foo {
135+
node [style=rounded]
136+
node1 [shape=box]
137+
node2 [fillcolor=yellow, style="rounded,filled", shape=diamond]
138+
node3 [shape=record, label="{ a | b | c }"]
139+
140+
node1 -> node2 -> node3
141+
}
142+
....
143+
144+
[.columns]
145+
== Column layout
146+
147+
[.column]
148+
--
149+
* **Edgar Allen Poe**
150+
* Sheri S. Tepper
151+
* Bill Bryson
152+
--
153+
154+
[.column]
155+
--
156+
Edgar Allan Poe (/poʊ/; born Edgar Poe; Ja
157+
nuary 19, 1809 – October 7, 1849) was an American writer, editor, and literary critic.
158+
--
159+
160+
[.columns]
161+
=== Columns with size
162+
[.column.is-one-third]
163+
--
164+
* **Kotlin**
165+
* Java
166+
* Scala
167+
--
168+
169+
[.column]
170+
--
171+
Programming language for Android, mobile cross-platform
172+
and web development, server-side, native,
173+
and data science. Open source forever Github.
174+
--
175+
176+
== Lists
177+
178+
[source, asciidoc]
179+
--
180+
* Im
181+
* a
182+
* List
183+
--
184+
185+
results in:
186+
187+
* Im
188+
* a
189+
* List
190+
191+
=== Lists
192+
193+
[source, asciidoc]
194+
--
195+
. Step 1
196+
. Step 2
197+
.. Step 2a
198+
.. Step 2b
199+
. Step 3
200+
--
201+
202+
results in:
203+
204+
. Step 1
205+
. Step 2
206+
.. Step 2a
207+
.. Step 2b
208+
. Step 3
209+
210+
=== Descriptions
211+
212+
[source, asciidoc]
213+
--
214+
first term:: definition of first term
215+
second term:: definition of second term
216+
--
217+
218+
results in:
219+
220+
first term:: definition of first term
221+
second term:: definition of second term
222+
223+
== Source Code
224+
225+
226+
[source, asciidoc]
227+
--
228+
[source, clojure]
229+
----
230+
const StringPrimitive = "Hello";
231+
console.log(typeof StringPrimitive) // string
232+
console.log(StringPrimitive.__proto__ ) //
233+
console.log(StringPrimitive[0]) // "H"
234+
StringPrimitive[0] = 'k';
235+
console.log(StringPrimitive[0]) // "H"
236+
----
237+
--
238+
239+
results in:
240+
241+
[source, clojure]
242+
----
243+
(def lazy-fib
244+
(concat
245+
[0 1]
246+
((fn rfib [a b]
247+
(lazy-cons (+ a b) (rfib b (+ a b)))) 0 1)))
248+
----
249+
250+
== Tables
251+
252+
[source, asciidoc]
253+
--
254+
[%header, cols=2*]
255+
|===
256+
|Character
257+
|Seen in
258+
259+
|Donald Duck
260+
|Mickey Mouse
261+
|===
262+
--
263+
264+
results in:
265+
266+
[%header, cols=2*]
267+
|===
268+
|Character
269+
|Seen in
270+
271+
|Donald Duck
272+
|Mickey Mouse
273+
274+
|Donald Duck 2
275+
|Mickey Mouse 2
276+
|===
277+
278+
== Quotes
279+
280+
[quote, Albert Einstein]
281+
A person who never made a mistake never tried anything new.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /