IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP 7.1.0 disponible


Sujet :

Langage PHP

  1. #121
    Membre actif

    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Août 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 40
    Points : 254
    Points
    254
    Par défaut
    Sur un de mes projets, j'ai fait des tests de compatibilité. Attention aux projets qui incluent des bibliothèques tierces. La manière de déclarer un constructeur a changé (impactera par exemple la release courante de phpseclib). Certaines erreurs ne passeront plus à cause d'un parsing plus strict. Par exemple, un break qui traîne à un mauvais endroit (c'est le cas pour la release n-1 de PHPExcel).

    Concernant les benchmarks, il y aura une amélioration des applications simples ou dans des cas particuliers, mais pas de miracle sur les applications composites (intégrant différentes bibliothèques tierces). Les temps seront meilleurs, mais il ne faudra pas s'attendre au bond que l'on a vu par exemple entre la v5.3 et la 5.4.

    Plus personnellement et sans intention de déclencher de débat, je suis un peu déçu que l'on ait pas la possibilité (optionnelle) d'opter pour un type à la déclaration. Un peu comme le VBA ou le type par défaut est Variant, mais qui laisse la possibilité de déclarer des variables avec des types en provoquant des erreurs en cas de mauvaise affectation.

  2. #122
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Je crois que le fonctionnement de C# est en tout point identique à celle de Java. Il n'y a que les noms qui changent (question politique).
    CIL => bytecode
    CLR => JVM
    Le code intermérdiaire (CIL/bytecode) est lu par la VM (CLR/JVM) pour être compilé en langage machine à la volé (JIT). Que ce soit pour C# ou Java, le langage machine généré est spécifique à l'OS+architecture.
    Et je crois que tu crois mal.
    Le MSIL n'est jamais exécuté par la CLR, il est fatalement compilé en langage machine.
    Le byte code est soit interprété, soit compilé en langage machine par un compilateur JIT.

    Les buts de ces systèmes sont differents :
    La CLR compile en code intermédiaires différents langages en vu d'une recompilation pour une exécution sur Windows (initialement hein).
    La JVM a pour but d’exécuter un seul langage sur n'importe quelle plateforme (disposant d'une JVM). Même si Java evolue dans le bon sens au niveau de la communication avec le système, il ne reste neanmoins pas le plus à l'aise pour cette tache : et c'est normal, puisque par essence, il voulait rendre sa JVM independant.

  3. #123
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Citation Envoyé par miky55 Voir le message
    ... je peux te dire le code MSIL est beaucoup plus proche du code source que d'un exécutable, il est d'ailleurs totalement réversible, tu retrouves tout jusqu'aux noms des variables et méthodes.En se sens les langages interprétés et managés sont très proche dans leur fonctionnement contrairement aux langages compilés... Ton compilé 2 fois ne veut strictement rien dire car finalement tu n'as pas réellement un binaire avec des instructions procos...
    Mais je n'ai jamais dis le contraire MSIL ressemble quand même largement plus à de l'assembleur qu'a du C#, faut pas déconner non plus
    Par contre, dans ton MSIL, tu as aucune reference à la partie hardware de ta machine hote hein C'est là qu'on parle de "VM" ...

    Alors après, on peut aisément débattre sur ce qu'est une VM.
    De mon point de vue, c'est un systeme qui te permet d'executer un bout de code indépendamment de ton système hote (là, on est dans le cas de Java qui est fait pour ca).
    Etant donné que la CLR n’exécute pas de code MSIL (parce qu'il le compile une deuxième fois en langage machine, donc uniquement exécutable sur la machine), on ne peut plus parler de VM.

    Citation Envoyé par miky55 Voir le message
    Pour ce qui est su reste tu as raison si on veut comparer php à .net il est clairement souhaitable de comparer php également avec framework. Mais dans tous les cas les applications réalisés en asp net pourraient parfaitement être réalisées en php/framework et vice versa. Donc je persiste à dire que comparer les deux n'est pas ridicule du tout
    Oui et Non, car tu compares un eco système à un langage.
    L'avantage d'ASP.net est que le framework est développé par MS lui même, et donc qu'il est parfaitement homogène.
    Encore une fois, sans dire que PHP est une mauvaise plateforme (je serais menteur), je trouve qu'il est plus pratique d'aborder la technologie .Net car elle me semble plus complète de base. Juste un exemple, MS fourni son ORM, ce qui n'est pas le cas de PHP.
    Tu as aussi un mode d'accès au données déconnecté (ADO.net), en plus du mode connecté (OleDb).
    La gestion du cache (pour des applications ASP.net) est directement incluse dans le framework de base, etc etc etc ...

    Et puis, en PHP, les possibilités, le style de dev est directement dépendant du framework que tu utilises. Et ils sont assez inégaux (Tu ne procèdes pas de la même manière sur Cake que sur Zend ou encore Synfony). En ASP.Net, tu ne te pose pas vraiment la question, et tu beneficies directement de l'infra-full MS.

    Je n'arrive pas à comparer Php and co à .Net.
    Le modèle le plus proche de .Net reste J2SE ou JEE.

  4. #124
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Citation Envoyé par stailer Voir le message
    +1, c'est exactement ce que je disais plus haut.. Combien de fois en ASP.NET MVC je me suis dit : "Ah tiens avec le ZF ça irait plus vite, c'est mieux fait !" mais aussi l'inverse avec le ZF, nombre de fois j'ai pu me dire : "Avec ASP.NET MVC tout est objet et je ne galèrerais pas à voir toutes les propriétés de ma variable car à ce moment précis dans l'appli le cast est pas possible" (c'est un exemple parmi d'autres, avec utilisation d'ORM notamment).

    Aucun des 2 frameworks me ferait abandonner l'autre.
    A ce jeu là, tu peux tout faire dans tous les langages. Pourquoi pas faire du Perl, du C voir même de l'assembleur ?
    In finé, tu peux tout faire avec tous les langages. C'est pas pour cela qu'il est naturel de les comparer.
    Surtout lorsque l'un est type et pas forcement l'autre.
    Surtout que pour faire vite, webform est quand même super bien (Bon, ok, tu subies le code généré par la Framework .Net, et tu t'assoies sur les tests unitaires, mais dans 70 % des cas, c'est suffisant, et largement plus rapide à développer).

    Apres, je te rejoins, c'est vraiment une question de besoin, ET d'habitude.
    Ce ne sont pas deux technos qui s'opposent.

  5. #125
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Nicam Voir le message
    La CLR compile en code intermédiaires différents langages en vu d'une recompilation pour une exécution sur Windows (initialement hein).
    Il me semble que la CLR compile en langage machine le code intermédiaire fournit par le CSC (CSharp Compiler, ex: Roselyn).


    Citation Envoyé par Nicam Voir le message
    La JVM a pour but d’exécuter un seul langage sur n'importe quelle plateforme (disposant d'une JVM).
    A la base oui, mais aujourd'hui si .NET supporte officiellement plusieurs langages (C#, F#, Visual Basic .NET etc), la JVM peut elle aussi faire tourner plusieurs langage en plus de Java (ex: Groovy, Scala, Clojure etc), regarde du coté de "invokedynamic".


    Citation Envoyé par Nicam Voir le message
    Même si Java evolue dans le bon sens au niveau de la communication avec le système, il ne reste neanmoins pas le plus à l'aise pour cette tache : et c'est normal, puisque par essence, il voulait rendre sa JVM independant.
    Oui, mais c'est le cas pour n'importe quel langage managé. Ton langage supporte le parcours de dossier, écriture de fichier, gestion de thread, gestion de socket ? Si oui alors c'est bon signe (c'est la base). Si ton langage supporte un lecteur audio, la communication port-séries RS232 ou USB etc sans passer par des librairies tierces c'est encore mieux.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  6. #126
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    2 choix pour le type hint : pas d'annotation, annotation.
    Ne pas avoir de typage ça n'existe pas : le typage est implicite et faible en PHP.
    C'est pour ça que j'ai bien précisé qu'il ne s'agit pas d'un "typage" complet, il s'agit juste d'un typage des paramètres et du return.

    Donc, on a bien 3 choix, oui. Rester comme aujourd'hui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function takeInt($int) {}
     
    //takeInt('blablabla') => ça passe
    //takeInt(2.00) => ça passe
    //takeInt(2) => ça passe
     
    function takeInt(int $int) {}
    //takeInt('blablabla') => ça passe pas
    //takeInt(2.00) => ça passe, conversion implicite
    //takeInt(2) => ça passe
     
    declare(strict_types=1)
    function takeInt(int $int) {}
    //takeInt('blablabla') => ça passe pas
    //takeInt(2.00) => ça passe pas
    //takeInt(2) => ça passe

  7. #127
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 0
    Points
    0
    Par défaut Si tu n'es pas un ayatolah inconditionnel du libre, essaie donc G-WAN.
    Citation Envoyé par Tsilefy Voir le message
    Pourquoi Apache? Il y a de meilleures alternatives. De toutes façons, ces histoires de benchmarks ne riment à rien, c'est juste du tapage de poitrine pour montrer qui c'est Raoul. Il faut juste choisir les technologies appropriées à chaque projet.
    Le problème des benchmarks n'est pas très compliquer à résoudre si l'on accepte au préalable de bien dire ce que l'on veut mesurer.

    Si c'est la simple mais vraie capacité d'un serveur quelconque de répondre à des requêtes, c'est même très simple en évitant bien évidemment tous les goulots d'étranglement du système (et en particulier les I/O disque) de la stack de communication (utiliser localhost plutôt qu'une connexion client serveur via un LAN), du langage utilisé (débile de faire un test d'un calcul de remboursement de prêt sur 25 ans alors qu'une simple chaîne d'environ 80 caractères non répétitifs pour éviter toute compression malvenue est largement suffisante).

    Il suffit d'utiliser par exemple un outil open source du nom de abc2 (qui est un simple wrapper en C de l'outil de benchmark weighttp développé par Lignttpd) qui permet non seulement de simuler de très sérieuses montées en charge (par exemple de 0 à 1000 clients connectés simultanément qui envoient plusieurs séries de 100.000 requêtes) et de récupérer les résultats du nombre de requêtes traitées par seconde, de l'encombrement mémoire et de l'usage du CPU via un fichier texte permettant la réalisation de charts.

    Citation Envoyé par Tsilefy Voir le message
    Sinon un serveur web en C mettrait tout le monde d'accord, et pourtant personne n'en utilise.
    Justement il y a de plus en plus de gens qui utilisent G-WAN en raison de ses capacités à utiliser pas moins de 17 langages de programmation dont en particulier le C et le C++ et les performances qui en découlent bien naturellement.

    Tu peux télécharger une image .iso LiveDVD avec G-WAN et les 17 langages de programmation déjà installé sur une distro Ubuntu 12.04.5 LTS 64 bit ici : http://www.as2.com/linux/tools/gwan-...-64-bit-fr.iso juste pour le fun d'essayer, voir même de le comparer à Apache ou à Nginx en session live.

    Et l'utilitaire abc2 y est aussi installé et aussi disponible en open source avec la ligne de compilation.

    L'intérêt particulier de cet outil abc2 est qu'il tire complètement parti des capacités multi core des CPU actuels (disponibles depuis 2004 quand même), ce qui n'est pas le cas des vieux dinosaures comme AB ou HTTPerf ou des outils biaisés ou inconstants comme siege, et qu'ayant été développé par Lighttpd, personne ne peut dire qu'il avantage G-WAN par exemple par rapport à Nginx !

    Bon, maintenant coder un site web en C ou en C++ n'est pas non plus bien plus compliqué qu'en C# ou Go, ou Java, ou Lua, ou Perl, ou PHP ou Python, ou Ruby ou même Scala. Les multiples petites applications livrées avec G-WAN dont certaines sont disponibles à l'identique en 4 ou 5 langages permettent de s'en rendre compte très facilement.

    Et si les performances vont devenir une vraie priorité (avec entre autre l'utilisation de moins de machine serveurs ce qui a un impact considérable sur l'environnement => sujet hautement à la mode en ce moment), alors l'utilisation de vrais langages compilés deviendra une évidence et l'on assistera au retour de la formation des développeurs au bon vieux C, voir du C++ dont je ne suis pas fana.

  8. #128
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 184
    Points : 409
    Points
    409
    Par défaut
    Citation Envoyé par Nicam Voir le message
    Et puis, en PHP, les possibilités, le style de dev est directement dépendant du framework que tu utilises. Et ils sont assez inégaux (Tu ne procèdes pas de la même manière sur Cake que sur Zend ou encore Synfony). En ASP.Net, tu ne te pose pas vraiment la question, et tu beneficies directement de l'infra-full MS.

    Je n'arrive pas à comparer Php and co à .Net.
    Le modèle le plus proche de .Net reste J2SE ou JEE.
    Je pense qu'on se comprend sans être d'accord donc inutile de s’éterniser dans se débat. Ce que je voulais comparer à la base c'est les performances, comme le poste qui à lancé cette conversation. Ça ne me dérangerai pas non plus de comparer php python et ruby a .net et jee en terme de perf voir meme pk pas cpp et cgi. À la base le test était sur un algo bien précis sans accès bdd ni rien du tout, donc commencer à parler d'orm etc n'a pas vraiment de sens dans ce contexte. Donc ils auraient très bien pu réécrire cela en asp .net (sans instancier aucune classe du framework donc en c# si tu préfère).

    PS: D'ailleurs ils ont même mis java et gcc dans le bench ( si c'est bien celui-ci posté un peu plus haut par un membre https://gist.github.com/dstogov/12323ad13d3240aee8f1 )

  9. #129
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 0
    Points
    0
    Par défaut Désolé de le redire encore une fois mais ZEND est le roi du pipeau (ou de la flutte).
    Citation Envoyé par miky55 Voir le message
    Ça ne me dérangerai pas non plus de comparer php python et ruby a .net et jee en terme de perf voir meme pk pas cpp et cgi. À la base le test était sur un algo bien précis sans accès bdd ni rien du tout...
    D'ailleurs ils ont même mis java et gcc dans le bench ( si c'est bien celui-ci posté un peu plus haut par un membre https://gist.github.com/dstogov/12323ad13d3240aee8f1 )
    Pour en revenir à l'article en question, celui-ci s'appuie sur un benchmark que personne ne peut contester dans la mesure où il n'est fait aucune mention ni de l'environnement de test, ni de l'outil utilisé pour faire ces tests.

    Bref, ce ne sont que des graphiques incontrôlables publiés par ZEND dans une press release !

    C'est de la comware, pour ne pas dire du vaporware !

    Maintenant, si ZEND les a bien pendues, qu'il communique l'intégralité des données reproduisibles par tout un chacun et l'on verra bien qui est "Raoul".

    Comparer une version béta de PHP version 7 sur une seule fonction par rapport à des versions antédiluviennes d'autres langages est une preuve manifeste de leur mauvaise foi.

    Et d'ailleurs, qui affiche des images de Mandelbrot (qui plus est en mode caractère) sur son site web ?

    A part nous prendre pour des lapins de trois semaines... je n'en vois strictement aucun intérêt.

    Mais je dis ça, je ne dis rien !

  10. #130
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Nicam : A ce jeu là, tu peux tout faire dans tous les langages. Pourquoi pas faire du Perl, du C voir même de l'assembleur ?
    Ne te fais pas plus bête que tu n'es : tu aurais un framework MVC en assembleur ou C à me donner ? qui fonctionne sur un serveur Web iis ou apache et qui propose les mêmes fonctionnalités ou équivalentes au ZF ou ASP.NET MVC 4 ?
    Peut-être qu'en Perl ça existe mais bon... Dans mon entreprise on est .net en priorité ou php et c'est pareil pour les autres (ou alors java). Sans parler des ressources, je vais en trouver autant que pour .net ou php.

    Enfin, si on parle purement au niveau langage, java et c# se ressemble énormément. Si on fait une approche très objet en php, là aussi on peut retrouver des choses avec java et c# (attention, je dis pas "c'est la même chose" ; ))
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  11. #131
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    Oui, mais c'est le cas pour n'importe quel langage managé. Ton langage supporte le parcours de dossier, écriture de fichier, gestion de thread, gestion de socket ? Si oui alors c'est bon signe (c'est la base). Si ton langage supporte un lecteur audio, la communication port-séries RS232 ou USB etc sans passer par des librairies tierces c'est encore mieux.
    C'est justement la différence entre Java et C#, ou plutôt entre .Net et J2SE/JEE.
    Ca n'a rien à voir avec le fait que le code soit managé. Mais plutôt a voir avec le fait que l'un utilise une vraie machine virtuelle, et pas l'autre.
    Programmer de l'usb ou du port serie en Java, c'est faisable, mais c'est pas spécialement simple.
    Utilisation de bibliothèque en C (Chez mon client, ils utilisent java pour communiquer avec des devices en série, et je te garanti que l’adhérence avec le composant en C pose des problèmes. Rien que le passage de 32 bits en 64 bits, ca en a calmé plus d'un).

  12. #132
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Désolé je ne vois toujours pas la différence, quel critère fait que l'une est une vraie machine virtuelle et pas l'autre ?
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  13. #133
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    Sans déconner, tu le fais exprès là ^^

  14. #134
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Moi j'en sais rien, en étant pas grand connaisseur de C#, mais on m'a également dit (par des personnes qui elles s'y connaissaient bien plus que moi) que C# tournait aussi dans sa propre VM (après moi je dis ça, j'en sais rien...)
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  15. #135
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 6
    Points : 0
    Points
    0
    Par défaut Mais bien sur...
    Citation Envoyé par stailer Voir le message
    Ne te fais pas plus bête que tu n'es : tu aurais un framework MVC en assembleur ou C à me donner ? qui fonctionne sur un serveur Web iis ou apache et qui propose les mêmes fonctionnalités ou équivalentes au ZF ou ASP.NET MVC 4 ?
    Ben c'est assez simple en fait (sauf pour IIS).

    Tu prends une distro Linux de ton choix + Eclipse CDT + G-WAN (et C ou C++) ou Nginx (si tu as le courage et les compétences pour écrire le module qui permet à Nginx d'exécuter du C et/ou du C++ => hé oui, c'est possible) et là, tu as un équivalent 1000 fois plus performant que les grosses machineries que sont PHP et C# que ce soit sous Linux ou Windows.

    Mais c'est vrai qu'il faut être programmeur... et pas simplement développeur web et que tant les performances que les ressources utilisées (RAM, CPU et nombre de machines serveurs en ligne pour répondre à 1 million de requêtes simultanées par seconde) soient d'un quelconque intérêt pour toi.

    Maintenant, si tu ne dois gérer que 30 à 50 clients simultanés qui se prélassent sur tes pages, tu peux parfaitement rester avec un seul Windows 7 Workstation Pro 64 bit + IIS7 et ou/Apache et/ou Nginx + PHP et/ou ASP.Net.

  16. #136
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Fnux : Ben c'est assez simple en fait (sauf pour IIS).
    Ta réponse n'a rien à voir avec la question que j'ai posé. Soit tu ne l'as pas comprise soit tu ne connais pas le principe même des frameworks mvc.
    Tu veux parler uniquement de serveur linux alors que je demandais pour les 2... Bon ok pourquoi pas.

    Alors quel est ton outil magique avec Nginx, distrib linux machin, Ecplise et G-Wan ?

    MVC = model / view / controller. Et ça c'est le minimum du strict minimum de ce qu'on attend de ce type d'outil. Je passe l'aspect configuration, les helpers, les filtres, les handlers qui sont supers importants (et même l'ORM après tout !).

    Toi ce que tu me proposes c'est de tout re-développer alors ?... Euh, c'est quoi l'intérêt ? Figure toi justement qu'en 2006 c'est ce que j'ai fait : mon propre framework mvc php. La raison était simple : à ce moment Zend (en version 0.X je crois) ou CakePHP n'apportait pas tous les besoins que j'avais pour la société dans laquelle j'étais. Sans parler du fait qu'ils étaient lents...
    Des dizaines de sites webs tournent sur ce que j'ai développé à l'époque (jusqu'en 2009) et certains dépassent les 50 connexions en simultanée.

    Maintenant, pour un site qui dépasse les 50 "requêtes" par seconde il y a une solution que l'on appelle le "cache". Ca ne fait pas tout mais ça marche très bien. Cache HTML, cache MVC, cache de BDD. Avant de remettre en question toute une techno je pense que réfléchir au cache est une évidence.

    Mais c'est vrai qu'il faut être programmeur.
    Ben puisque tu l'es et apparemment très fort, prêt à révolutionner le monde du web avec un framework MVC en C ultra performant , t'attends quoi ?
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  17. #137
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 184
    Points
    1 184
    Billets dans le blog
    9
    Par défaut
    Niveau performance, j'aimerais bien que python en fasse autant !

    Tu prends une distro Linux de ton choix + Eclipse CDT + G-WAN (et C ou C++) ou Nginx (si tu as le courage et les compétences pour écrire le module qui permet à Nginx d'exécuter du C et/ou du C++ => hé oui, c'est possible) et là, tu as un équivalent 1000 fois plus performant que les grosses machineries que sont PHP et C# que ce soit sous Linux ou Windows.
    Quand tu codes en php ou en python, pour ma part en tous cas, j'essaye d'utiliser un maximum des bibliothèques codées nativement en C.
    Au final tu y perd très peu en performance, un exemple ?, je dois actuellement faire un programme qui doit pouvoir faire de grosse multiplication de matrice.

    J'aurais pu le faire en C, mais j'ai choisie de le faire en python en utilisant numpy et le multiprocessing.
    Au final si j'avais codé mon programme en C pur, il n'y aurait peut être même pas eu de réel gain de performance.


    Tout ça pour dire qu'en général le problème de performance ne vient pas du langage mais du développeur, qui utilise mal (ou pas) les outils à sa disposition pour éviter de (mal) réinventer la roue.

    Et c'est cette pléthore de bibliothèques qui permet aux langages à scripts (php, python3...) de prendre l'avantage

  18. #138
    Membre confirmé
    Inscrit en
    Septembre 2004
    Messages
    314
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 314
    Points : 463
    Points
    463
    Par défaut
    @Stailer : On se calme mon biquet
    Je mettais juste en avant le fait que même si les framework te permettent de faire les mêmes choses, ils ne sont pas toujours comparable naturellement.
    Car à ce petit jeu là, comme je te l'ai déjà dit, on a développé des pages web dans d'autres technos que PHP, Java ou C#, et c'est pas pour cela qu'on va les comparé.

    Au fait, c'est quoi un cache MVC ?

  19. #139
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    @nicam : si les framework te permettent de faire les mêmes choses, ils ne sont pas toujours comparable naturellement.
    Ben ZF est comparable à ASP.NET MVC, ça me semble logique. Le jour ou je suis passé du ZF à ASP.NET MVC j'ai attendu d'avoir les mêmes fonctionnalités.
    Au tout début ASP.NET MVC 1.0 me paraissait moins bien, il me manquait des choses. Mais dès la version 2 le retard a été rattrapé.

    Donc quand tu rajoutes :

    Car à ce petit jeu là, comme je te l'ai déjà dit, on a développé des pages web dans d'autres technos que PHP, Java ou C#, et c'est pas pour cela qu'on va les comparé.
    Alors je suis peut-être idiot mais moi je les compare. Désolé mais en ASP3 par exemple on a pas du tout les mêmes possibilités qu'en PHP par exemple et pourtant dans les 2 cas on peut faire des pages webs. Et ce n'est pas par hasard que les gens ont quitté ASP3 pour PHP : ils ont comparé.

    Bref. Sinon pour répondre à ta question, le "cache MVC" c'est quand le framework te propose par exemple de poser un attribut sur une action MVC pour lui dire de garder le rendu pendant 2 secondes par exemple.
    Du coup si on a 50 requêtes à cette action pendant les 2 secondes, c'est le rendu en cache qui sera donné.

    Voir l'attribut OutputCache en asp.net mvc
    Voir Zend_Cache avec zend framework
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  20. #140
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    PHP 7.0 : la première bêta disponible et marque le gel des fonctionnalités
    la version stable prévue pour le 12 novembre 2015

    Mise a jour du 24/07/15, sortie de PHP 7.0 bêta 2

    Les développeurs de PHP, viennent de publier la deuxième bêta de la prochaine génération de la plateforme de développement Web. PHP 7.0 bêta 2 apporte des correctifs pour 28 bugs au total et améliore la stabilité de l’outil.

    Pratiquement 200 commits ont été effectués pour permettre la sortie de cette bêta. PHP 7.0 représente une évolution majeure de la plateforme. La nouveauté la plus vantée est le gain de performance que permet son nouveau moteur Zend Engine.

    Télécharger la beta 2 de PHP 7.0
    Conformément à la feuille de route qui avait été publiée par les développeurs de la plateforme de développement PHP pour la prochaine génération du langage, la première version bêta de PHP 7.0 est disponible en téléchargement à des fins de tests.

    « Ceci est la troisième préversion de la nouvelle série majeure PHP 7. Tous les utilisateurs de PHP sont invités à tester cette version avec soin, et rapporter tous les bugs et incompatibilités dans le système de suivi des bugs », peut-on lire dans un billet sur le site officiel du projet PHP.

    PHP 7.0 Berta 1 marque la fin d’une étape importante dans le processus de développement du langage. L’ensemble des nouvelles fonctionnalités pour cette version a été implémenté. À partir de maintenant, le langage n’aura plus droit à des changements fondamentaux, en dehors des corrections de bugs.




    Cette version apporte des améliorations de la sécurité, de la stabilité et quelques nouvelles fonctionnalités. Des correctifs ont été apportés pour 25 bugs signalés. Tous ces changements ont été opérés grâce à 200 commits environ.

    PHP 7.0 embarque une nouvelle version de Zend Engine, avec des fonctionnalités telles que :

    • des améliorations de performances. PHP 7 est deux fois plus rapide que PHP 5.6 ;
    • une consolidation du support du 64 bits ;
    • l’implémentation des exceptions pour de nombreuses erreurs fatales ;
    • la prise en charge du nouvel opérateur « Null Coalesce » (??) ;
    • le support de l’opérateur de comparaison combinée (<=>) ;
    • le support des classes anonymes ;
    • la prise en charge de la déclaration des types scalaires ;
    • la suppression des modules SAPI (Server Application Programming Interface) et des extensions anciens et non pris en charge.


    La bêta 2 de PHP sera publiée dans quelques jours. La sortie de la version stable de la plateforme est prévue pour le 12 novembre 2015.

    Il faut noter qu’il s’agit d’une préversion pour les développeurs, qui peut encore être sujette à de nombreux bugs. De ce fait, il est déconseillé de l’utiliser dans un environnement de production.

    Télécharger la beta 1 de PHP 7.0

    Source : Site du projet PHP
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

Discussions similaires

  1. Réponses: 7
    Dernier message: 18/01/2010, 11h44
  2. PHP 5.2.10 et 5.3.0 RC4 sont disponibles
    Par Rémy d'Aprilli dans le forum Langage
    Réponses: 1
    Dernier message: 20/06/2009, 20h41
  3. PHP 5.2.10 et 5.3.0 RC4 sont disponibles
    Par Rémy d'Aprilli dans le forum Actualités
    Réponses: 0
    Dernier message: 20/06/2009, 17h44
  4. Extension PHP Ming disponible chez Free ?
    Par Flameo dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 24/04/2008, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo