SlideShare a Scribd company logo
2
Most read
8
Most read
10
Most read
JavaScript for ABAP Programmers
Introduction
Chris Whealy / The RIG
JavaScript’s Name – And the Resulting Confusion…
JavaScript was first developed by Brendan Eich at Netscape in 1995 (in 10 days). Originally this new
scripting language was called “Mocha”.
When Netscape Navigator 2.0 was shipped in September 1995, the language was renamed to
“LiveScript”.
However, when Netscape Navigator 2.0B3 was released on December 4th, 1995, Netscape made a
joint announcement with Sun Microsystems to the effect that Netscape’s new scripting language would
complement Sun Microsystem’s new Web application language Java; therefore, the new scripting
language would be called “JavaScript” – and this has caused no end of confusion ever since…
The bottom line is simply this…

JavaScript is NOT Java!

© 2013 SAP AG. All rights reserved.

2
JavaScript’s Linguistic Heritage
Over the course of the language’s development, various conceptual elements have been borrowed
from other languages to form what is now called JavaScript.

JavaScript

© 2013 SAP AG. All rights reserved.

3
JavaScript’s Linguistic Heritage
Over the course of the language’s development, various conceptual elements have been borrowed
from other languages to form what is now called JavaScript.

JavaScript

© 2013 SAP AG. All rights reserved.

4
JavaScript’s Linguistic Heritage
Over the course of the language’s development, various conceptual elements have been borrowed
from other languages to form what is now called JavaScript.

Scheme

JavaScript

© 2013 SAP AG. All rights reserved.

5
JavaScript’s Linguistic Heritage
Over the course of the language’s development, various conceptual elements have been borrowed
from other languages to form what is now called JavaScript.

Scheme

JavaScript

Perl
© 2013 SAP AG. All rights reserved.

6
JavaScript Standards
JavaScript was standardised by the European Computer Manufacturer’s Association (ECMA) in 1997.
JavaScript used in browsers is now considered to be only one implementation of the ECMA-262
specification.

Edition

Date
1 June 1997
2 June 1998
3 December 1999
4 Abandoned
5 December 2009

5.1 June 2011
6 (Harmony) Work in progress
7 Work in progress

© 2013 SAP AG. All rights reserved.

7
JavaScript Runtime Engines
In order to execute a JavaScript program, a JavaScript Engine is needed.
Multiple implementations of JavaScript engines are available, with the most widely used being:

JavaScript Engine
Rhino (Mozilla)
SpiderMonkey (Mozilla)
Chakra (Microsoft)

V8 (Google)
Nitro (Apple)

© 2013 SAP AG. All rights reserved.

8
JavaScript Runtime: Client Side Implementations
Modern JavaScript engines have been designed to run either from within a web browser or as stand
alone, server-side execution engines.

Browser

JavaScript Engine

Mozilla Firefox

SpiderMonkey (Mozilla)

Microsoft Internet Explorer

Chakra (Microsoft)

Google Chrome

V8 (Google)

Apple Safari

Nitro (Apple)

© 2013 SAP AG. All rights reserved.

9
JavaScript Runtime: Server Side Implementations
There are multiple server-side implementations of JavaScript, many of which are based on Mozilla
Rhino (Java based). When speed is required however, Mozilla SpiderMonkey or the Google V8
engine are used instead.

Server Side Implementation

JavaScript Engine
SpiderMonkey (Mozilla)

HANA XSJS
Accessible via

Chakra (Microsoft)

V8 (Google)
Nitro (Apple)

© 2013 SAP AG. All rights reserved.

10
In A Nutshell – The Main Differences Between ABAP & JavaScript
Understanding the differences between ABAP and JavaScript is fundamental to transferring your
existing programming skills into JavaScript. Some of the main differences are as follows:

ABAP

JavaScript

Strongly typed

Weakly typed

Syntax similar to COBOL

Syntax derived from Java (and C)

Block scope

Lexical scope

No equivalent concept

Functions are 1st class citizens

OO using class based inheritance

OO using referential inheritance

Imperative programming

Imperative or Functional programming

© 2013 SAP AG. All rights reserved.

11

More Related Content

What's hot (20)

PPT
Introduction to gdb
Owen Hsu
 
PPT
A Deeper look into Javascript Basics
Mindfire Solutions
 
