Solving Business Problems with JS++

Solving Business
Problems with
JS++
ROGER POON
@ROGERPOON
ROGER@ROGER.NETonux.com/jspp
Sound vs. Unsound
Unsound type systems are
untrustworthy
False sense of security
Extremely hard problem to solve
Example: Forgiving
var a = 1;
var b = "Some message";
// Hundreds of lines later...
console.log(a - b); // NaN
Example: Unforgiving
function getMsg() {
if (maybeTrue()) {
return "Some message";
}
}
var ch = getMsg().charAt(0);
console.log(ch); // Never runs
Defining "crash" in JS
Form doesn't submit
Clicking button/link does
nothing
Node.js server goes down
What if the compiler could find
all your errors for you?
1000 Execution Paths
foobar();
List of JS++ Types
bool
string
void
float
double
int
unsigned int
short
unsigned short
byte
signed byte
Hello World
external console;
console.log("Hello World");
jQuery in 2 (or 3) Lines
external jQuery, $;
string url =
$("#logo").attr("src");
Why was Java Successful?
Garbage Collection
Cross-platform
Developers can focus on what
MATTERS
Solving Business Problems with JS++
Thank You!
ONUX.COM/JSPP
1 of 13

Recommended

02 - Prepcode by
02 - Prepcode02 - Prepcode
02 - Prepcodethewhiteafrican
258 views13 slides
Spock framework by
Spock frameworkSpock framework
Spock frameworkDjair Carvalho
438 views31 slides
Wtf per lineofcode by
Wtf per lineofcodeWtf per lineofcode
Wtf per lineofcodeDavid Gómez García
1.9K views50 slides
Kumpulan script jahil by
Kumpulan script jahilKumpulan script jahil
Kumpulan script jahilUNP PGRI KEDIRI
1.4K views4 slides
JAVA SWITCH STATEMENT by
JAVA SWITCH STATEMENTJAVA SWITCH STATEMENT
JAVA SWITCH STATEMENTRhythm Suiwal
283 views7 slides
EXAMEN PRIMER GRADO DE PRIMARIA IV BIMESTRE by
EXAMEN PRIMER GRADO DE PRIMARIA IV BIMESTREEXAMEN PRIMER GRADO DE PRIMARIA IV BIMESTRE
EXAMEN PRIMER GRADO DE PRIMARIA IV BIMESTREguest5d72ffa
418.1K views11 slides

More Related Content

Similar to Solving Business Problems with JS++

MongoDB: tips, trick and hacks by
MongoDB: tips, trick and hacksMongoDB: tips, trick and hacks
MongoDB: tips, trick and hacksScott Hernandez
5.2K views17 slides
Chrome DevTools by
Chrome DevToolsChrome DevTools
Chrome DevToolsBlake Newman
961 views23 slides
Chrome DevTools 101 by
Chrome DevTools 101Chrome DevTools 101
Chrome DevTools 101Juan Obando
481 views22 slides
Introduction to Node.js by
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsNodeXperts
86 views19 slides
Insecure coding in C (and C++) by
Insecure coding in C (and C++)Insecure coding in C (and C++)
Insecure coding in C (and C++)Olve Maudal
22.1K views357 slides
Write this program in C for a linux OS- A Process creates a child proc.docx by
Write this program in C for a linux OS- A Process creates a child proc.docxWrite this program in C for a linux OS- A Process creates a child proc.docx
Write this program in C for a linux OS- A Process creates a child proc.docxkarlynwih
2 views2 slides

Similar to Solving Business Problems with JS++(20)

MongoDB: tips, trick and hacks by Scott Hernandez
MongoDB: tips, trick and hacksMongoDB: tips, trick and hacks
MongoDB: tips, trick and hacks
Scott Hernandez5.2K views
Chrome DevTools 101 by Juan Obando
Chrome DevTools 101Chrome DevTools 101
Chrome DevTools 101
Juan Obando481 views
Introduction to Node.js by NodeXperts
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
NodeXperts86 views
Insecure coding in C (and C++) by Olve Maudal
Insecure coding in C (and C++)Insecure coding in C (and C++)
Insecure coding in C (and C++)
Olve Maudal22.1K views
Write this program in C for a linux OS- A Process creates a child proc.docx by karlynwih
Write this program in C for a linux OS- A Process creates a child proc.docxWrite this program in C for a linux OS- A Process creates a child proc.docx
Write this program in C for a linux OS- A Process creates a child proc.docx
karlynwih2 views
Type Safety in JavaScript, really ? by Brameshmadhav S
Type Safety in JavaScript, really ?Type Safety in JavaScript, really ?
Type Safety in JavaScript, really ?
Brameshmadhav S1.3K views
I thought you were my friend - Malicious Markup by Mario Heiderich
I thought you were my friend - Malicious MarkupI thought you were my friend - Malicious Markup
I thought you were my friend - Malicious Markup
Mario Heiderich3.6K views
Mastering the MongoDB Javascript Shell by Scott Hernandez
Mastering the MongoDB Javascript ShellMastering the MongoDB Javascript Shell
Mastering the MongoDB Javascript Shell
Scott Hernandez6.7K views
Static Analysis: The Art of Fighting without Fighting by Rob Ragan
Static Analysis: The Art of Fighting without FightingStatic Analysis: The Art of Fighting without Fighting
Static Analysis: The Art of Fighting without Fighting
Rob Ragan2K views
Once Upon a Process by David Evans
Once Upon a ProcessOnce Upon a Process
Once Upon a Process
David Evans9.5K views
Mind your language(s), A Discussion about Languages and Security by AdaCore
Mind your language(s), A Discussion about Languages and SecurityMind your language(s), A Discussion about Languages and Security
Mind your language(s), A Discussion about Languages and Security
AdaCore5.1K views
The Future of Web Attacks - CONFidence 2010 by Mario Heiderich
The Future of Web Attacks - CONFidence 2010The Future of Web Attacks - CONFidence 2010
The Future of Web Attacks - CONFidence 2010
Mario Heiderich2.9K views
The Wondrous Curse of Interoperability by Steve Loughran
The Wondrous Curse of InteroperabilityThe Wondrous Curse of Interoperability
The Wondrous Curse of Interoperability
Steve Loughran1.3K views
What comments hide by PVS-Studio
What comments hideWhat comments hide
What comments hide
PVS-Studio100 views
A la découverte de TypeScript by Denis Voituron
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScript
Denis Voituron413 views

Recently uploaded

DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... by
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...Deltares
13 views34 slides
Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
11 views1 slide
SAP FOR TYRE INDUSTRY.pdf by
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
23 views3 slides
What Can Employee Monitoring Software Do?​ by
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​wAnywhere
21 views11 slides
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...Marc Müller
38 views62 slides
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
11 views23 slides

Recently uploaded(20)

DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... by Deltares
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
Deltares13 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares11 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller36 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares9 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon by Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 views
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea... by Safe Software
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Geospatial Synergy: Amplifying Efficiency with FME & Esri ft. Peak Guest Spea...
Safe Software412 views
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan... by Deltares
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
DSD-INT 2023 Baseline studies for Strategic Coastal protection for Long Islan...
Deltares11 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri711 views
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker by Deltares
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - ParkerDSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
Deltares9 views

Solving Business Problems with JS++

Editor's Notes

  1. JS superset
  2. You can't subtract, mult, div from url
  3. You don't have to worry anymore about calling an undefined function or string - string The future Our philosophy: high-quality software development
  4. Mars Climate Orbiter Consider an error that causes your biggest client (or all your clients) to lose data Could end your company! Less expensive to fix these errors before moving it to production