Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The State of PHP 2014
James Titcumb
Portsmouth Linux User Group
21st June 2014
James Titcumb
www.jamestitcumb.com
www.protected.co.uk
www.phphants.co.uk
@asgrim
Who is this guy?
Who are you?
A brief history...
1994-1995 - PHP/FI 1.0
● Basic functionality
● Solved a problem
● Simpler than Perl
http://en.wikipedia.org/wiki/File:Rasm...
1997 - PHP 3
● Rewrote parser
● Zend Technologies
http://en.wikipedia.org/wiki/File:Zeev_Suraski_2005_cropped.jpg
http://e...
2000 - PHP 4
● Zend Engine 1.0
● Big improvements
● Very basic “OO”
2004 - PHP 5
● Zend Engine 2.0
● Better OO
● PDO
● Performance increase
● Adoption slow…
So… what is PHP?
What is PHP?
1
2
3
4
<?php
echo "Hello world";
From “Hello World”...
<?php
echo "Hello, " . $_GET['name'];
From “Hello World”...
… to Facebook
https://twitter.com/feross/status/459259593630433280
PHP powers
82%of the web
Source: http://w3techs.com/technologies/overview/programming_language/all
Who uses PHP...
The Hate
● http://phpsadness.com/
● http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
● http://blog.codinghorror.com/the-p...
Some reasons...
Some reasons...
● Was not “designed”
Some reasons...
● Was not “designed”
● Many inconsistencies
○ in_array($needle, $haystack)
○ strstr($haystack, $needle)
○ ...
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
○ int foo = 0;
○ $foo = 0;
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
● T_PAAMAYIM_NEKUDOTAYIM
Some reasons...
● Was not “designed”
● Many inconsistencies
● Loosely typed
● Seen as “amateur”
● T_PAAMAYIM_NEKUDOTAYIM
●...
Haters gonna hate.
So…
● Use the right tool
● Use what is comfortable
● If you like using PHP, ignore the hate
What made PHP work?
● Easy to learn
Why it works...
● Easy to learn
● Loosely typed
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
● Rise of the CMS
Why it works...
● Easy to learn
● Loosely typed
● Easy to install
● Rise of the CMS
● Gets the job done
Why it works...
Then it all changed...
Rob Allen: https://www.flickr.com/photos/akrabat/54795045
● PHP 5.3 features
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
● Rise of the community
PHP keeps getting MORE awesome
● PHP 5.3 features
● PHP 5.4 + 5.5 features
● PHP-FIG
● Rise of the community
● Composer
PHP keeps getting MORE awesome
The Future of PHP…?
Things to look out for...
● HHVM
Things to look out for...
● HHVM
● Zephir
Things to look out for...
● HHVM
● Zephir
● PHPNG
Things to look out for...
● HHVM
● Zephir
● PHPNG
● Growing community!
Things to look out for...
Unstoppable Train
http://unsplash.com/post/71169964532/download-by-kholodnitskiy-maksim
Questions?
James Titcumb
www.jamestitcumb.com
www.protected.co.uk
www.phphants.co.uk
@asgrim
Thanks for watching!
Upcoming SlideShare
Loading in …5
×

The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

1,028 views

Published on

Published in: Software, Technology
  • Be the first to comment

  • Be the first to like this

