25
Finding a way out Chris Granger 8/20/13

Finding a Way Out

Embed Size (px)

DESCRIPTION

Chris Granger @ Strange Loop 2013

Citation preview

Page 1: Finding a Way Out

Finding a way outChris Granger 8/20/13

Page 2: Finding a Way Out

How do we make programming better?

Page 3: Finding a Way Out

2004 - 2009

Page 4: Finding a Way Out

2009 - 2011

Page 5: Finding a Way Out

2011 - 2013

Page 6: Finding a Way Out

Still broken.

Page 7: Finding a Way Out

How do we make programming better?

Page 8: Finding a Way Out

What is programming?

And what’s wrong with it?

Page 9: Finding a Way Out

Programming is unobservable

Page 10: Finding a Way Out

person.walk()

Page 11: Finding a Way Out

Programming is unobservable

Page 12: Finding a Way Out

Programming is indirect

Page 13: Finding a Way Out

#include <algorithm>!#include <iostream>!#include <iterator>!#include <cmath>!#include <vector>!#include <iterator>!#include <numeric>! !template <typename Iterator>!double standard_dev( Iterator begin , Iterator end ) {! double mean = std::accumulate( begin , end , 0 ) / std::distance( begin , end ) ;! std::vector<double> squares ;! for( Iterator vdi = begin ; vdi != end ; vdi++ ) ! squares.push_back( std::pow( *vdi - mean , 2 ) ) ;! return std::sqrt( std::accumulate( squares.begin( ) , squares.end( ) , 0 ) / squares.size( ) ) ;!}! !int main( ) {! double demoset[] = { 2 , 4 , 4 , 4 , 5 , 5 , 7 , 9 } ;! int demosize = sizeof demoset / sizeof *demoset ;! std::cout << "The standard deviation of\n" ;! std::copy( demoset , demoset + demosize , std::ostream_iterator<double>( std::cout, " " ) ) ; ! std::cout << "\nis " << standard_dev( demoset , demoset + demosize ) << " !\n" ;! return 0 ;!}!

Page 14: Finding a Way Out
Page 15: Finding a Way Out

Programming is indirect

Page 16: Finding a Way Out

cards[0][12]

Page 17: Finding a Way Out
Page 18: Finding a Way Out

Programming is indirect

Page 19: Finding a Way Out

Programming is incidentally complex

Page 20: Finding a Way Out

unobservable !

indirect !

incidentally complex

Page 21: Finding a Way Out

teacupteacupteacupteacup

teacupteacupteacup

teacupteacup

teacupteacup

teacupteacup

Page 22: Finding a Way Out

Data transformation.

Page 23: Finding a Way Out

observable, direct, simple

Page 24: Finding a Way Out

medium an agency or means of doing something.

Page 25: Finding a Way Out