The Art of Programming

The Art of Programming

Presented at the PHPBenelux 2015 unconference - 24 Jan 2015

719435d98d452de7ac367c828266cf01?s=128

Erika Heidi

January 24, 2015
Tweet

Transcript

  1. None
  2. whoami • (PHP) Developer Advocate at DigitalOcean • Working with

    PHP and Linux for 10+ years • Author of Vagrant Cookbook and phansible.com
  3. A BRIEF STORY...

  4. None
  5. She liked cats before it was cool

  6. None
  7. None
  8. “So, did you people see that layout contest thing from

    BliG where you can win a book? I think I'm gonna try it. I'm interested in the book about PHP and also in the Javascript one.” - me, Dec 2002
  9. None
  10. Programming: IS IT ART OR IS IT SCIENCE ?

  11. BACK TO THE EARLY DAYS

  12. Margaret Hamilton Lead software engineer, project Apollo

  13. The Early Days "Software during the early days of this

    project was treated like a stepchild and not taken as seriously as other engineering disciplines, such as hardware engineering; and it was regarded as an art and as magic, not a science.” - Margaret Hamilton
  14. DEFINE:ART

  15. What is Art? • Google: – "the expression or application

    of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power." • Wikipedia: – "the word art may refer to several things: (i) a study of a creative skill, (ii) a process of using the creative skill, (iii) a product of the creative skill, or (iv) the audience's experience with the creative skill."
  16. What is Art? “The aim of art is to represent

    not the outward appearance of things, but their inward significance.” - Aristotle
  17. What is Art? “Art is the most intense mode of

    individualism that the world has known.” - Oscar Wilde
  18. What is Art? • Keys: – Expression – Individualism –

    Creativity – Audience Experience
  19. What is Art? the expression of human creative skill and

    imagination, generating an output that can be possibly experienced by someone other than you
  20. What is Art? • Not an adjective • Doesn't need

    to be good • Doesn't need to be beautiful • Artist is not an adjective either “Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.” Scott Adams
  21. NOW, BACK TO SOFTWARE

  22. Software Engineering "I fought to bring the software legitimacy so

    that it (and those building it) would be given its due respect and thus I began to use the term “software engineering” to distinguish it from hardware and other kinds of engineering. It was an ongoing joke for a long time. They liked to kid me about my radical ideas” Margaret Hamilton
  23. Software Engineering • Still very young compared to other engineering

    fields • Strongly based on trial-and-error, instead of formulas / mathematical proofs • Tests are the closer we have to proofs, but they are also written by us
  24. Programming languages

  25. The blocks have specs, are well tested

  26. Going “vanilla” Using a Framework

  27. But the rest is up to you

  28. But the rest is up to you

  29. But the rest is up to you

  30. ART&SCIENCE Programming is art built on top of logic.

  31. CREATIVITY IS THE PIPELINE

  32. “Logic will get you from A to B. Imagination will

    take you everywhere.”  — Albert Einstein
  33. None
  34. There's no challenge for creativity!

  35. CODEARTISTS

  36. THEMYTHOF CREATIVITY

  37. The myth of creativity “It lives on because it appeals

    to romantic prejudices about invention. There is a myth about how something new comes to be.” - Kevin Ashton, The Creativity Myth
  38. The myth of creativity “If people knew how hard I

    worked to get my mastery, it wouldn't seem so wonderful at all.” - Michelangelo
  39. None
  40. None
  41. None
  42. RIDE THAT FUCKING UNICORN

  43. “Don’t think about making art, just get it done. Let

    everyone else decide if it’s good or bad, whether they love it or hate it. While they are deciding, make even more art.” - Andy Warhol
  44. THANKS! https://joind.in/13411