Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Finding a Way Out
Search
evandrix
March 28, 2014
Programming
0
47
Finding a Way Out
Chris Granger @ StrangeLoop 2013
evandrix
March 28, 2014
Tweet
Share
More Decks by evandrix
See All by evandrix
Floating Point Consistency
evandrix
1
44
Splat
evandrix
1
96
Other Decks in Programming
See All in Programming
rage against annotate_predecessor
junk0612
0
170
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
160
Ruby Parser progress report 2025
yui_knk
1
440
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
1から理解するWeb Push
dora1998
7
1.9k
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.5k
AI時代のUIはどこへ行く?
yusukebe
18
8.9k
今から始めるClaude Code入門〜AIコーディングエージェントの歴史と導入〜
nokomoro3
0
180
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
Swift Updates - Learn Languages 2025
koher
2
480
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
270
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Site-Speed That Sticks
csswizardry
10
820
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
How to Think Like a Performance Engineer
csswizardry
26
1.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
Transcript
Finding a way out Chris Granger 8/20/13
How do we make programming better?
2004 - 2009
2009 - 2011
2011 - 2013
Still broken.
How do we make programming better?
What is programming? And what’s wrong with it?
Programming is unobservable
person.walk()
Programming is unobservable
Programming is indirect
#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 ;! }!
None
Programming is indirect
cards[0][12]
None
Programming is indirect
Programming is incidentally complex
unobservable ! indirect ! incidentally complex
teacup teacup teacup teacup teacup teacup teacup teacup teacup teacup
teacup teacup teacup
Data transformation.
observable, direct, simple
medium an agency or means of doing something.
None