PPTX
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
PPTX
Introduction to es6
NexThoughts Technologies
 
PDF
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
PDF
Kotlin for Android Development
Speck&Tech
 
PPT
Javascript
guest03a6e6
 
PDF
Angular & RXJS: examples and use cases
Fabio Biondi
 
PDF
JavaScript guide 2020 Learn JavaScript
Laurence Svekis ✔
 
PDF
JavaScript Objects
Hazem Hagrass
 
PDF
Solid Principles & Design patterns with PHP examples
Federico Damián Lozada Mosto
 
PPTX
React native
Vikrant Negi
 
PDF
Intro to Asynchronous Javascript
Garrett Welson
 
PDF
LLVM introduction
National Cheng Kung University
 
PPTX
Dart presentation
Lucas Leal
 
PPTX
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
Doug Jones
 
PDF
JavaScript Programming
Sehwan Noh
 
KEY
Introduction to node.js
jacekbecela
 
PDF
Angular and The Case for RxJS
Sandi Barr
 
Introduction to gdb
Owen Hsu
 
A Deeper look into Javascript Basics
Mindfire Solutions
 
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
Introduction to es6
NexThoughts Technologies
 
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
Kotlin for Android Development
Speck&Tech
 
Javascript
guest03a6e6
 
Angular & RXJS: examples and use cases
Fabio Biondi
 
JavaScript guide 2020 Learn JavaScript
Laurence Svekis ✔
 
JavaScript Objects
Hazem Hagrass
 
Solid Principles & Design patterns with PHP examples
Federico Damián Lozada Mosto
 
React native
Vikrant Negi
 
Intro to Asynchronous Javascript
Garrett Welson
 
Dart presentation
Lucas Leal
 
JavaScript: The Good Parts Or: How A C# Developer Learned To Stop Worrying An...
Doug Jones
 
JavaScript Programming
Sehwan Noh
 
Introduction to node.js
jacekbecela
 
Angular and The Case for RxJS
Sandi Barr
 

Similar to JavaScript for ABAP Programmers - 1/7 Introduction (20)

PPTX
Java script
Daniel Bragais
 
PPTX
Javascript 01 (js)
AbhishekMondal42
 
PDF
Javascript
Momentum Design Lab
 
PPTX
chap01 - Introduction to JavaScript first.pptx
rexwilde3095
 
PPTX
Java script introduction
Jesus Obenita Jr.
 
PPTX
Java script
reddivarihareesh
 
PPTX
introduction to js
Sireesh K
 
DOCX
Javascript tutorial
Abhishek Kesharwani
 
PPTX
WT Module-3.pptx
RamyaH11
 
PPT
JavaScript Introduction
Charles Russell
 
DOCX
INTRODUCTION.docx
KaiSane1
 
PPTX
JavaScript New Tutorial Class XI and XII.pptx
rish15r890
 
PPTX
Java script Session No 1
Saif Ullah Dar
 
PPTX
Introduction to JavaScript
ApxicTechnologies1
 
PDF
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
PPTX
Difference between Node.js vs Java script
GhulamHussain799241
 
PPTX
Java script Basic
Jaya Kumari
 
PPTX
txWelcome to Javascript Welcome to Javascript.pp
vaibhavdtambe2003
 
PPT
Java script
Kumar
 
PPTX
JavaScript: Implementations And Applications
Pragya Pai
 
Java script
Daniel Bragais
 
Javascript 01 (js)
AbhishekMondal42
 
chap01 - Introduction to JavaScript first.pptx
rexwilde3095
 
Java script introduction
Jesus Obenita Jr.
 
Java script
reddivarihareesh
 
introduction to js
Sireesh K
 
Javascript tutorial
Abhishek Kesharwani
 
WT Module-3.pptx
RamyaH11
 
JavaScript Introduction
Charles Russell
 
INTRODUCTION.docx
KaiSane1
 
JavaScript New Tutorial Class XI and XII.pptx
rish15r890
 
Java script Session No 1
Saif Ullah Dar
 
Introduction to JavaScript
ApxicTechnologies1
 
JavaScript_ The Backbone of Modern Software and Web Development.pdf
Delimp Technology
 
Difference between Node.js vs Java script
GhulamHussain799241
 
Java script Basic
Jaya Kumari
 
