Slide 1

Slide 1 text

Why Haskell can save your life?

Slide 2

Slide 2 text

What is the cost of software errors?

Slide 3

Slide 3 text

NASA’s Mars Climate Orbiter A Bug = $327 Million

Slide 4

Slide 4 text

EDS Child Support System A Bug = $440 Million

Slide 5

Slide 5 text

The Intel’s Pentium bug

Slide 6

Slide 6 text

Intel has given Pentium BUG key chains as gifts to the employees to remind them how expensive a BUG could be.

Slide 7

Slide 7 text

Ariane 5 rocket self destruction A Bug = $370 Million

Slide 8

Slide 8 text

Knight Capital Trading Glitch $440 Million

Slide 9

Slide 9 text

Software bugs cost the US economy $59.5 billion every year.

Slide 10

Slide 10 text

This is your manager when you have introduced a million dollar bug...

Slide 11

Slide 11 text

The Big Boss after you have introduced a million dollar bug...

Slide 12

Slide 12 text

What happens to a developer with a million dollar bug?

Slide 13

Slide 13 text

DEVELOPER

Slide 14

Slide 14 text

Why Haskell is going to save your life?

Slide 15

Slide 15 text

Haskell is a functional programming language that will open your mind for a new way of thinking. Haskell will expand your vision and will make you a better developer.

Slide 16

Slide 16 text

Haskell is like the summer rain - it will clear your mind of all non-functionall impurities.

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Why learning Haskell is good for you?

Slide 19

Slide 19 text

It is highly unlikely that you will find a job doing Haskell. BUT learning Haskell will make you a better developer.

Slide 20

Slide 20 text

Why is Haskell good at eliminating BUGS ?

Slide 21

Slide 21 text

Bug Eliminator #1 Static typing

Slide 22

Slide 22 text

Static typing gives earlier feedback on whether or not the code meets the requirements that can be expressed by the type system.

Slide 23

Slide 23 text

Bug Eliminator #2 Sophisticated type system

Slide 24

Slide 24 text

Haskell’s type checker catches most of the bugs that happen at runtime in other languages.

Slide 25

Slide 25 text

The Maybe type in Haskell: data Maybe a = Nothing | Just a

Slide 26

Slide 26 text

Bug Eliminator #3 Immutability

Slide 27

Slide 27 text

Haskell is a pure functional programming language and state and side effects are modeled using “Monads”.

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Bug Eliminator #4 Isolation

Slide 31

Slide 31 text

In Haskell Monads are used to create imperative style computational structures which remain isolated from the main body of the functional program.

Slide 32

Slide 32 text

A function to read from a file using the IO monad readFile :: FilePath -> IO String

Slide 33

Slide 33 text

Bug Eliminator #5 Property based testing

Slide 34

Slide 34 text

Haskell has excellent support for property based testing implemented in the QuickCheck library.

Slide 35

Slide 35 text

Learn Haskell (It may save your life)