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 - From DHTML to a Multi-Paradigm Lan...
Search
Robert Vogt
September 23, 2016
Technology
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScript - From DHTML to a Multi-Paradigm Language
Robert Vogt
September 23, 2016
More Decks by Robert Vogt
See All by Robert Vogt
React Native — Webnesday #9
deniaz
1
430
Hands On: React Native
deniaz
0
390
ADR Lightning Talk
deniaz
0
420
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
2.1k
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
180
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
180
プロダクト思考 × 基盤思考を AIで実現する Compound Engineering
tkc66buzz
1
250
Autonomous AI Databaseサービス・アップデート(FY27)/ adb-service-update-jp-fy27
oracle4engineer
PRO
0
100
PfEingのアプローチで働こう
rindrics
0
170
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
520
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.6k
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
120
2026-09-04 SRE Tech Talk #15 怠惰なTerraform / Lazy Terraform
masasuzu
0
190
APIセキュリティを組織で実現するには~注力する点と設計・実装に入れたい対策~
riiimparm
3
930
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
140
Featured
See All Featured
It's Worth the Effort
3n
188
29k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
WENDY [Excerpt]
tessaabrams
12
39k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
270
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Scaling GitHub
holman
464
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Cult of Friendly URLs
andyhume
79
7k
Leo the Paperboy
mayatellez
8
2.2k
Transcript
JavaScript From DHTML to a Multi-Paradigm Language Robert Vogt #NCamp16
Robert Vogt Software Engineer from & in Sankt Gallen @_deniaz
None
«Web 2.0 describes World Wide Web websites that emphasize user-generated
content, usability, and interoperability for end users.»
jQuery MooTools Prototype JS script.aculo.us
Single-page application
Angular React Object-Oriented Functional
None
JavaScript
«A programming paradigm is a style or way of programming.
Some languages make it easy to write in some paradigms but not others.»
«Object-oriented programming is a programming language model organized around objects
rather than actions and data rather than logic.»
class Dog extends Animal {} let dog = new Dog();
dog.walk();
let Animal = { walk: function() {} }; let Dog
= Object.create(Animal); Dog.bark = function() { return ‘Woof!’; };
Class-based Inheritance Prototypical Inheritance
«Functional Programming is a programming paradigm that treats computation as
the evaluation of mathematical functions and avoids changing-state and mutable data.»
Functions First-Class
let sum = function(a, b) { return a + b;
}
Functions Higher-Order
$.get( 'http://example.com', (data) => { /* Success! */ } );
function createPrinter(a, b) { return function() { return ‘Namics’; }
} const print = createPrinter(); print(); // Namics.
Functions Pure
let double = (x) = x * 2;
Closures Function
let incrementer = (function() { let _value = 0; return
() => ++_value; })(); incrementer(); // 1 incrementer(); // 2 incrementer(); // 3
Data Immutable
const list1 = Immutable.List.of(1, 2); const list2 = list1.push(3, 4,
5);
Composition Function
let ten = double(sum(2, 3));
Soooo… Any Real World Examples?
None
Store View Action Action Dispatcher
const HelloMessage = (props) => ( <div>Hello {props.name}</div> );
«Those who are unaware they are walking in darkness will
never seek light.» — Bruce Lee find me on twitter @_deniaz