PHP, ce truc de vieux
ou pas ?
@omansour
https://toggl.com/programming-princess
PHP : Personal Home Page
Tools
Crée par Rasmus Lerdorf (étudiant)
Juin 1995 - "La syntaxe elle-même était similaire à celle
du Perl, bien que beaucoup plus limitée, plus simple, et
un peu incohérente"
(http://php.net/manual/fr/history.php.php)
mai 1998 : 1% des serveurs utilisaient PHP/FI
PHP 3 => première version de
PHP
juin 1998
extensions en C, se
connecte à tout !
projet universitaire de Andi
Gutmans et Zeev Zuraski
mod Apache
10% des serveurs web
1998 !!!
PHP : PSD => Macromedia
Fireworks <table> pixel.gif .php
édition courageuse des fichiers
et insertion du PHP
Pendant ce temps :
Java : JSE 1.2 (JIT, Swift,
etc…)
Python 1.5
PHP 4 => les outils
mi 1999 : Zend Engine
2000 - 2001 :
Wordpress, Drupal,
Joomla (Mambo) etc.
DRUPALCONN 2014 - Austin, USA
PHP 5(.3) => explosion de
l’OSS
2004 : PHP 5.0
Zend Engine 2 + OOP
2009 : PHP 5.3
les espaces de nom,
closures
http://www.journaldunet.com/developpeur/php/xavier-lacot-forum-php-2012.shtml
PHP 5.x => l’accélération et les
frameworks
2011 : premier commit sur
packagist
2012 : PHP 5.4 opcache
2013 : PHP 5.5 generator,
finaly
PSR, adoption de composer,
intégration des frameworks
dans les outils
PHP 7 => mind = blow
fin 2015 : sortie de PHP
7.0
double les perfs
scalar + return type
declarations, classes
anonymes etc…
PAGES - TOOLS - FRAMEWORKS
“PHP has 100% market share in the
porn industry. And that makes a lot
of PHP.”
Rasmus Lerdorf - 2012
PHP est un langage
d’amateur
bourré de faille de
sécurité
lent
n’est pas “enterprise
ready”
Il y a une instruction goto
“fractal of bad design"
“The PHP singularity"
“PHP is meant to die”
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ (2012)
https://blog.codinghorror.com/the-php-singularity/ (2012)
https://software-gunslinger.tumblr.com/post/47131406821/php-is-meant-to-die (2013)
Vous devez arrêter de faire du
PHP pour …
JAVA / Python (2000)
Ruby on Rails (2005)
Javascript / NodeJS (2013)
Golang (2016)
Clojure, Haskell, Erlang (next ?)
PHP est très simple ! (dev +
architecture)
super stable + BC
compatibility
Les facteurs externes sont au
top
* hébergement
* open source, docs,
communauté
* libs
* recrutement
“taking PHP seriously”
“PHP the right way”
“Ewww, you use PHP
?”
https://www.infoq.com/presentations/php-history (2013)
http://www.phptherightway.com/
https://blog.mailchimp.com/ewww-you-use-php/ (2014)
“J’ai migré un drupal 4 monolithique
pas maintenu depuis 2 ans en
micro services nodeJS”
conclusion : Javascript > PHP
Les développeurs
Aiment être utile
Aiment la nouveauté, apprendre
Ont une vision sur ce qu’il faut faire
Ont des préférences, des habitudes
Connaissent les détails
https://www.sitepoint.com/phps-creator-rasmus-lerdorf/5/
Rasmus : “I hate
programming”
“Ultimately all language issues get
settled when users vote with their
feet.”
Tcl War of 1994 - John Ousterhout’s (who created
Tcl)
“Le mieux est l’ennemi du
bien.”
Voltaire - 1772
Le plus dur pour un architecte est
de trouver les meilleurs
compromis.
(et de nommer les choses, voire d’invalider le cache
;) )
PHP @ m6web (6play)
PHP7, Symfony, composer,
satis, atoum, …
fast API
~ 20 développeurs
bo, commandes, démons,
web apps
CI, TU, 15 déploiements par
jour
http://tech.m6web.fr/video-phptour-worker-php/
Faut il tout changer et
prendre des risques pour
10% de rps ?
Ou 10% sur le hardware.
“Une superbe stack que
personne ne comprend, ne sert à
rien.”
Olivier Mansour - BlendWebMix 2016
Jusqu’ici, le langage choisi
n’a pas été un frein.
Mais on a bossé un peu … quand même.
http://tech.m6web.fr/la-poo-canada-dry
Qu’est ce qui est important ?
(l’amour bien sur)
“Languages, libraries and
frameworks don't scale.
Architectures do.”
Cal Henderson - CTO @ slack
scalability != performance
Take PHP seriously
avec un framework (?!?!!!!!!!!)
des pratiques modernes (micro service, TDD, CI,
profiling, monitoring, …)
avec les pieds des développeurs !
https://hackernoon.com/ruby-vs-python-the-definitive-faq-5cb0046292be
PHP sucks !?
PHP est à double tranchant
N’est pas un langage pour débuter !
Il faut ouvrir ses yeux (et ses oreilles) et ne pas rester sur ses
acquis
Les problèmes sont résolus (manque de challenge ?)
programmation fonctionnelle, immutabilité, multi-threading, etc
… :/
“Ça, c’est une truelle loulou
!”
Valérie D.
PHP is the new JAVA
C’est un truc de vieux ! Et tant mieux !
PHP n’est PAS un mauvais choix (en lui même)
Pour M6 Web c’est “bien” et pour vous ?
Il faut le challenger
Javascript !!!!!!
Le futur de PHP est (toujours)
radieux
PHP a 20 ans,
La roadmap est pleine ! Les contributeurs OSS sont
chauds,
L’évolution des outils et des frameworks continus,
PHP will no more die (reactphp / kraken).
“That’s
rocket
science”
oui, en 2016 !
Merci !
http://tech.m6web.fr/jobs
@techm6web
@omansour