The State of PHP 2014 - Portsmouth Linux User Group (6th June 2014)

  1. 1. The State of PHP 2014 James Titcumb Portsmouth Linux User Group 21st June 2014
  2. 2. James Titcumb www.jamestitcumb.com www.protected.co.uk www.phphants.co.uk @asgrim Who is this guy?
  3. 3. Who are you?
  4. 4. A brief history...
  5. 5. 1994-1995 - PHP/FI 1.0 ● Basic functionality ● Solved a problem ● Simpler than Perl http://en.wikipedia.org/wiki/File:Rasmus_Lerdorf_cropped.jpg
  6. 6. 1997 - PHP 3 ● Rewrote parser ● Zend Technologies http://en.wikipedia.org/wiki/File:Zeev_Suraski_2005_cropped.jpg http://en.wikipedia.org/wiki/File:Andi_Gutmans_1.jpg
  7. 7. 2000 - PHP 4 ● Zend Engine 1.0 ● Big improvements ● Very basic “OO”
  8. 8. 2004 - PHP 5 ● Zend Engine 2.0 ● Better OO ● PDO ● Performance increase ● Adoption slow…
  9. 9. So… what is PHP?
  10. 10. What is PHP? 1 2 3 4
  11. 11. <?php echo "Hello world"; From “Hello World”...
  12. 12. <?php echo "Hello, " . $_GET['name']; From “Hello World”...
  13. 13. … to Facebook https://twitter.com/feross/status/459259593630433280
  14. 14. PHP powers 82%of the web Source: http://w3techs.com/technologies/overview/programming_language/all
  15. 15. Who uses PHP...
  16. 16. The Hate
  17. 17. ● http://phpsadness.com/ ● http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ ● http://blog.codinghorror.com/the-php-singularity/ ● http://webonastick.com/php.html ● http://aurelio.audero.it/blog/2014/02/05/why-people-think-php-sucks/ ● https://maurus.net/resources/programming-languages/php/ ● http://www.bitstorm.org/edwin/en/php/ ● https://teamtreehouse.com/forum/why-php-sucks ● http://www.reddit.com/r/PHP/.../why_do_so_many_developers_hate_php/ ● http://www.quora.com/.../Is-PHP-a-badly-designed-programming-language ● etc. Some People Don’t Like PHP
  18. 18. Some reasons...
  19. 19. Some reasons... ● Was not “designed”
  20. 20. Some reasons... ● Was not “designed” ● Many inconsistencies ○ in_array($needle, $haystack) ○ strstr($haystack, $needle) ○ htmlentities() … html_entity_decode()
  21. 21. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ○ int foo = 0; ○ $foo = 0;
  22. 22. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur”
  23. 23. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur” ● T_PAAMAYIM_NEKUDOTAYIM
  24. 24. Some reasons... ● Was not “designed” ● Many inconsistencies ● Loosely typed ● Seen as “amateur” ● T_PAAMAYIM_NEKUDOTAYIM ● php.internals
  25. 25. Haters gonna hate. So… ● Use the right tool ● Use what is comfortable ● If you like using PHP, ignore the hate
  26. 26. What made PHP work?
  27. 27. ● Easy to learn Why it works...
  28. 28. ● Easy to learn ● Loosely typed Why it works...
  29. 29. ● Easy to learn ● Loosely typed ● Easy to install Why it works...
  30. 30. ● Easy to learn ● Loosely typed ● Easy to install ● Rise of the CMS Why it works...
  31. 31. ● Easy to learn ● Loosely typed ● Easy to install ● Rise of the CMS ● Gets the job done Why it works...
  32. 32. Then it all changed... Rob Allen: https://www.flickr.com/photos/akrabat/54795045
  33. 33. ● PHP 5.3 features PHP keeps getting MORE awesome
  34. 34. ● PHP 5.3 features ● PHP 5.4 + 5.5 features PHP keeps getting MORE awesome
  35. 35. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG PHP keeps getting MORE awesome
  36. 36. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG ● Rise of the community PHP keeps getting MORE awesome
  37. 37. ● PHP 5.3 features ● PHP 5.4 + 5.5 features ● PHP-FIG ● Rise of the community ● Composer PHP keeps getting MORE awesome
  38. 38. The Future of PHP…?
  39. 39. Things to look out for...
  40. 40. ● HHVM Things to look out for...
  41. 41. ● HHVM ● Zephir Things to look out for...
  42. 42. ● HHVM ● Zephir ● PHPNG Things to look out for...
  43. 43. ● HHVM ● Zephir ● PHPNG ● Growing community! Things to look out for...
  44. 44. Unstoppable Train http://unsplash.com/post/71169964532/download-by-kholodnitskiy-maksim
  45. 45. Questions?
  46. 46. James Titcumb www.jamestitcumb.com www.protected.co.uk www.phphants.co.uk @asgrim Thanks for watching!

×