PHP, ce truc de vieux

Preview:

Citation preview

PHP, ce truc de vieuxou 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 outilsmi 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.0double les perfsscalar + 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éveloppeursAiment ê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 seriouslyavec 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 JAVAC’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