En tant que développeur PHP depuis de nombreuses années, dans l'utilisation de la langue Go après ......

Go est un langage de programmation puissant, avec une combinaison unique de caractéristiques. Le côté serveur PHP langage de script est exécuté, similaire à la langue C, un langage de programmation de site Web commun, et le service pour tous les micro, petites, moyennes et même les grandes applications. Pour les développeurs, à la fois en cours d'utilisation, qui ont une expérience différente? Cet article sera bientôt annoncé pour tout le monde.

Auteur | Dan Gurguí

Traducteur | ménisque, Zebian | Tu Min

16 ans, j'ai découvert PHP. Ceci est ma première langue de programmation à apprendre. A l'époque, j'utilise PHP pour vérifier le requérant fournit des utilisateurs le formulaire et envoyer le courrier électronique, la plupart des formes sont « contactez-nous ». Au fil des ans, j'ai toujours PHP comme mes forces, et faire des efforts inlassables pour le développement de vos connaissances en PHP et les compétences. Bien que je me sens vraiment expert PHP, mais ce que je connais le mieux langage de programmation. Auparavant, j'ai eu l'occasion d'utiliser Ruby, Java, Python et NodeJS dans de petits projets. Grâce à cette expérience, je compare PHP et autres langages de programmation, apprendre à mieux prendre avantage de PHP et surmonter ses lacunes.

Il y a six mois, je suis devenu ingénieur MessageBird. Lors de l'application pour un emploi, je remplissais PHP, mais je ne pensais pas que l'entrée après avoir commencé à utiliser golang, mais aussi avec PHP bancale. Une telle expérience, pendant ce temps, je l'ai appris un nouveau langage de programmation, mais maintenant je suis de retour à PHP, j'ai l'expérience de la programmation aussi dans six mois Go.

Go est un langage de programmation puissant, avec une combinaison unique de caractéristiques. Je suis désolé de ne pas être plus étude approfondie Go. Je suis retourné à la langue de programmation PHP lui-même n'a rien à voir avec la raison, mais je voudrais résumer les six mois d'expérience, et de comparer les deux langues.

Statique et dynamique

Golang est une des langages de programmation statique, comme PHP dynamique. Alors, vous voulez savoir à l'avance lors de l'initialisation des variables et des objets. En PHP, vous n'initialiser les variables, vous pouvez utiliser la place en cas de besoin. Par conséquent, avant de déclarer une nouvelle variable, pour golang vous devez réfléchir à deux fois, je l'ai trouvé plus efficace que la pratique de la vérification dans les variables PHP. PHP 7 pour ajouter une déclaration de type, il est une meilleure pratique, mais réfléchir à deux fois avant d'écrire du code est une façon plus saine.

sous-programme de traitement en parallèle

Une des caractéristiques très fantastiques golang est goroutine. Cette fonction prend en charge la fonction de fonctionnement asynchrone. PHP n'a pas de fonction et la simplicité goroutines et la facilité d'utilisation par rapport. Chaque fois que la nécessité d'un traitement parallèle en PHP, vous devez ajouter un mécanisme de mise en attente externe (Beanstalk, RabbitMQ, etc.). Cela aggravera la complexité de l'infrastructure, et d'accroître la complexité du projet.

Golang traitement en parallèle au-delà de PHP.

fonctionnalités orientées objet

Depuis l'avènement de la programmation, les concepts orientés objets ont toujours une place. 90, orienté objet a été largement utilisé en C ++, il est ainsi devenu le paradigme dominant. orienté objet m'a le plus attiré est qu'il permet aux ingénieurs d'utiliser le code pour créer des diagrammes de logique métier, il se trouve, lorsque le système évolue change, la valeur offerte par cette approche est sans limites. PHP et golang offrent des fonctionnalités orientées objet, cependant, il y a une grande différence entre les deux langues.

Il m'a fallu beaucoup de temps pour vous habituer à l'interface implicite. En golang, mettre en uvre après toutes les méthodes, les types répondent aux exigences d'interface. Mais en PHP, vous devez définir les interfaces requises pour saisir explicitement, puis commencer à mettre en uvre. Go Avec cette fonction, vous n'avez pas besoin de penser en application d'interface à l'avance, ce qui est à ma connaissance de l'exact opposé des langues statiquement typés.

Modèle évolution des besoins complexes et la conception pilotée par le domaine pour répondre à cette demande. Pour ce faire, vous avez besoin d'un grand nombre de fonctionnalités orientées objet, PHP ne fournit beaucoup de ces caractéristiques: trait, des méthodes et des classes abstraites, les méthodes finales et les classes, méthodes, et ainsi la magie. Golang manque ces caractéristiques, c'est une contrainte insurmontable. Donc, je pense que golang applique uniquement aux petites ou micro-applications, services et services PHP pour tous les micro, petites, moyennes et même les grandes applications.

test

Je pense que, dans la détermination de la qualité du projet, le test est le plus important travail: les tests unitaires, tests d'intégration, tests fonctionnels, tests interface utilisateur, les tests de performance et ainsi de suite, plus le projet ont testé la livraison de meilleure qualité. GO et PHP framework de test unitaire est très bonne, Go a package de test intégré, mais PHP a PHPUnit, qui fournit un ensemble riche de fonctionnalités qui peuvent être utilisées pour tester votre code. package de test PHPUnit dispose de golang plus, parce que plus de fonctions PHP. Les deux outils sont disponibles pour compléter le langage de programmation de travail. Cependant, au cours du test de haut niveau, PHP et Go montreront une grande différence.

Tout d'abord, les tests de performance, package de test Go a beaucoup de capacités de tests de performance. pprof et de nombreuses bibliothèques peuvent utiliser ces fonctionnalités pour créer beau rapport de données. Alors que PHP ont également une bibliothèque et la technologie peuvent être utilisées pour les tests de performance, mais Go est plus facile à utiliser. Je crois que c'est l'un des avantages de langages typés statiquement.

D'autre part, les techniques de test avancées (par exemple BDD, TDD et test A / B), PHP a plus de soutien, plus de bibliothèques, ainsi que d'une plus grande communauté. Par exemple, les deux langues ont atteint concombre (ou Gherkin), mais les supports de mise en uvre de BEHAT PHP 40 langues, est uniquement basée sur des composants individuels à construire, et le soutien sur GitHub plus (plus de branches que concombre, Plus en étoile, etc.).

Enfin, pour le test fonctionnel ou l'interface utilisateur de test, les bibliothèques PHP plus, et un meilleur support pour les outils existants. Sélénium a un support de PHP très puissant (plus de 3000 tests multi-navigateur, l'enregistrement vidéo, le texte et les journaux visuels, etc.), et foncez, est non seulement un pilote Tebeka / sélénium bien entretenu (date de dernière eu lieu dans il y a 5 mois).

autres différences

Il y a beaucoup d'autres différences entre les deux langues, points saillants:

  • Golang meilleures performances que PHP. Nous avons des centaines de références pour tester PHP et golang dans tous les cas, mais la plupart du temps sont golang gagnant évident. La chose la plus importante est, Go développement rapide: Essai de fonctionnement plus rapide et plus efficace de la mémoire, une plus faible utilisation du processeur.

  • Le nombre dépasse largement la communauté PHP golang, et le soutien est excellent. J'ai trouvé golang utiliser beaucoup de mauvaises choses, comme des générateurs de code, c'est quelque chose que la communauté PHP il y a quelques années abandonné.

  • Forfait d'entretien est également très différent. En golang, le pack est la gestion interne de la maintenance et PHP a deux façons différentes: tout d'abord, le niveau d'extension PHP, deuxième, bibliothèque de niveau que les utilisations de chacun. la situation PHP est plus complexe, et entrera en administration deux ensemble.

Une dernière pensée

Les deux langues ont une nette distinction entre les deux est très facile de faire des choix. Golang de meilleures performances, avec des capacités asynchrones natives, et d'autres fonctions de base, idéal pour les petites applications qui nécessitent une utilisation fréquente des micro et des services.

Cependant, avec des applications de plus en plus dans le cas d'une complexité accrue de la logique métier, PHP est un choix naturel, parce que vous pouvez profiter pleinement des fonctionnalités orientées objet et PHP de soutien communautaire.

Original: https: //medium.com/swlh/6-months-with-golang-after-many-years-with-php-c52124fb7da?

Cet article traduction RPSC, s'il vous plaît indiquer la source de la source.

Apple ne AirPod est l'accessoire iPhone?
Précédent
Cinq Alipay fixé pour commencer la semaine prochaine, le 13e anniversaire du lancement de l'iPhone, version 6.10.0 Laravel | Geeks titres
Prochain
ERNIE Baidu a battu Microsoft et Google en compétition COLLE
Pourquoi gagné Microsoft, Google, Adobe, riche PDG cercle scientifique et technologique de l'Inde?
Votre look « tout naturel » comme? Le générateur de mari et femme au feu
lettre Micro applet de 3 ans: Nikkatsu plus de 300 millions, le chiffre d'affaires de plus de 800 milliards
Comment AI appliquée à l'exploration pétrolière et gazière?
Zhou a répondu Prix annuel du Grand « billet de coupe libre », la libération micro-canal limite de 5000 amis, Firefox 72 publié | Geeks titres
32 ans programmeur, rémunération N + 2: « Merci de me couper, me laisser doubler! » User: modèle
gardien chaud d'une vie meilleure, la technologie ne fait jamais froid
Tokyo report du monde du sport olympique déclenche un système de réaction en chaîne à l'épreuve
air fort froid affectera une large gamme de précipitations dans la plupart de la Chine orientale apparaît
· Internati Ouest hiver Côte (Hua)
Les nouveaux volontaires de vaccins de la Couronne dans le journal ouvert sur le microblogging grand nombre de pouces des utilisateurs vers le haut