SlideShare a Scribd company logo
TypeScript, Dart, CoffeeScript
and JavaScript Comparison
LifeMichael.com
Haim Michael
September 7th, 2016
All logos, trade marks and brand names used in this presentation belong
to the respective owners.
Table of Content
LifeMichael.com
● What is JavaScript?
● ECMAScript Specification
● Transpiling into JavaScript
● What is TypeScript?
● What is Dart?
● What is CoffeeScript?
● Detailed Comparison
● Questions & Answers
What is JavaScript?
LifeMichael.com
● The JavaScript programming language is been used
on multiple different platforms. Some belong to the
client side. Other to the server.
ECMA Script Specification
LifeMichael.com
● The ECMAScript sets some order in the JavaScript
eco system.
● ECMAScript 2015 (ES6)
ECMAScript 2016 (ES7)
ECMAScript 2017 (ES8)
...
ECMA Script Specification
LifeMichael.com
http://kangax.github.io/compat-table/es6/
Transpiling into JavaScript
LifeMichael.com
● There is a huge number of various programming
languages we can transpile into JavaScript.
https://github.com/jashkenas/coffeescript/wiki/list-of-
languages-that-compile-to-js
What is TypeScript?
LifeMichael.com
● The TypeScript programming language was
developed by Microsoft. It is an open source
programming language.
● The code we write in TypeScript is transpiled into
JavaScript, so we can basically use TypeScript
wherever we use JavaScript.
http://www.typescriptlang.org
What is TypeScript?
LifeMichael.com
● TypeScript is a superset of JavaScript. It includes the
entire JavaScript programming language together with
additional capabilities.
● In general, nearly every code we can write in
JavaScript can be included in code we write in
TypeScript.
What is TypeScript?
LifeMichael.com
● TypeScript's main added value is the ability to code
with types. It allows us to define new classes and new
interfaces. TypeScript allows us to specify the type of
each and every variable and is even capable of
interfering the type by itself. TypeScript allows us to
use JavaScript as if it was a strictly type programming
language.
What is TypeScript?
LifeMichael.com
class Rectangle
{
private width:number;
private height:number;
constructor( w:number, h:number)
{
this.setWidtht(w);
this.setHeight(h);
}
setWidtht(num:number):void
{
if(num>0)
{
this.width = num;
}
}
…
}
What is Dart?
LifeMichael.com
● Dart is an open source class based, object oriented,
optionally typed programming language that allows us
to develop browser based one page web applications.
Dart can be used for the server side.
● Dart is developed by Google and the initial plan was
to have a Dart VM installed on every web browser.
http://www.dartlang.org
What is Dart?
LifeMichael.com
● Using the Dart virtual machine we can execute the
code written in Dart on the server side.
● We can execute the code either by using a web
browser that supports Dart or by compiling the code
into JavaScript.
What is Dart?
LifeMichael.com
class Rectangle
{
double _width;
double _height;
Rectangle(double w,double h)
{
width = w;
height = h;
}
get width => _width;
set width(size) => (size>0)?_width=size:_width=10.0;
get height => _height;
set height(size) => (size>0)?_height=size:_height=10.0;
area() => width * height;
perimeter() => 2*(width+height);
}
What is Dart?
LifeMichael.com
main()
{
var ob = new Rectangle(3.2,4.4);
ob.width = 20.2;
ob.height = -4.1;
var area = ob.area();
print("area is $area");
}
What is CoffeeScript?
LifeMichael.com
● CoffeeScript is a relatively small programming
language we can use for writing code and later
transpile it into JavaScript.
● CoffeeScript evolvement was inspired by Python and
Ruby. CoffeeScript provides developers with tools
similar to those you can find in Python and Ruby.
http://www.coffeescript.org
What is CoffeeScript?
LifeMichael.com
class Person
constructor: (@firstName,@lastName,@id) ->
printDetails: ->
console.log "first name is #{@firstName}"
console.log "last name is #{@lastName}"
console.log "id is #{@id}"
Person a = new Person("haim","michael",123123)
Person b = new Person("danidin","jack",234234)
a.printDetails()
b.printDetails()
Detailed Comparison
LifeMichael.com
Strict Dynamic
WhiteSpacesSensitivity
Types Capabilities
LowHigh
Coffee Script
Dart
TypeScript JavaScript
Detailed Comparison
LifeMichael.com
Low High
CapabilitiestoUse3rd
PartyJSLibraries
Object Oriented Capabilities
LowHigh
Coffee Script
Dart TypeScript
JavaScript
Detailed Comparison
LifeMichael.com
Not Available Available
ReleaseofNewVersions
Independent Virtual Machine
RareFrequently
Coffee Script Dart
TypeScript
JavaScript
(1) https://www.techempower.com/benchmarks/
(1)
Detailed Comparison
LifeMichael.com
Simple Difficult
SupportforGenerics
Developing with Angular 2
NotAvailableAvailable
Coffee Script
Dart
TypeScript
JavaScript
Detailed Comparison
LifeMichael.com
Low
SupportforMethodsOverloading
Support for Use of Interfaces
NotAvailableAvailable
Coffee Script
Dart
TypeScript
JavaScript
High
Detailed Comparison
LifeMichael.com
Low
SupportforMethodsOverloading
Support for Access Modifiers
NotAvailableAvailable
Coffee Script
Dart
TypeScript
JavaScript
High
Detailed Comparison
LifeMichael.com
Not Available
SupportforEnum
Support for Abstract Classes
NotAvailableAvailable
Coffee Script
Dart
TypeScript
JavaScript
Available
Detailed Comparison
LifeMichael.com
Low
IDESupport
Popularity
LowHigh
Coffee Script
Dart
TypeScript JavaScript
High
Detailed Comparison
LifeMichael.com
Questions & Answers
LifeMichael.com
● Courses I start to deliver in HIT this November (28 weekly
meetings, 6800 shekels) include the following:
Android 7 Java Applications Development
Software Engineering in PHP
Front End Development
tinyurl.com/lifemichaelhitcourses
● If you enjoyed my lecture please leave me a comment
at http://speakermix.com/life-michael.
Thanks for your time!

