Meilleure réponse
Wikipédia a commencé en janvier 2001. Initialement, il utilisait un autre logiciel wiki appelé UseModWiki , qui a été écrit en Perl. À lété 2001, il est devenu clair que sa popularité grandissait et quil avait besoin de nouvelles fonctionnalités. Par exemple, UseModWiki ne pouvait pas gérer les espaces, vous deviez donc écrire «BuenosAires» plutôt que «Buenos Aires». Il y avait aussi des problèmes de performances. Ainsi, un écrivain bénévole de Wikipédia, Magnus Manske, qui était également programmeur, a décidé de lécrire Il utilisait PHP simplement parce quil voulait lapprendre. PHP était un langage très populaire et en croissance rapide pour développer des sites Web dynamiques à lépoque.
Vous pouvez trouver plus dinformations sur lhistoire de MediaWiki sur ces pages:
- Histoire de MediaWiki
- Pourquoi Malarias Magnus est célébrée par la Journée Wikipédia du Pays de Galles
- Larchitecture des applications Open Source (Volume 2): MediaWiki
Réponse
Quand jai commencé la programmation – javais 17 ans à lépoque, le PHP était « le meilleur langage qui soit » pour moi, simplement parce quil était si facilement accessible pour moi en le début.
Comment ai-je commencé? Jai installé XAMPP sur ma machine Windows, a cliqué sur « démarrer » pour MySQL, Apache et cétait tout. Jétais accro. La possibilité de simplement mettre le script dans /htdocs
et de lexécuter via localhost / test.php était magique.
Vous voulez que le site Web soit en ligne? obtenir lhébergement, télécharger les scripts via FTP et le tour est joué!
Base de données? Pas de problème, faites simplement le bon vieux mysql\_query()
et appelez-le un jour. Puis, quelques années plus tard, après avoir appris comment les choses fonctionnent sous le capot – cest-à-dire savoir ce quétait ce bouton «démarrer» dans XAMPP – et avoir essayé dautres langages, jai réalisé à quel point PHP est laid, incohérent, aléatoire, dangereux et encombré.
Je pense que certaines personnes ne sortent jamais de cette bulle XAMPP, elles sen tiennent juste aux choses avec lesquelles elles sont le plus à laise et la défendent jusquà leur dernier souffle. Cela devient comme une religion pour eux
Si je nétais pas curieux par nature, je ferais probablement tout en PHP, avec une touche de JavaScript pour le serveur, comme je le faisais à lépoque, je aimerait probablement Node.js – et peut-être même y passer complètement.
Cependant, je naime pas Node.js.
Avantages et inconvénients des éléments mentionnés:
PHP Inconvénients
- Tous les paradigmes, fonctionnalités, tout ce que vous pouvez imaginer – php la implémenté. Besoin de traits ? Besoin de aller ? Besoin de POO ? Besoin de fonctionnel ? Besoin de quoi que ce soit dautre? Nous lavons compris.
- Ils disent que PHP 7 est rapide. Eh bien, cest rapide si vous le comparez avec une installation Laravel vide. Essayez dinstaller WordPress avec la «configuration normale du plug-in», ainsi que le «sélecteur multilingue». Bonne chance.
- La sécurité est une blague en php. Vous vous souvenez de toutes ces injections SQL? 90\% d’entre eux étaient des sites PHP, car ils ont décidé que c’était très cool de voir
mysql\_query()
annoncé comme «un moyen très simple d’effectuer des requêtes SQL». Tous les tutoriels possibles dans le monde commencent: Ok, voici comment interroger la base de données en php:mysql\_query(“SELECT * FROM article WHERE id =”. $\_GET[‘id’])
cest aussi simple que ça !!! voir? Ce n’est pas Java, vous devez d’abord préparer la déclaration! C’est trop passe-partout !! Boring !!! -
file\_get\_contents(“https://www.example.com”)
et aussifile\_get\_contents(“../foo.txt”)
et aussifile\_get\_contents(“php://input”)
et quavez-vous? Parce que cestfile\_*
donc cest pour obtenir le contenu du fichier. Sans parler defopen()
. -
error\_reporting(0)
et vous pouvez faire des merveilles. - Je peux continuer encore et encore à propos de leur «bibliothèque standard».
Avantages
- Le succès de PHP est le module Apache mod\_php.
- Il suffit de télécharger le script et cela fonctionne.
- Supprimer le script et il ne fonctionne plus.
- Si vous avez déjà regardé un code contenant {}, vous direz « hé cest comme Java | C ++ | C, etc etc, mais mettez simplement
$
avant le nom de la variable. - Téléchargez le script via ftp et nous sommes en ligne, bébé.
- PHP possède lune des plus grandes communautés au monde.
- Tableau? Est-ce une liste ou un dictionnaire? Eh bien, cest les deux (cest vraiment un con, mais bon les gens aiment la merde de quelque chose qui fonctionne dans les deux sens, qui se soucie dun dictionnaire qui ne garde pas lordre?!).
- La seule chose qui en fait, un peu de lumière sur PHP est le compositeur . Mais là encore, presque tout le monde a une sorte de gestionnaire de paquets ces jours-ci…
- Laravel est venu à la rescousse pour convaincre une fois pour toutes les gens que la POO est la voie à suivre et que nous devons oublier toutes ces absurdités
mysql\_*()
. Cependant, les gens ne savent pas où placer leur logique métier. Était-ce un référentiel? Était-ce un modèle ou un contrôleur? Ou middleware? Où? Hmm, laissez-moi réfléchir… Je pense quun trait fera laffaire…
Nœud Contre
- Bibliothèques terribles –
npm install winston
,hipster-webserver
etc. Cest en fait une chose terrible, quand je veux une bibliothèque de journalisation et que je dois choisir parmi 9 bibliothèques différentes. Je vous en prie, ne le faites pas. - Callback hell; rien ne peut être fait à ce sujet sauf la syntaxe dattente asynchrone, mais la plupart des bibliothèques sont simplement des rappels ou des promesses dune autre «invention» dont lauteur est fier. Les promesses ne sont que des rappels moins encombrants que jai commencé à mépriser ces derniers temps.
Avantages
- E / S rapide et vitesse dexécution v8. Et alors? Nimporte quoi avec libuv peut le faire. Emballez un python avec MagicStack / uvloop et effectuez les tests de performance. Sans parler dautres langues qui le font encore plus élégamment
- Entrée facile. Cest en fait une mauvaise chose. Les développeurs frontend découvrent ses capacités back-end. Ne le faites pas.
La seule façon dont je voudrais que Node soit sil avait des spécifications. Où les bibliothèques seraient parfaitement organisées et programmées avec le même style de codage. Arrêtez dinventer votre style . Cest terrible.
Quand vous regardez dans la bibliothèque tierce, si vous voyez lorganisation et le style du code que vous ne pouvez même pas commencer à comprendre, jabandonne.
Node, cest comme si quelquun a donné une voiture et 30000 dollars à un enfant de 16 ans pour quil puisse la soutirer.
Du côté positif, je ne programmerais pas sans PHP. Je ont tendance à le regarder comme un enfant regarde son jouet le plus ancien. Je ne vais pas jouer avec. Mais quand je le regarde, cela me rappelle des souvenirs et me fait sourire.
Dans le à la fin, quand vous faites quelque chose – si vous y mettez assez de travail et de cœur, et que les gens aiment ça – la langue na pas dimportance. Le résultat final est tout ce qui compte.
Paix