• [^] # Re: Typage strict

    Posté par . En réponse à la dépêche Sortie de PHP 7.0 - un nouveau départ. Évalué à 2. Dernière modification le 20 décembre 2015 à 02:42.

    Le truc du bas niveau, franchement, c'est probablement un faux problème. Parfois le bas niveau c'est utilisé pour pallier aux faiblesses du haut niveau mal conçu ... Les perfs, si c'est une abstraction au niveau du langage, il n'y a pas de raison qu'il y ait une pénalisation par rapport aux abstractions codées dans des libs qui sont la pratique la plus courante, au contraire même, donc non je ne pense pas que ce soit un argument non plus.

    Que ça soit au niveau du langage ou non ce qui va être envoyé au serveur de base de données c'est une chaîne de caractère contenant une requête. La conversion au niveau du langage n'étant pas magique elle a forcément un coût comme toute autre abstraction.

    Je ne suis pas un dinosaure comme tu semble le sous entendre, notre système actuel est tout aussi élégant: on gère des des collections, des propriétés, des graphes et différents types de données directement dans le code et cela sans même écrire une seule ligne de SQL.
    Créer une propriété ou une collection d'objets stocké en base ne prend qu'une seule ligne de PHP.

    On peut le faire car on gère finement la construction de requêtes complexes, parfois récursives ou composées de sous requêtes dans notre couche abstraction. Je ne vois pas l'intérêt d'ajouter une couche d'abstraction à une autre.

    Tout cela permet aussi de fortement limiter le nombre de requêtes effectuées, on utilise pour cela un système de cache complexe caché dans cette couche d'abstraction.

    Encore une fois, PHP, sans un bon framework, n'offre rien pour gérer de nombreux aspects du développement web : la construction d'interfaces web / templates, les formulaires, la communication ajax/comet, les sessions, l'output buffering, le un système de routage d'url n'existent pas ou ne sont pas évident à gérer sans une (très) bonne connaissance du langage et demandent effectivement une bonne couche d'abstraction pour êtres pratiques à utiliser au quotidien. La base de données n'est qu'un petit aspect du problème et il existe de nombreuses réponses possibles.

    Est ce que php est un mauvais language pour autant ? Non car ce n'est tout simplement pas sa vocation : ce n'est pas un environnement de RAD. Les couches supérieures sont maintenues par d'autres projets et offrent du choix.
    Si PHP est aussi populaire aujourd'hui c'est aussi certainement car il en existe beaucoup de ces systèmes avec des approches très différentes.

    et en attendant on a toujours pas réglé le problème de base : le langage rend trop simple l'écriture de code vulnérable et oblige à des compétences pour écrire du code non vulnérable.

    Les compétences seront toujours nécessaires quel que soit le langage, la sécurisation d'un code n'est pas magique.
    Ajouter des couches permet de ne pas gérer le problème toi même, ils ne cessent pas d'exister pour autant.
    Que cette couche soit directement dans le langage ou dans le framework que tu as choisis ne change pas grand chose au final.