More Related Content

What's hot (20)

PDF
JavaScript Jump Start
Haim Michael
 
PDF
Javascript talk1
Pratik Kunpara
 
PDF
Frameworks in JavaScript
Haim Michael
 
PDF
WordPress Jump Start
Haim Michael
 
PDF
HTML5 Jump Start
Haim Michael
 
PPTX
JavaScript Core fundamentals - Learn JavaScript Here
Laurence Svekis ✔
 
PPT
JavaScript Missing Manual, Ch. 1
Gene Babon
 
PPTX
Java script session 3
Saif Ullah Dar
 
PDF
10 java script projects full source code
Laurence Svekis ✔
 
PDF
How to Build ToDo App with Vue 3 + TypeScript
Katy Slemon
 
PDF
Web components the future is here
Gil Fink
 
PDF
JavaScript guide 2020 Learn JavaScript
Laurence Svekis ✔
 
PPTX
Introduction to java_script
Basavaraj Hampali
 
PDF
Anyone Can Code: JavaScript - 6/24/2014
Joseph Mainwaring
 
PPTX
Java script
reddivarihareesh
 
PPTX
Console in javaScript
Vivek Kumar
 
PPTX
Java script Session No 1
Saif Ullah Dar
 
PDF
Why and How to Use Virtual DOM
Daiwei Lu
 
PDF
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
PDF
Javascript Roadmap - The Basics
Aswin Barath
 
JavaScript Jump Start
Haim Michael
 
Javascript talk1
Pratik Kunpara
 
Frameworks in JavaScript
Haim Michael
 
WordPress Jump Start
Haim Michael
 
HTML5 Jump Start
Haim Michael
 
JavaScript Core fundamentals - Learn JavaScript Here
Laurence Svekis ✔
 
JavaScript Missing Manual, Ch. 1
Gene Babon
 
Java script session 3
Saif Ullah Dar
 
10 java script projects full source code
Laurence Svekis ✔
 
How to Build ToDo App with Vue 3 + TypeScript
Katy Slemon
 
Web components the future is here
Gil Fink
 
JavaScript guide 2020 Learn JavaScript
Laurence Svekis ✔
 
Introduction to java_script
Basavaraj Hampali
 
Anyone Can Code: JavaScript - 6/24/2014
Joseph Mainwaring
 
Java script
reddivarihareesh
 
Console in javaScript
Vivek Kumar
 
Java script Session No 1
Saif Ullah Dar
 
Why and How to Use Virtual DOM
Daiwei Lu
 
Multi modularized project setup with gulp, typescript and angular.js
David Amend
 
Javascript Roadmap - The Basics
Aswin Barath
 

Viewers also liked (18)

PDF
JavaScript, Dart, TypeScript & CoffeeScript Comparison
Haim Michael
 
PPTX
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest
 
PDF
PHP Jump Start
Haim Michael
 
PDF
TypeScript 2 in action
Alexander Rusakov
 
PDF
Introduction to Dart
RameshNair6
 
PPTX
GWTcon 2015 - Best development practices for GWT web applications
Arcbees
 
PDF
How to build a Dart and Firebase app in 30 mins
Jana Moudrá
 
