The Future of Programming: PHP Argentina 2014

7fca546408cc6d46ab158f06baed2535?s=47 Nate Abele
November 07, 2014

The Future of Programming: PHP Argentina 2014

7fca546408cc6d46ab158f06baed2535?s=128

Nate Abele

November 07, 2014
Tweet

Transcript

  1. T H E FUTURE PROGRAMMING O F

  2. “The most dangerous thought you can have as a creative

    person is to think you know what you’re doing.” — Richard Hamming The Art of Doing Science and Engineering
  3. The Vanity Slide ❖ Former lead developer, CakePHP ❖ Founder,

    Li3 (a.k.a. Lithium) ❖ Member, AngularUI team ❖ Lead Developer, AngularUI Router ❖ Architect-in-Chief, Radify ❖ Highly opinionated, sometimes right ❖ @nateabele / nate@radify.io
  4. Consulting · Training · Development http://radify.io

  5. 1. The State of the Industry 2. Ideas, Old &

    New 3. ???
  6. 1. The State of the Industry 2. Ideas, Old &

    New 3. ??? (Profit?)
  7. Part 1 The State of the Industry

  8. &7&3:5)*/(46$,4

  9. CSS

  10. Browsers

  11. Design Patterns

  12. None
  13. “Extracting patterns from today's programming practices ennobles them in a

    way they don't deserve.” — Alan Kay
  14. http://blog.ircmaxell.com/search/label/Beyond

  15. Languages

  16. None
  17. Environments

  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. Us

  28. Me

  29. None
  30. Part 2 Ideas, Old & New

  31. “What has been will be again, what has been done

    will be done again; there is nothing new under the sun.” — Ecclesiastes 1:9
  32. CSS

  33. GSS

  34. Grid Style Sheets

  35. None
  36. None
  37. Boundaries

  38. None
  39. None
  40. None
  41. None
  42. Design Goals { a: b } a e b f

    c g d h
  43. Implementation Constraints ❖ user.patience < ∞ ❖ system.memory < ∞

    ❖ system.storage < ∞ ❖ network.bandwidth < ∞
  44. Store Data UI UI Data Data Logic Network

  45. Store Data UI UI Data Data Logic Network

  46. https://destroyallsoftware.com/talks/boundaries

  47. Design

  48. https://www.youtube.com/watch?v=WpkDN78P884

  49. Languages

  50. None
  51. x2 + 10x = 39 vs. http://worrydream.com/MediaForThinkingTheUnthinkable/

  52. “Language is a user interface for ideas.”

  53. Programming

  54. None
  55. The Limits of Human Cognition http://infoq.com/presentations/Simple-Made-Easy

  56. Part 3 …

  57. None
  58. None
  59. None
  60. None
  61. None
  62. None
  63. None
  64. None
  65. None
  66. None
  67. None
  68. None
  69. None
  70. None
  71. None
  72. None
  73. None
  74. None
  75. None
  76. None
  77. None
  78. None
  79. None
  80. None
  81. None
  82. None
  83. Why?

  84. A Real Design Tool

  85. …That Solves Engineering Problems

  86. In Progress? ❖ Everything you just saw ❖ Services ❖

    “Multiplayer”
  87. Services

  88. Services

  89. Services

  90. Services ID:1 ID:2 ID:3 PID:1 PID:2

  91. What’s Next? ❖ Web Components-based UI builder ❖ Page layout

    system with GSS ❖ Style & animation palettes
  92. Outside the Browser ❖ Storage Targets ❖ Postgres ❖ MongoDB

    ❖ Code Gen Targets ❖ JavaScript ❖ PHP ❖ Go
  93. Do You Even Deploy?

  94. Docker Container ALL THE THINGS

  95. Docker Container ALL THE THINGS

  96. Also! Constraints

  97. None
  98. None
  99. “We are perishing for want of wonder, not for want

    of wonders.” ― G.K. Chesterton