Presentation on theme: "Drupal Community The Architect and the Organism: What Plato & Aristotle have to say about Drupal Presented by Matt Butcher."— Presentation transcript:
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 m Drupal: mbutcher
Who was Plato’s Teacher? Question One:
Who was Aristotle’s Most famous Student? Question Two:
“All philosophy is a footnote to Plato.” A. N. Whitehead
So is all of computer science.
Philosoraptor Quite possibly the true teacher of Socrates. Author of “Tractatus Logico-Raptus” Short and pithy questions Extinct.
Socrates 5 th 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
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
Aristotle Student of Plato, and teacher of Alexander the Great Instrumental in the development of… Philosophy Natural sciences Literary theory Political science Biology
But what does any of this have to do with us?
The Most Important Slide
This says it all…
Plato Forms, Perfection, and Reality
Ideal: Having to do primarily with an idea, or a mental object. This does not entail perfection. So what’s the ideal girlfriend/boyfriend?
He returns to the cave to tell his fellow prisoners what he has seen.
What is the most real?
Being and Becoming
Eidos: The Forms The Forms “Real” Perfect Unchanging The Physical World “Instances” of the forms Imitations –Bad copies Becoming
The LSD Chair Esinem Design
Intellect & Art The FormsThe Physical WorldCopy of a Copy Plato would not have liked the Raphael
Object-Oriented Classes “Real” Describes all that an object can be An ideal state Objects and runtime “Instances” of the classes Runtime is the source of all evil Runtime is the more “concrete” state
Plato is an architect. Aristotle is a biologist.
Aristotle Metaphysics, Change, & Hylomorphism
Aristotle is all about becoming change dynamism
Metaphysics: The thing that comes before physics. (Philosophers get paid for saying stuff like that)
Aristotle in 3 Words 1.Stuff (hyle) 2.Potentiality 3.Actuality
Impress your friends and loved ones… Hylomorphism It means turning stuff into things. I am not kidding, philosophers get PAID for this.
Potentiality (1) Actuality (1) Potentiality (2) Actuality (2) Aristotle’s Famous Model
The Cursor Code The programRunning If Aristotle had written code…
Functional vs. Imperative Functional 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
Functional Programming Pay attention to the process of running the code, what it is becoming, not what’s its state is.
Aristotle would worry about placing so much emphasis on data structures, objects, classes, and state. Focus on the movement – they physis
Drupal is lost in the middle (like medieval philosophy)
Drupal was Aristotelian 1.Stuff: simple types 2.Potentiality: hooks 3.Actuality: runtime hook invocation But it was never really functional
But it might just be the most Aristotelian system ever made
Toss this little phrase out at dinner… Drupal isn’t a CMS. It’s a hylomorphic engine! You can singlehandedly settle the CMS/Framework debate and sound suave while doing so.
Plato hates this
He thinks hylomorphism is dumb
It’s unpredictable. It needs structure.
Plato wants you to rewrite Drupal… Using classes and objects.