PDF
GWTcon 2015 - Beyond GWT 3.0 Panic
Cristiano Costantini
 
PDF
Introduction to the Dart language
Jana Moudrá
 
PDF
使用 Java 上的 future/promise API
koji lin
 
PDF
Introduction to Flutter - truly crossplatform, amazingly fast
Bartosz Kosarzycki
 
PDF
TypeScript - An Introduction
NexThoughts Technologies
 
PPTX
Typescript ppt
akhilsreyas
 
PPTX
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
PPTX
TypeScript Overview
Aniruddha Chakrabarti
 
PPT
Mentor Coaching at Regal Unlimited
Subash CV - Executive Coach
 
PPTX
Military Professional Human Resources of all types
Agha A
 
JavaScript, Dart, TypeScript & CoffeeScript Comparison
Haim Michael
 
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
CodeFest
 
PHP Jump Start
Haim Michael
 
TypeScript 2 in action
Alexander Rusakov
 
Introduction to Dart
RameshNair6
 
GWTcon 2015 - Best development practices for GWT web applications
Arcbees
 
How to build a Dart and Firebase app in 30 mins
Jana Moudrá
 
GWTcon 2015 - Beyond GWT 3.0 Panic
Cristiano Costantini
 
Introduction to the Dart language
Jana Moudrá
 
使用 Java 上的 future/promise API
koji lin
 
Introduction to Flutter - truly crossplatform, amazingly fast
Bartosz Kosarzycki
 
TypeScript - An Introduction
NexThoughts Technologies
 
Typescript ppt
akhilsreyas
 
Getting started with typescript
C...L, NESPRESSO, WAFAASSURANCE, SOFRECOM ORANGE
 
TypeScript Overview
Aniruddha Chakrabarti
 
Mentor Coaching at Regal Unlimited
Subash CV - Executive Coach
 
Military Professional Human Resources of all types
Agha A
 
Ad

Similar to TypeScript, Dart, CoffeeScript and JavaScript Comparison (20)

PDF
Dart Jump Start
Haim Michael
 
PDF
8.-Javascript-report powerpoint presentation
JohnLagman3
 
PPTX
Type script
Mallikarjuna G D
 
PDF
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
PPT
Java script anywhere. What Nombas was doing pre-acquisition.
Brent Noorda
 
PDF
Survive JavaScript - Strategies and Tricks
Juho Vepsäläinen
 
PDF
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
PPTX
Bringing your app to the web with Dart - Chris Buckett (Entity Group)
jaxLondonConference
 
PPTX
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Malla Reddy University
 
PPTX
C # (C Sharp).pptx
SnapeSever
 
PDF
Type script
srinivaskapa1
 
PDF
Javascript pdf for beginners easy levell
SakshamGupta957136
 
PDF
Building End-to-End Apps Using Typescript
Gil Fink
 
PPTX
js.pptx
SuhaibKhan62
 
PPTX
Gab 2018 seguridad y escalado en azure service fabric
Alberto Diaz Martin
 
PPTX
Gab 2018 seguridad y escalado en azure service fabric
Alberto Diaz Martin
 
PDF
An Introduction to TypeScript
WrapPixel
 
PPTX
TypeScript VS JavaScript.pptx
Albiorix Technology
 
PPT
Introduction To Groovy 2005
Tugdual Grall
 
PDF
The Rust Programming Language
Mario Alexandro Santini
 
Dart Jump Start
Haim Michael
 
8.-Javascript-report powerpoint presentation
JohnLagman3
 
Type script
Mallikarjuna G D
 
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
Java script anywhere. What Nombas was doing pre-acquisition.
Brent Noorda
 
Survive JavaScript - Strategies and Tricks
Juho Vepsäläinen
 
TypeScript: Angular's Secret Weapon
Laurent Duveau
 
Bringing your app to the web with Dart - Chris Buckett (Entity Group)
jaxLondonConference
 
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Malla Reddy University
 
C # (C Sharp).pptx
SnapeSever
 
Type script
srinivaskapa1
 
Javascript pdf for beginners easy levell
SakshamGupta957136
 
Building End-to-End Apps Using Typescript
Gil Fink
 
js.pptx
SuhaibKhan62
 
Gab 2018 seguridad y escalado en azure service fabric
Alberto Diaz Martin
 
Gab 2018 seguridad y escalado en azure service fabric
Alberto Diaz Martin
 
An Introduction to TypeScript
WrapPixel
 
TypeScript VS JavaScript.pptx
Albiorix Technology
 
Introduction To Groovy 2005
Tugdual Grall
 
The Rust Programming Language
Mario Alexandro Santini
 
Ad

More from Haim Michael (20)

PDF
The Visitor Classic Design Pattern [Free Meetup]
Haim Michael
 
