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
97
Other Decks in Programming
See All in Programming
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
チームの境界をブチ抜いていけ
tokai235
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
450
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
170
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
170
CSC509 Lecture 03
javiergs
PRO
0
340
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
250
What's new in Spring Modulith?
olivergierke
1
160
One Enishi After Another
snoozer05
PRO
0
120
Le côté obscur des IA génératives
pascallemerrer
0
150
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
Featured
See All Featured
A designer walks into a library…
pauljervisheath
209
24k
Visualization
eitanlees
149
16k
The Pragmatic Product Professional
lauravandoore
36
6.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
How STYLIGHT went responsive
nonsquared
100
5.8k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Into the Great Unknown - MozCon
thekraken
40
2.1k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
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