Slides for the talk catching-a-std at yapc-eu-2009
Catching
a ::Std
-
BBC
-
Film
at 11
-
Matthew
Stephen
Trout
-
Alumnus of
the Open
University
-
Pure
Mathematics
-
Shadowcat Systems Limited
http://shadowcat.co.uk/
-
Lancaster,
North West
England
-
Architecture
and process
management
-
ARPAnet and the
World Wide Web
-
Destruction
testing
-
RDBMS
OO models
social
tolerances
-
Collaboration
-
Lunatics
Landlords
Volunteers
-
-
Standardisation
in the perl
community
-
What is a
standard?
-
IETF
-
RFC
-
MUST
SHOULD
MAY
-
TCP/IP
over avian
carrier
-
-
What -is-
a standard?
-
Specification
-
Multiple
Implementations
-
One
Way
-
One
(True?)
Way
-
-
Standards
and
Language
-
Received
Pronunciation
-
OED
-
Webster
-
Dialects
-
Same grammar
Different
semantics
-
NPW
-
Scandiwegians
are confusing
-
Mutually
Intelligible
-
Ssyshere
-
-
Standards
in perl?
-
Well ...
-
"whatever the
interpreter does"
-
"whatever the
tests say"
-
(so write more
tests for
smartmatch
dammit!)
-
Standards
for writing
perl code?
-
TMTOWTDI
-
*sigh*
-
TMTOWTDI
BSCIAGTT
-
"timtoady
bicarbonate"
-
(FFS somebody
come up with
a better name)
-
-
Approaches to
standardisation
-
Inferred
Invented
Enforced
Evolved
-
Inferred
-
UUCP
-
perl
-
Invented
-
TCP/IP
-
IMAP
-
Enforced
-
Java
JCP
-
SMB
-
Evolved
-
POSIX
-
LSB
-
Scheme
-
-
Standards
and perl6
-
I'm a
skeptic
-
... of perl6
the production
implementation
-
I love perl6 the
language design
research project
-
Inferred
from perl
-
Invented
by @Larry
-
Enforced
by the
standard
grammar
-
Evolved based
on implementation
and use attempts
-
-
"best
practices"
-
PBP
-
inventing
standards
-
Class::Std
-
ARGH
-
"your code
caught a
::Std"
-
What is
an STD?
-
Sexually
Transmitted
Disease
-
Maladie
Sexuelle
Transmitee
-
Socially
Transmitted
Disease
-
Cargo
culting
-
Cargo
culting
gone
*good*?
-
Veni
Vidi
Vici
-
Vici
Veni
VD
-
-
STDs and
the perl
community
-
Why did
Class::Std
fail?
-
Damian
ran out
of tuits
-
but ...
-
Revolution
-
Incompatible
-
Needed
everybody
to move
-
Unperlish?
-
Class::Std
and
Catalyst
-
They came
I saw
-
I threw up
in my mouth
a little
-
CGI::Application
-
too little
standard
-
plugins
are a free
for all
-
cohesion
failure
-
Maypole
-
sane
API
-
tight
coupling
-
TT
Class::DBI
-
Class::DBI
imploded
-
Maypole
died
-
Catalyst
-
request cycle
plugin API
-
100+
plugins
-
all play
nice together
-
trivial
component
API
-
100+
components
-
all play
nice together
-
Just Enough
Standard
-
Class::DBI
->
DBIx::Class
-
DBIx::Class
-
people
deployed
trunk
-
we went
stable
-
I fought
against
it being
"the standard"
-
... until the
Catalyst user
base voted
with their feet
-
Standards by
social
transmission
-
Enlightened Perl
Extended Core
-
Next Talk.
This Room.
-
evolved from
"what do the
experts consider
their standard
toolkit?"
-
One
True
Way?
-
One
Good
Way
-
(Jesse made
us add
Catalyst)
-
beware the
cargo cult
-
the most
popular
plugins
-
become the
template
-
Catalyst
DBIC model
-
same hacks
copied
EVERYWHERE
-
RKITOVER
rewrote
it to be
beautiful
-
Devel::Declare
-
3 method
signatures
systems
-
evolving
through
(ab)use
-
5core later
by consensus?
-
perl5i
Modern::Perl
-
I may build
a third one
-
or just
annoy
Schwern
-
Moose
-
I almost
moved to
python
-
but I knew
perl was
capable of
awesome
-
Moose
implements
that
awesome
-
huge
adoption
-
beautiful
code
-
contagious
meme
-
passing
Class::Accessor
-
we don't want
to be in core
-
all these
standards
will be
obsoleted
-
DBIx::Class
-
Fey::ORM
-
DBIx::Class
-
Catalyst
-
HTTP::Engine
Path::Dispatcher
Bread::Board
-
Catalyst
-
sorry for
using my
favourite
projects
-
they're the
examples
I know
-
the principles
are general
-
Catch an
STD today
-
STDs are
for life
-
not just for
christmas
-
these slides
will be on
http://shadowcat.co.uk/
-
Any Questions?
http://shadowcat.co.uk/
-
Thank You
http://shadowcat.co.uk/