PDF
Typing in Python: Bringing Clarity, Safety and Speed to Your Code [Free Meetup]
Haim Michael
 
PDF
Introduction to Pattern Matching in Java [Free Meetup]
Haim Michael
 
PDF
Mastering The Collections in JavaScript [Free Meetup]
Haim Michael
 
PDF
Beyond Java - Evolving to Scala and Kotlin
Haim Michael
 
PDF
JavaScript Promises Simplified [Free Meetup]
Haim Michael
 
PDF
Scala Jump Start [Free Online Meetup in English]
Haim Michael
 
PDF
The MVVM Architecture in Java [Free Meetup]
Haim Michael
 
PDF
Kotlin Jump Start Online Free Meetup (June 4th, 2024)
Haim Michael
 
PDF
Anti Patterns
Haim Michael
 
PDF
Virtual Threads in Java
Haim Michael
 
PDF
MongoDB Design Patterns
Haim Michael
 
PDF
Introduction to SQL Injections
Haim Michael
 
PDF
Record Classes in Java
Haim Michael
 
PDF
Microservices Design Patterns
Haim Michael
 
PDF
Structural Pattern Matching in Python
Haim Michael
 
PDF
Unit Testing in Python
Haim Michael
 
PDF
OOP Best Practices in JavaScript
Haim Michael
 
PDF
Java Jump Start
Haim Michael
 
PDF
Bootstrap Jump Start
Haim Michael
 
The Visitor Classic Design Pattern [Free Meetup]
Haim Michael
 
Typing in Python: Bringing Clarity, Safety and Speed to Your Code [Free Meetup]
Haim Michael
 
Introduction to Pattern Matching in Java [Free Meetup]
Haim Michael
 
Mastering The Collections in JavaScript [Free Meetup]
Haim Michael
 
Beyond Java - Evolving to Scala and Kotlin
Haim Michael
 
JavaScript Promises Simplified [Free Meetup]
Haim Michael
 
Scala Jump Start [Free Online Meetup in English]
Haim Michael
 
The MVVM Architecture in Java [Free Meetup]
Haim Michael
 
Kotlin Jump Start Online Free Meetup (June 4th, 2024)
Haim Michael
 
Anti Patterns
Haim Michael
 
Virtual Threads in Java
Haim Michael
 
MongoDB Design Patterns
Haim Michael
 
Introduction to SQL Injections
Haim Michael
 
Record Classes in Java
Haim Michael
 
Microservices Design Patterns
Haim Michael
 
Structural Pattern Matching in Python
Haim Michael
 
Unit Testing in Python
Haim Michael
 
OOP Best Practices in JavaScript
Haim Michael
 
Java Jump Start
Haim Michael
 
Bootstrap Jump Start
Haim Michael
 

Recently uploaded (20)

PDF
Transparency into Your Software’s True Reach
team-WIBU
 
PDF
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
PDF
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 
PDF
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
 
PPTX
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
PDF
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
PPTX
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
PPTX
ManageIQ - Sprint 265 Review - Slide Deck
ManageIQ
 
PPTX
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
PPTX
CONCEPT OF PROGRAMMING in language .pptx
tamim41
 
PPTX
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PPTX
Mistakes to Avoid When Selecting Policy Management Software
Insurance Tech Services
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 41
utfefguu
 
PPTX
Cubase Pro Crack 2025 – Free Download Full Version with Activation Key
HyperPc soft
 
PPTX
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
PPTX
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
 
PPTX
ManageIQ - Sprint 264 Review - Slide Deck
ManageIQ
 
Transparency into Your Software’s True Reach
team-WIBU
 
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
 
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
AWS Consulting Services: Empowering Digital Transformation with Nlineaxis
Nlineaxis IT Solutions Pvt Ltd
 
Java Native Memory Leaks: The Hidden Villain Behind JVM Performance Issues
Tier1 app
 
ManageIQ - Sprint 265 Review - Slide Deck
ManageIQ
 
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
CONCEPT OF PROGRAMMING in language .pptx
tamim41
 
Iobit Driver Booster Pro 12 Crack Free Download
chaudhryakashoo065
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Mistakes to Avoid When Selecting Policy Management Software
Insurance Tech Services
 
IDM Crack with Internet Download Manager 6.42 Build 41
utfefguu
 
Cubase Pro Crack 2025 – Free Download Full Version with Activation Key
HyperPc soft
 
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
IObit Driver Booster Pro Crack Download Latest Version
chaudhryakashoo065
 
ManageIQ - Sprint 264 Review - Slide Deck
ManageIQ
 

TypeScript, Dart, CoffeeScript and JavaScript Comparison