drupal community

62

Upload: tacey

Post on 19-Mar-2016

44 views

Category:

Documents


1 download

DESCRIPTION

Drupal Community. The Architect and the Organism: What Plato & Aristotle have to say about Drupal. Presented by Matt Butcher. About Matt. Web Developer since 1995 Author of seven technical books Actual real-life philosopher. http://technosophos.com Twitter: @technosophos Drupal: mbutcher. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Drupal Community
Page 2: Drupal Community

Drupal Community

The Architect and the Organism:

What Plato & Aristotle have to say about Drupal

Presented by Matt Butcher

Page 3: Drupal Community

About Matt• Web Developer

since 1995

• Author of seven technical books

• Actual real-life philosopher

http://technosophos.com

Twitter: @technosophos

Drupal: mbutcher

Page 4: Drupal Community

April, 2012

Page 5: Drupal Community
Page 6: Drupal Community
Page 7: Drupal Community

Who was Plato’s Teacher?Question One:

Page 8: Drupal Community

Who was Aristotle’s Mostfamous Student?

Question Two:

Page 9: Drupal Community

“All philosophy is a footnote to Plato.”A. N. Whitehead

Page 10: Drupal Community

So is all of computer science.

Page 11: Drupal Community

Philosoraptor• Quite possibly the

true teacher of Socrates.

• Author of “Tractatus Logico-Raptus”

• Short and pithy questions

• Extinct.

Page 12: Drupal Community

Socrates• 5th Century B.C.E

• Controversial teacher

• “The Socratic Method”

• A character in the dialogs of his most famous student.

• Sentences to death for the “corruption of youth”

• The father of western philosophy

http://commons.wikimedia.org/wiki/File:Anderson,_Domenico_(1854-1938)_-_n._23185_-_Socrate_(Collezione_Farnese)_-_Museo_Nazionale_di_Napoli.jpg

Page 13: Drupal Community
Page 14: Drupal Community

Plato• Student of

Socrates (he was probably in his mid-20’s when Socrates died)

• Like Socrates, an Athenian

• Traveled widely

• Wrote numerous books, mostly in the form of dialogs

http://commons.wikimedia.org/wiki/File:Plato_Silanio_Louvre_Ma3654.jpg

Page 15: Drupal Community

Aristotle• Student of Plato, and

teacher of Alexander the Great

• Instrumental in the development of…

• Philosophy

• Natural sciences

• Literary theory

• Political science

• Biology

http://commons.wikimedia.org/wiki/File:Aristoteles_Louvre.jpg

Page 16: Drupal Community

But what does any of this have to dowith us?

Page 17: Drupal Community

The Most Important Slide

http://en.wikipedia.org/wiki/File:Sanzio_01.jpg

Page 18: Drupal Community

This says it all…

http://commons.wikimedia.org/wiki/File:Sanzio_01_Plato_Aristotle.jpg

Page 19: Drupal Community

Plato

Forms, Perfection, and Reality

Page 20: Drupal Community

Ideal: Having to do primarily with an idea, ora mental object. This does not entail perfection.

So what’s the ideal girlfriend/boyfriend?

Page 21: Drupal Community

The Cave

http://xkcd.com/876/

Page 22: Drupal Community

http://commons.wikimedia.org/wiki/File:Gua_Tempurung.jpg

He returns to the caveto tell his fellow prisoners

what he has seen.

Page 23: Drupal Community

What is the most real?

Page 24: Drupal Community

Being and Becoming

Page 25: Drupal Community

Eidos: The Forms

Page 26: Drupal Community

TheLSDChair

Esinem Design

Page 27: Drupal Community
Page 28: Drupal Community

Intellect & Art

Plato would not have liked the Raphael

Page 29: Drupal Community

Object-Oriented

Page 30: Drupal Community
Page 31: Drupal Community

Plato is an architect.

Aristotle is a biologist.

Page 32: Drupal Community

Aristotle

Metaphysics, Change, & Hylomorphism

Page 33: Drupal Community

Aristotle is all about becomingchangedynamism

Page 34: Drupal Community

Metaphysics: The thing that comesbefore physics.

(Philosophers get paid for sayingstuff like that)

Page 35: Drupal Community
Page 36: Drupal Community

Aristotle in 3 Words

1. Stuff (hyle)2. Potentiality3. Actuality

Page 37: Drupal Community

Impress your friends and loved ones…

Hylomorphism

It means turning stuff into things.I am not kidding, philosophers get PAID for this.

Page 38: Drupal Community

Aristotle’s Famous Model

Page 39: Drupal Community

If Aristotle had written code…

Page 40: Drupal Community

Functional vs. ImperativeFunctional

• Focus on BECOMING

• What transformation is occurring?

• Functions are first class

• Dynamicity of runtime

• Process

Imperative (OO or Procedural)• Focus on BEING

• What is the current state?

• Objects (structs, etc.) are first class

• Encapsulation

• Structures

Page 41: Drupal Community

Functional Programming

Pay attention to the process of running the code, what it is becoming,

not what’s its state is.

Page 42: Drupal Community

Aristotle would worry about placing so muchemphasis on data structures, objects, classes, and state.

Focus on the movement – they physis

Page 43: Drupal Community

And Drupal?

Page 44: Drupal Community

Drupal is lost in the middle(like medieval philosophy)

Page 45: Drupal Community

Drupal was Aristotelian1. Stuff: simple types2. Potentiality: hooks

3. Actuality: runtime hook invocation

But it was never really functional

Page 46: Drupal Community

But it might just be the mostAristotelian system ever made

Page 47: Drupal Community

Toss this little phrase out at dinner…

Drupal isn’t a CMS.It’s a hylomorphic engine!

You can singlehandedly settle the CMS/Frameworkdebate and sound suave while doing so.

Page 48: Drupal Community

Plato hates this

Page 49: Drupal Community

He thinks hylomorphism is dumb

Page 50: Drupal Community

And scary

Page 51: Drupal Community

It’s unpredictable. It needs structure.

Page 52: Drupal Community

Plato wants you to rewrite Drupal…Using classes and objects.

Page 53: Drupal Community

WWPD?ClassesStatic wrappers

State, state, state!

Design patterns

Persistence layers

Page 54: Drupal Community

Plato would rebuild Drupalin Symfony

Page 55: Drupal Community

Quo Vadis?

That’s Latin for “Oh crap, what are we gonna do now?”

Page 56: Drupal Community

Medieval LessonThou canst not haveth

Thy cake, and partaketh of it too.

More specifically, Aristotle and Plato arefundamentally different.

Page 57: Drupal Community

Complexity is the arch-nemesisof software.

Page 58: Drupal Community

Ockham's RazorLogical Positivism

The Categorical Imperative

Taxonomy

Model & Simulation TheoryPhysical reductionism

ALL OF PHILOSPHY

Page 59: Drupal Community

Complexity

• Ambiguity: Which tools?• Anti-reductionist: Cannot simplify withoutloss

• Cognitive limitations: Ideal reason is the greatest philosophical myth

Page 60: Drupal Community

The moral of the story is…

We must pick one.

Page 61: Drupal Community
Page 62: Drupal Community

What did you think?Locate this session on theDrupalCon Denver website

http://denver2012.drupal.org/program

Click the “Take the Survey” link.

Thank You!