1 of 45

Slide Notes

"Vital JavaScript" is a series of screencasts that teach intermediate and advanced JavaScript programming techniques.

This presentation introduces the series.
DownloadGo Live

Vital JavaScript

Published on Nov 19, 2015

No Description

PRESENTATION OUTLINE

Vital JavaScript

VI·TAL adj. "Of, relating to, or characteristic of life."
"Vital JavaScript" is a series of screencasts that teach intermediate and advanced JavaScript programming techniques.

This presentation introduces the series.
Photo by Ryan Somma

by Reginald Braithwaite

Reg “raganwald” Braithwaite is proof that somewhere, a village is missing its idiot. Either that, or a combinatory forest is missing its Idiot Bird, nobody is really sure. His interests include constructing surreal numbers, deconstructing hopelessly egocentric nulls, and celebrating the joy of programming.
Photo by diathesis

Prerequisites:

Photo by Cle0patra

Functional JavaScript

that plays well with Objects, Prototypes, and the DOM

The Big Ideas

Photo by Soiden

Untitled Slide

Introduction

Photo by Ben Sisto

LIFE

Life is a two-dimensional cellular automata. Each cell is a finite state machine.

Life's Finite State Machine

APPROACHES

Photo by revbean

A NAÏVE ENGINE

LET'S CONSIDER

"Obvious" Features

Photo by Valentina_A

State as a Matrix

Simple, Copy-Everything Code

A Desert Traveller

Improved Features

State as a list of live cells

Elaborate Special-Case Code

The code is much more complex.

Magnitude

AN IMPROVEMENT OF SEVERAL ORDERS OF
Photo by ell brown

State as a QuadTree

ANOTHER QUIZ

Sub-Squares

High-Level Code

Our Life Engine

Photo by Eneas

Algorithms

Photo by TheBusyBrain

JavaScript

WHY HASHLIFE IS A GOOD EXAMPLE FOR STUDYING

It's big enough to need DESIGN:

Photo by tim caynes

Expressive Code

IT'S COMPLEX ENOUGH TO NEED

Functional and OO

IT NEEDS BOTH KINDS OF PROGRAMMING

THE LESSONS

Photo by mariskar

Objects and Classes

Photo by sylvar

PERSISTENT DATA STRUCTURES

Photo by blafond

RECURSIVE STRUCTURES

Photo by snogglethorpe

Tiled Interfaces

Photo by Great Beyond

Drawing with a Canvas

Touch Interfaces

Photo by Enthuan

Implementing Undo/Redo

Photo by E V Peters

And More!

Photo by dherman1145

Vital JavaScript

A screencast series about functional JavaScript
Photo by kevin dooley