PHP est typé.
Mais rien à voir avec du C, C++ ou d'autres langages encore plus stricts sur le sujet comme OCaml.
PHP est typé.
Mais rien à voir avec du C, C++ ou d'autres langages encore plus stricts sur le sujet comme OCaml.
C'est une des rares fois ou j'entends parler d'OCaml Ça me rappel mes années à la fac ! Un langage assez bluffant je trouve... mais très déroutant !
Effectivement on peut parler de typage fort/faible... Pour moi la problématique est toujours la même => C'est pour faire quoi ?
Enfin pour en revenir au sujet initial, si le but de ses déclarations était de faire parler de lui, le Monsieur a bien réussi !
Cela dépend ce que tu entends par typé à mon avis on sous-entends par langage typé l'intérêt qu'il est possible de contrôler le typage à la compilation ou à l'exécution.
Hors en PHP une variable pourrait changer x fois de type durant l'exécution ce qui rends plus que difficile (même impossible?) le contrôle de typage
" Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
Aujourd'hui il ne reste plus rien du php de Rasmus au niveau de l'implémentation.
Dès 1997, Andi Gutmans et Zeev Suraski ont (ré)écrit le coeur puis dans les années suivantes le Zend Engine 1 puis 2.
Rasmus n'est qu'un contributeur parmis d'autres qui n'intervient qu'au niveau des extensions et de quelques SAPI.
je ne crois pas que la possiblité de faire du typage dynamique soit un inconvénient pour un langage,
la version 4.0 du c# introduit le dynamique c'est surement pas par hasard.
mais je suis tout à fait d'accord sur le fait qu'un langage fortement typé c'est bien plus agréable (rapide ?) à coder.
ça permet de mettre en place plus d'outils dans l'IDE.
je suis pas sur mais dans l'exemple c'est surement le modulo 2 qui aurait du être utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $b = ($a % 2 > 0) ? ($c + $d) : ($e + $d);
Oui tu as probablement raison manifestement c'est une histoire de pair/impair même pas fais gaffe c'est les ... après les if qui m'a induit en erreur
A la troisième passe (lorsque l'on découvre enfin cela) on finirait probablement par écrire comme toi. M'enfin je maintiens que pour une première passe le code était acceptable surtout si on avait aucune idée des ...
" Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
Une petite opération logique à la place du modulo pour gagner en performance
et même (peut être)
Code : Sélectionner tout - Visualiser dans une fenêtre à part $b = ($a & 1 > 0) ? ($c + $d) : ($e + $d);mais je sais pas si on peut faire ca, j'utilise rarement les structures conditionnelles sur 1 ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part $b = $d + (($a & 1 > 0) ? $c : $e;
On va bien arriver à l'optimiser ce bout de code, ou alors on continu sur un troll stérile
Chacun ses goûts tant que c'est les mêmes que les miens
Tout dépend de ce qu'il y a derrière les ... de l'exemple ?
S'il y a uniquement les 2 cas de la version de hegros :
IF a = 1 or a = 3 THEN b = c + d
ELSE IF a = 2 or a = 4 THEN b = d + e
Cette version reste selon moi la plus lisible et puisque sylvaner parle de performance, elle est bien plus efficace qu'un modulo.
Principe KISS !!!
Bon, après, c'est sût que s'il y avait 10000 lignes comme ça, ça se rediscute
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
[candide]
Alors si je comprends bien, en PHP, du code optimisé est incompréhensible ?
[/candide]
Pour tout ce qui est objet, tu peux typer relativement fortement (et tu te prend une exception dans les gencives si tu envoie pas les bons types).
Pour le reste, tu as des outils tels que le === ou le !== ansi que divers fonction de l'API telles que is_a, is_array, is_string, etc . . .
c'est du politique tout cela.... Passons les propos maintes fois reçassés par les java boyz toussa ^^
Ce qui m'intrigue c'est que "politiquement" parlant, il se permette de dire cela sachant que php semblait acquérir la maturité qu'on lui reproche depuis longtemps. aussi bien pour les outils, que pour la conception/dynamique même du langage.
J'ai pas envi de faire de l'analyse à deux balles, mais lorsqu'il nous dit qu'il n'est qu'un simple contributeur, ce sont là d'énormes foutaises, une manière comme une autre de se détacher de ce programme informatique.
Aussi, je me dit que ceci a surement à voir avec php6, les intervenants qui décident de php et qui semblent subir aujourd'hui des problèmes à concrétiser cette version.
muep... let's see.
Je ne sais pas non plus pour un premier jet sinon pour ton information je n'aime pas les switch
Comme je n'aime pas non plus les écritures conditionnelles sur une ligne alors :
A prendre ou à refactorer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if $a%2==0 $b =$e + $d else $b = $c + $d
" Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]
Il est lucide !
La preuve !
Plus sérieusement, je pense qu'il est normal que les créateurs de langage ont des regrets par rapport à certains de leur choix initiaux.
Je crois que James Gosling a dit que si c'était à refaire, il aurait pas permis l'héritage d'implémentation en Java !
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
N'oubliez pas qu'il avait été conçu comme une simple bibliothèque et pour le web au départ!
et n'oubliez pas non plus qu'au départ, le web, c'était pas fait pour faire des applications !
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
Et n'oublions pas que par rapport à java, PHP scale naturellement.
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
Au risque de rentrer dans ce débat "troll", je plussoie cette remarque de metagoto :
PHP n'a plus rien à voir avec le PHP 1. C'est de plus en plus un langage complexe, riche, et surtout souple (qui au passage répare à chaque nouvelle version les lacunes causées par cette version 1).
Qu'il soit apparemment simple à apprendre, comme l'ont dit certains, n'est qu'une fausse première impression, et c'est justement cette fausse simplicité qui le rend souvent mal perçu.
Mais bon, c'est sûr que quand on n'a fait que du PHP "vite fait" sans rentrer dedans, ça parait très médiocre. Il faut plonger à fond dedans, et justement "lire des articles", pour que ça devienne un vrai langage... Mais ce n'est que mon avis
Zend PHP Certified Engineer, Certifié Symfony2
blog : blog.lepine.pro
Secrétaire de l'AFUP (Association des Utilisateurs de PHP)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager