2. JavaScript
Is a prototype-based scripting language that is
dynamic, weakly typed and has first-class
functions.
Is a multi-paradigm language, supporting object-
oriented, imperative and functional programming
styles.
Is primarily used in the form of client-side
JavaScript, implemented as part of a Web
browser in order to provide enhanced user
interfaces and dynamic websites.
3. JavaScript engine
Also known as JavaScript interpreter or
JavaScript implementation, it is a
specialized computer software which
interprets and executes JavaScript code.
Although there are several uses for a
JavaScript engine, it is most commonly
used in web browsers.
4. Browser's JavaScript engines
Google
V8 - open source, developed by Google in Denmark, part of
Google Chrome
Mozilla
Rhino - managed by the Mozilla Foundation, open source,
developed entirely in Java
SpiderMonkey (code name) - the first ever JavaScript
engine, writtenfor Netscape
TraceMonkey - the engine promoted with Firefox 3.5
JägerMonkey - the engine promoted with Firefox 4
IonMonkey - JIT compiler optimization for SpiderMonkey
Tamarin - by Adobe Labs
5. Browser's JavaScript engines
Opera
Carakan - by Opera Software, used since Opera 10.50
Futhark - by Opera Software, replaced by Carakan in
Opera 10.50 (released March 2010)
Safari
JavaScriptCore - renamed to SquirrelFish and marketed
as Nitro, for Safari
6. Browser's JavaScript engines
Other
KJS - KDE's ECMAScript/JavaScript engine originally
developed by Harri Porten for the KDE project's Konqueror
web browser
Narcissus open source - written by Brendan Eich, who also
wrote SpiderMonkey
Chakra - for Internet Explorer 9
dyn.js - open source, written by Douglas Campos and others
Nashorn - open source (pending), written by Oracle Java
Languages and Tool Group
7. V8 (JavaScript engine)
The Google V8 JavaScript Engine is an open
source JavaScript engine developed by Google
and ships with the Google Chrome web browser.
V8 increases performance by compiling
JavaScript to native machine code before
executing it, rather than to execute bytecode or
interpreting it. Further performance increases are
achieved by employing optimization techniques
such as inline caching.
It's written in C++, JavaScript, Assembly.
8. JägerMonkey
JägerMonkey (also JaegerMonkey) is a
JavaScript engine released for Firefox 4 and later
versions. It has "Method JIT" and a new
assembler based on Safari's Nitro. It is an
upgrade to the SpiderMonkey JavaScript engine
for the Firefox browser by Mozilla.
The "Method JIT" from JägerMonkey and the
"Tracing JIT" from TraceMonkey will be combined
to make SpiderMonkey even faster.
9. WebKit
WebKit is a layout engine used by Safari and Google
Chrome, designed to allow web browsers to render
web pages.
JavaScriptCore is a framework that provides a
JavaScript engine for WebKit implementations, and
provides this type of scripting in other contexts within
Mac OS X. JavaScriptCore is originally derived from
KDE's JavaScript engine (KJS) library (which is part
of the KDE project) and the PCRE regular expression
library. Since forking from KJS and PCRE,
JavaScriptCore has been improved with many new
features and greatly improved performance.
10. JavaScriptCore
On June 2, 2008, the WebKit project announced
they rewrote JavaScriptCore as "SquirrelFish", a
bytecode interpreter. The project evolved into
SquirrelFish Extreme (abbreviated SFX, marketed
as Nitro), announced on September 18, 2008, which
compiles JavaScript into native machine code,
eliminating the need for a bytecode interpreter and
thus speeding up JavaScript execution.
11. Carakan (JavaScript engine)
Opera began to use the Carakan engine in early
2009.
Carakan engine features register-based
bytecode, native code generation, automatic
object classification and overall performance
improvements. Early access in the Opera 10.50
pre-alpha showed that it is as fast as the fastest
competitors, being the winner in 2 out of the 3
most used benchmarks.
12. Chakra (JavaScript engine)
Chakra is a JavaScript engine developed by
Microsoft for its Internet Explorer 9 (IE9) web
browser. A distinctive feature of the 32-bit version
of the engine is that it JIT compiles scripts on a
separate CPU core, parallel to the web browser.
The engine is also able to access the computer's
graphics processing unit (GPU), in particular for
3D graphics and video.