txWelcome to Javascript Welcome to Javascript.pp
vaibhavdtambe2003
 
Java script
Kumar
 
JavaScript: Implementations And Applications
Pragya Pai
 
Ad

Recently uploaded (20)

PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Ad

JavaScript for ABAP Programmers - 1/7 Introduction

  • 1. JavaScript for ABAP Programmers Introduction Chris Whealy / The RIG
  • 2. JavaScript’s Name – And the Resulting Confusion… JavaScript was first developed by Brendan Eich at Netscape in 1995 (in 10 days). Originally this new scripting language was called “Mocha”. When Netscape Navigator 2.0 was shipped in September 1995, the language was renamed to “LiveScript”. However, when Netscape Navigator 2.0B3 was released on December 4th, 1995, Netscape made a joint announcement with Sun Microsystems to the effect that Netscape’s new scripting language would complement Sun Microsystem’s new Web application language Java; therefore, the new scripting language would be called “JavaScript” – and this has caused no end of confusion ever since… The bottom line is simply this… JavaScript is NOT Java! © 2013 SAP AG. All rights reserved. 2
  • 3. JavaScript’s Linguistic Heritage Over the course of the language’s development, various conceptual elements have been borrowed from other languages to form what is now called JavaScript. JavaScript © 2013 SAP AG. All rights reserved. 3
  • 4. JavaScript’s Linguistic Heritage Over the course of the language’s development, various conceptual elements have been borrowed from other languages to form what is now called JavaScript. JavaScript © 2013 SAP AG. All rights reserved. 4
  • 5. JavaScript’s Linguistic Heritage Over the course of the language’s development, various conceptual elements have been borrowed from other languages to form what is now called JavaScript. Scheme JavaScript © 2013 SAP AG. All rights reserved. 5
  • 6. JavaScript’s Linguistic Heritage Over the course of the language’s development, various conceptual elements have been borrowed from other languages to form what is now called JavaScript. Scheme JavaScript Perl © 2013 SAP AG. All rights reserved. 6
  • 7. JavaScript Standards JavaScript was standardised by the European Computer Manufacturer’s Association (ECMA) in 1997. JavaScript used in browsers is now considered to be only one implementation of the ECMA-262 specification. Edition Date 1 June 1997 2 June 1998 3 December 1999 4 Abandoned 5 December 2009 5.1 June 2011 6 (Harmony) Work in progress 7 Work in progress © 2013 SAP AG. All rights reserved. 7
  • 8. JavaScript Runtime Engines In order to execute a JavaScript program, a JavaScript Engine is needed. Multiple implementations of JavaScript engines are available, with the most widely used being: JavaScript Engine Rhino (Mozilla) SpiderMonkey (Mozilla) Chakra (Microsoft) V8 (Google) Nitro (Apple) © 2013 SAP AG. All rights reserved. 8
  • 9. JavaScript Runtime: Client Side Implementations Modern JavaScript engines have been designed to run either from within a web browser or as stand alone, server-side execution engines. Browser JavaScript Engine Mozilla Firefox SpiderMonkey (Mozilla) Microsoft Internet Explorer Chakra (Microsoft) Google Chrome V8 (Google) Apple Safari Nitro (Apple) © 2013 SAP AG. All rights reserved. 9
  • 10. JavaScript Runtime: Server Side Implementations There are multiple server-side implementations of JavaScript, many of which are based on Mozilla Rhino (Java based). When speed is required however, Mozilla SpiderMonkey or the Google V8 engine are used instead. Server Side Implementation JavaScript Engine SpiderMonkey (Mozilla) HANA XSJS Accessible via Chakra (Microsoft) V8 (Google) Nitro (Apple) © 2013 SAP AG. All rights reserved. 10
  • 11. In A Nutshell – The Main Differences Between ABAP & JavaScript Understanding the differences between ABAP and JavaScript is fundamental to transferring your existing programming skills into JavaScript. Some of the main differences are as follows: ABAP JavaScript Strongly typed Weakly typed Syntax similar to COBOL Syntax derived from Java (and C) Block scope Lexical scope No equivalent concept Functions are 1st class citizens OO using class based inheritance OO using referential inheritance Imperative programming Imperative or Functional programming © 2013 SAP AG. All rights reserved. 11