1 of 57

Slide Notes

DownloadGo Live

Invent the Future

Published on Nov 18, 2015

No Description

PRESENTATION OUTLINE

THE FUTURE

INVENTING

What is
this talk
all about?

Untitled Slide

Untitled Slide

Untitled Slide

JAVASCRIPT'S INFLUENCES

THE SEVENTIES

THE SEVENTIES

JOSÉ MANUEL FUENTE

LISP

FIRST-CLASS FUNCTIONS
Photo by el benjamín

Sharaf al-Dīn al-Ṭūsī

Photo by dynamosquito

TRANSFORMING FUNCTIONS

  • Once
  • Memoize
  • Maybe
Photo by tanakawho

COMPOSING FUNCTIONS

  • before, after
  • begin1, begin
  • compose
Photo by andrewrennie

SEMIGROUPS

MAKE COMPOSITION EASY

+(int, int) = int

a + b + c
(a + b) + c
a + (b + c)
(a + b + c)

DECOUPLE EASILY

SEMIGROUPS
Photo by oomlout

THE EIGHTIES

JAVASCRIPT DOES NOT

THE EIGHTIES

PEDRO DELGADO

SMALLTALK

OBJECT-ORIENTED PURITY
Pure oo
Lightweight syntax
Everything is an object, even blocks
Everything is an expression
Photo by sporst

ENCAPSULATION

ENCAPSULATE

JAVASCRIPT DOES NOT
Photo by macieklew

let's take a closer look at what we now know smalltalk got wrong

ONTOLOGY

THROUGH SPECIALIZATION
Photo by winnu

2,500 BC

Photo by isawnyu

RESIST EACH OTHER

ENCAPSULATION & SPECIALIZATION
Photo by DaveBleasdale

COUPLING

open recursion creates
Photo by gruntzooki

FRAGILE BASE CLASSES*

prototype chains create
Photo by xlibber

EXPRESSION PROBLEM

UNSOLVED: THE
Photo by srgpicker

THE NINETIES

THE NINETIES

MIGUEL INDURAIN

C++

EVERYTHING INCLUDED

SYNTAX

CONSIDERED HARMFUL*

ALGOL SYNTAX

  • Does not compose
  • Is highly coupled
  • Is not reflective
  • Is not first-class
Photo by Hash Milhan

LACK SYNTAX

THE MOST "PROMISING" NEW IDEAS
Photo by marfis75

THE NAUGHTIES

THE NAUGHTIES

ALBERTO CONTADOR

RUBY

JOY THROUGH FEATURITIS
Photo by Jim Lindley

DSLs optimize for the view.

Photo by liako

TECHNICAL DEBT

LANGUAGE FEATURES ARE

DOES NOT SCALE

GLOBAL ANYTHING

THE TEENS

TEENS

JUAN JOSÉ COBO

SEMIGROUPS REQUIRE ENCAPSULATION

Photo by rekre89

OBJECT SEMIGROUPS

  • Transformable
  • Composable
  • Encapsulated
  • Decoupled
Photo by mac_ivan

ARE HARD

METAOBJECT SEMIGROUPS
Photo by thebarrowboy

LEARN YOU SOME HASKELL

CLOJURE

OBJECT TRANSFORMATION AND COMPOSITION
Photo by kryshen

COMPOSABLE METAOBJECTS

  • Scala: Traits
  • Go: Interfaces

THE FINISH

THE FINISH

Untitled Slide

Photo by Average Jane

KEEP JS SMALL

Photo by pasukaru76

DON'T RECREATE IT

RESPECT THE PAST, BUT

LOOK UP

DON'T LOOK DOWN,
Photo by ~Prescott

ASK YOURSELF:

Photo by zeevveez

COPY FROM JS?

IN 2044, WHAT WILL OTHERS
Photo by anieto2k

¡Gràcies!

Photo by DaveFayram