PHP, ce truc de vieux

  • 1.
    PHP, ce trucde vieux ou pas ? @omansour
  • 6.
  • 7.
    PHP : PersonalHome Page Tools Crée par Rasmus Lerdorf (étudiant) Juin 1995 - "La syntaxe elle-même était similaire à celle du Perl, bien que beaucoup plus limitée, plus simple, et un peu incohérente" (http://php.net/manual/fr/history.php.php) mai 1998 : 1% des serveurs utilisaient PHP/FI
  • 8.
    PHP 3 =>première version de PHP juin 1998 extensions en C, se connecte à tout ! projet universitaire de Andi Gutmans et Zeev Zuraski mod Apache 10% des serveurs web
  • 9.
    1998 !!! PHP :PSD => Macromedia Fireworks <table> pixel.gif .php édition courageuse des fichiers et insertion du PHP Pendant ce temps : Java : JSE 1.2 (JIT, Swift, etc…) Python 1.5
  • 10.
    PHP 4 =>les outils mi 1999 : Zend Engine 2000 - 2001 : Wordpress, Drupal, Joomla (Mambo) etc.
  • 11.
    DRUPALCONN 2014 -Austin, USA
  • 12.
    PHP 5(.3) =>explosion de l’OSS 2004 : PHP 5.0 Zend Engine 2 + OOP 2009 : PHP 5.3 les espaces de nom, closures http://www.journaldunet.com/developpeur/php/xavier-lacot-forum-php-2012.shtml
  • 13.
    PHP 5.x =>l’accélération et les frameworks 2011 : premier commit sur packagist 2012 : PHP 5.4 opcache 2013 : PHP 5.5 generator, finaly PSR, adoption de composer, intégration des frameworks dans les outils
  • 14.
    PHP 7 =>mind = blow fin 2015 : sortie de PHP 7.0 double les perfs scalar + return type declarations, classes anonymes etc…
  • 15.
    PAGES - TOOLS- FRAMEWORKS
  • 16.
    “PHP has 100%market share in the porn industry. And that makes a lot of PHP.” Rasmus Lerdorf - 2012
  • 19.
    PHP est unlangage d’amateur bourré de faille de sécurité lent n’est pas “enterprise ready” Il y a une instruction goto “fractal of bad design" “The PHP singularity" “PHP is meant to die” https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ (2012) https://blog.codinghorror.com/the-php-singularity/ (2012) https://software-gunslinger.tumblr.com/post/47131406821/php-is-meant-to-die (2013)
  • 20.
    Vous devez arrêterde faire du PHP pour … JAVA / Python (2000) Ruby on Rails (2005) Javascript / NodeJS (2013) Golang (2016) Clojure, Haskell, Erlang (next ?)
  • 22.
    PHP est trèssimple ! (dev + architecture) super stable + BC compatibility Les facteurs externes sont au top * hébergement * open source, docs, communauté * libs * recrutement “taking PHP seriously” “PHP the right way” “Ewww, you use PHP ?” https://www.infoq.com/presentations/php-history (2013) http://www.phptherightway.com/ https://blog.mailchimp.com/ewww-you-use-php/ (2014)
  • 24.
    “J’ai migré undrupal 4 monolithique pas maintenu depuis 2 ans en micro services nodeJS” conclusion : Javascript > PHP
  • 27.
    Les développeurs Aiment êtreutile Aiment la nouveauté, apprendre Ont une vision sur ce qu’il faut faire Ont des préférences, des habitudes Connaissent les détails
  • 28.
  • 29.
    “Ultimately all languageissues get settled when users vote with their feet.” Tcl War of 1994 - John Ousterhout’s (who created Tcl)
  • 30.
    “Le mieux estl’ennemi du bien.” Voltaire - 1772
  • 31.
    Le plus durpour un architecte est de trouver les meilleurs compromis. (et de nommer les choses, voire d’invalider le cache ;) )
  • 32.
    PHP @ m6web(6play) PHP7, Symfony, composer, satis, atoum, … fast API ~ 20 développeurs bo, commandes, démons, web apps CI, TU, 15 déploiements par jour
  • 34.
  • 35.
    Faut il toutchanger et prendre des risques pour 10% de rps ? Ou 10% sur le hardware.
  • 36.
    “Une superbe stackque personne ne comprend, ne sert à rien.” Olivier Mansour - BlendWebMix 2016
  • 37.
    Jusqu’ici, le langagechoisi n’a pas été un frein. Mais on a bossé un peu … quand même.
  • 38.
  • 39.
    Qu’est ce quiest important ? (l’amour bien sur)
  • 42.
    “Languages, libraries and frameworksdon't scale. Architectures do.” Cal Henderson - CTO @ slack scalability != performance
  • 43.
    Take PHP seriously avecun framework (?!?!!!!!!!!) des pratiques modernes (micro service, TDD, CI, profiling, monitoring, …) avec les pieds des développeurs !
  • 44.
  • 45.
    PHP sucks !? PHPest à double tranchant N’est pas un langage pour débuter ! Il faut ouvrir ses yeux (et ses oreilles) et ne pas rester sur ses acquis Les problèmes sont résolus (manque de challenge ?) programmation fonctionnelle, immutabilité, multi-threading, etc … :/
  • 46.
    “Ça, c’est unetruelle loulou !” Valérie D.
  • 47.
    PHP is thenew JAVA C’est un truc de vieux ! Et tant mieux ! PHP n’est PAS un mauvais choix (en lui même) Pour M6 Web c’est “bien” et pour vous ? Il faut le challenger Javascript !!!!!!
  • 48.
    Le futur dePHP est (toujours) radieux PHP a 20 ans, La roadmap est pleine ! Les contributeurs OSS sont chauds, L’évolution des outils et des frameworks continus, PHP will no more die (reactphp / kraken).
  • 49.
  • 50.