Proposition domotique Arduino sans shield Ethernet

osaka:
C'est bien ce que je disais,POSIX=API=restrictions=chipotages, ... et surtout cantonné aux monde unix c'est pas plus portable que DotNet au final (! pas frappé j'ai pas dis ouvert, libre et blabla :sweat_smile:) ...

:astonished: Si mon prof de programmation systéme te choppe ...
Tu passe par la fenêtre à grand coup de pied au c*l et tu fait huit fois le tour de la terre :grin:

POSIX = Standard = portabilité entre OS (... sauf sur ... windows :roll_eyes:, et encore je suis méchant une partie du POSIX est respecté)
voir POSIX — Wikipédia

Et humm ... la comparaison avec .net framework :roll_eyes:
On parle d'API bas niveau là (gestion du noyau, des processus, de la mémoire, ...) .net n'as rien à voir ...

osaka:
Je savais pas, vu que je ne l'utilise que pour du contenu web, comme c'est ce pourquoi php était prévu à la base. :sweat_smile:

Justement c'est pour améliorer le temps de génération des pages web que Zend a conçu un moteur PHP avec machine virtuelle.
C'est pas pour les applications CLI que le temps de lancement est critique, par contre pour les pages web on compte les millisecondes maintenant :wink:

osaka:
Je l'avoue, je n'ai jamais eu l'envie de chercher plus loin en ce qui concerne php.
Pour les 100 ligne aux lieu de 5000 je comparerais ceci aux core arduino, c'est bien joli de facilité les choses et masquer la difficulté mais on ne peux pas optimisé une fonction ouverte aux différentes éventualités (d'où le fait que la team arduino utilise des tableaux de correspondance pin<-> n°) .

En php les appels de fonctions "de base" de la libc sont appelé telle quelle, donc aucune forme de masquage à ce niveau.
Pour ce qui est des fonctions "toute prête" elle sont conçu par Zend, autant dire que niveau optimisation c'est autre chose que la team arduino :wink:
(Et puis vu le nombre de barbus et de sociétés qui injecte du fric dans PHP l'optimisation à l'heure du web 2.0 ça turbine !)

osaka:
Et le plus important à mes yeux c'est le typage dynamique de php, comment avoir quelque chose d'optimisé si tu ne peux pas savoir ou définir les type de variable à traiter ... (c'est pour celà que je ne suis pas un grand fan de python non plus)

Depuis PHP 5.4 le typage stricte est possible, tu peut donc faire des programmes / fonctions avec des types prédéfini en dure.
Mais même en typage dynamique, la machine virtuelle de PHP optimise tellement les choses que souvent elle pré-détermine le type des variables.

osaka:
D'un autre côté je ne peux pas trop critiqué les performances vu que ma préférence va vers java :*, enfin là c'est juste que je privilégie le côté objet stricte.

... Oui là tu peut pas critiquer effectivement :grin:
PHP n'as pas besoin de 512Mo pour faire son job hein :grin:

osaka:
+++ c'est pas ce que j'appel naturel et simple. :grin:

Franchement, naturel certes pas trop, mais simple ... faire un programme poussé en PHP c'est "finger in the noise", débuggage en (quasi) temps réel avec Xdebug, fonctions toute prête pour beaucoup de chose (compression zip, bzip, manipulation d'image, etc ...), ...

osaka:
Les lib et extensions on ne peux pas y échapper quelque soit le langage tout dépend du besoin que ce soit en php ou c/c++.

Oui mais en PHP t'as pas besoin d'include c'est le moteur PHP qui gère la listes des fonctions :grin:

osaka:
Ici le principale problème était qu'un simple 0 te clôturait le socket ... l'échange simple de données binaire s'en est retrouvé compromise pour mon projet, encore une fois dans mon cas ça m'a tellement saoulé que j'ai pas cherché plus loin. :sweat_smile:

Faut dire que je cherchai un peu la merde en utilisant les fonctions pour envoyer des chaines de caractéres ASCIIZ (le Z à la fin c'est pas pour rien) :wink:
En utilisant les fonctions de transfert binaire par buffer (genre socket_write) quelque chose me dit que ça marcherai beaucoup mieux :wink:
(C'est dingue le nombre de trucs/conneries/astuces que j'ai pu comprendre en une année d'IUT ...)

osaka:
Enfin au final c'est comme pour tout langage, tout dépend de ses préférences et affinités (que je n'ai pas avec php on l'auras remarqué :grin: ).

Et moi j'aime pas les gens qui aime pas POSIX et qui préfère java à PHP (en plus, ralala) :grin: