Arduino n'est pas un langage, c'est le C++

Bonsoir J-M-L

Ca c'est des phrases "bateau", qui ne veulent pas dire grand chose et qui s'adressent aussi à un programme "bien" écrit.
Je vais m'arrêter là et m'en remettrai au feedback de ceux qui utilisent ce que je propose comme solution, donc des amateurs comme moi.

Je n'ai pas de bouteille comme tu dis, je n'ai jamais fait de C, je trouvais ça trop compliqué, je n'ai fait que de l'Arduino, concept qui a nettement popularisé la chose.

Bonne soirée
Cordialement
jpbbricole

ça fait des années que vous jouez avec les Arduino, et vous faites des choses complexes et plutôt bien. Donc vous avez de la bouteille... Je ne sais pas pourquoi vous faites un blocage sur certaines choses ou que vous prenez parfois des commentaires constructifs sur le code comme des critiques personnelles (cf discussion avec d'autres membres).

je n'ai jamais fait de C, je trouvais ça trop compliqué, je n'ai fait que de l'Arduino

ça me fait penser à ... Je suis comme M. Jourdain, je fais de la prose sans le savoir... Vous faites du C++ sans le savoir alors...

bref. vous faites comme vous voulez bien sûr. On a assez pollué ce fil...

Le langage ARDUINO n'existe pas. C'est du C / C++, point final.

Il me semble aussi, mais on dirait que c'est sans espoir :roll_eyes:

Bonsoir hbachetti

Le langage de programmation Arduino peut être divisé en trois parties principales: structures, valeurs (variables et constantes), et fonctions.
,
En effet, c'est sans espoir.

Comme l'a dit @J-M-L, on a assez pollué ce fil.
Si tu veux continuer à en discuter, ouvre un nouveau sujet.

Cordialement
jpbbricole

Comme le langage C / C++. Il n'y a aucune différence.

Le problème est que tu fournis, généreusement il faut l'avouer, du code susceptible de planter à tout moment par méconnaissance profonde de ce qu'est l'allocation dynamique (le tas), et qu'un débutant ne saura pas s'en dépatouiller en cas de problème de fragmentation mémoire.

Sujet déjà ouvert depuis longtemps (févier 2020) :

C'est comme le Port-salut , c'est écrit dessus !

donc comme la doc que vous avez pointé l'indique, le code Arduino c'est du C++

Bonsoir J-M-L

Je ne l'ai jamais contesté, ce que je conteste c'est la négation que Arduino est un langage.
C'est ce type d'énormité que je conteste

Surtout le point final.

Expliqué avec mes mots: l'équipe Arduino a ajouté une "couche" par dessus le C pour le rendre plus "digeste" donc, pour moi peut revendiquer le titre de langage. C'est cet ajout + des cartes "toutes faites" qui fait la popularité du concept et qui permet de développer "sur le coin de la table".

Cordialement
jpbbricole

Non il n'y a pas de surcouche, ni de langage spécifique uniquement des librairies pour simplifier la tâche des débutants. Et un outil qui permet de ne pas devoir déclarer les prototypes des fonctions. Mais on écrit toujours du C/C++.

Maintenant, on va arrêter ces gamineries par que cela devient franchement saoulant ces affrontements de cour d'école qui se poursuivent de fils de discussion en fils de discussion.
C'est un forum d'entraide et pas une cour de récréation de mômes de 5 ans.

déplacé dans le bar.

:wink:

Dit avec mes mots:

L'équipe Arduino a développé un IDE qui permet de gérer simplement le processus de compilation du C++ pour les cartes qu'ils fabriquent (et quelques autres).
Ils fournissent aussi des bibliothèques de fonctions C++ et de classes C++ qui simplifient l'accès au matériel pour éviter que les débutants et créatifs aient à se pencher sur les mystères des registres et gestion d'horloge et autres joyeusetés.

Leur IDE ou des bibliothèques, ça ne fait pas partie du langage. ce sont des outils mis à disposition.

Quand vous écrivez un code pour Arduino, vous programmez en C++, vous appelez le compilateur C++ et vous utilisez leur couche d'abstraction du matériel (qui est aussi du C++).

Le point final est donc tout a fait justifié. le langage c'est le C++, comme dit dans leur documentation.

Trouvez un autre mot que "langage", il n'est pas adapté à ce que vous voulez exprimer — qui est si je le comprends bien que vous vous interdisez de réfléchir à ce que vous faites ou d'envisager qu'il y ait des bugs ou limitations dans les outils fournis par Arduino et que vous vous refusez à prendre une alternative viable à base d'autres bibliothèques standard ou autres techniques bien établies par l'industrie dont Arduino fait partie... En gros, vous refusez d'apprendre et d'ouvrir votre horizon sur la base de "faut surtout pas sortir du cadre"... et ce faisant vous faites passez des mauvaises pratiques à des débutants, ce qui est le point le plus ennuyeux pour moi (si vous souhaitez conserver des bugs dans vos codes, libre à vous, mais ici c'est lu et relu par de nombreux participants, donc c'est normal de ne pas laisser passer des soucis potentiels).

Une simple surcouche d'aide à la compilation, et rien de plus, en aucun cas une surcouche du langage.
Je pense que tout est dit.

Moi aussi.
Ce genre de discussion est pénible surtout quand une personne veut absolument avoir raison devant toutes les autres alors que certaines sont, je ne pense pas me tromper, des grosses, et même de très grosses pointures en langage C/C++.
Même moi, qui dans ce domaine du C n'a que de très petites connaissances j'arrive à faire la différence entre ce qui relève du langage et ce qui relève des bibliothèques de fonctions ou de classes.
Je ne me laisse pas abusé par un Banzi à l'ego démesuré qui finalement n'a fait que copier ou voler le travail de son étudiant Ernesto Baragan, concepteur de Wiring. Comme le prouve le grand nombre de fichiers "du faux langage arduino " dont le nom commence par wiring ou par un w.

C'est lassant, je propose que notre modérateur verrouille le sujet.

je l'ai déplacé dans le bar, donc on peut avoir une discussion de comptoir....

L'avantage du nouveau forum c'est que vous pouvez vous désinscrire des notifications de ce fil.

Il est regrettable de voir ce forum s'enfoncer dans le bas de gamme à cause d'un guignol qui persiste à croire qu'il a la science infuse grâce à quelques bricolages réalisés sur un coin de table, au mépris de toute connaissance informatique sérieuse, et qui se permet de contester l'avis de certaines "pointures" (comme dit 68tjs) qui ont probablement des dizaines d'années d'expérience derrière eux en tant que professionnel.
Pour ma part j'ai d'autres occupations bien plus intéressantes que de me chicorner en permanence avec un amateur

Oui enfin là tu t'emballes, il n'y a pas de vol Wiring est open source.

The Wiring Language (API), the Reference for the Language, the Hardware, and the Environment are under a Creative Commons license which makes it possible to re-use this content for non-commercial purposes if it is credited.
Copyright \ Wiring

Bonjour
Navré de provoquer, une fois de plus une polémique.
Ma démarche tend a vouloir me "satisfaire" de ce que m'offre le concept Arduino. On peut appeler ça un manque d'ambition, voire de la médiocrité, mais j'assume et ne sent nullement seul dans ce cas. Les gens à qui j'ai donné de mes productions n'ont pas l'air trop déçus.

Je m'obstine à utiliser la classe String, entre autre, parce que c'est pratique, ça facilite les choses.
J'ai lu et pas toujours compris pourquoi il ne fallait pas, mais je n'ai jamais eu de programmes qui plantent à cause de ça et n'ai croisé personne dans ce cas. Les seuls arguments que j'ai eu sont ça peut, peut-être, on sait pas quand etc. J'aimerai bien pour ma connaissance, que l'on me donne un programme qui parce qu'il est écrit en Arduino, provoque une erreur, voire un plantage .
Je suis comme ça, j'aime bien comprendre en "touchant" le problème.

Môsieur @hbachetti le guignol te salue!
Tout dans l'élégance, tout dans le style....

Je ne savait pas que j'avais cette "puissance", enfoncer le forum! Par contre, avec toi, il va plus du côté de Germinal que de la guerre des étoiles!

Du haut de ta suffisante, voire de ton arrogance, tu n'a pas l'air de te rendre compte que les bricoleur "du coin de la table" comme les amateurs (je fais partie des 2) que tu as l'air de mépriser, sont la majorité des gens qui viennent demander aides et conseils sur ce forum.

Pour ce qui est du quizz sur la profession que le guignol a pu éventuellement pratiquer (tiens il a disparu!), Ceux qui on pu lire cette liste de @hbachetti et qui par hasard en font partie voient le mépris que tu as des "petites gens".

Je vais répondre à ton interrogation:
Le guignol a été réparateur en machines à écrire, grutier, machiniste sur camion grue, 10 ans dans les télécommunications électromécaniques, 25 ans dans les réseaux de données comme X25, Internet, téléphonie IP, réseaux d'entreprises et suis titulaire d'un CCNA Cisco et je fais des programme depuis environ 45 ans.
Tu vois, tu n'avais rien de juste, tu ne viendra pas en 2ème semaine, tu est juste pathétique.

Cordialement
jpbbricole

Non je ne m'embale pas, open source ne signifie pas avoir tous les droit : voir la réponse de Baragan lors des affrontements Banzi Musso. Baragan explique très clairement que le fork, légal, était agressif.
Et c'est quand même Banzi qui a tout fait pour semer la confusion afin que l'on prenne les bibliothèques Wiring/Arduino comme un langage.
Je n'arrive plus a comprendre son rôle dans la société arduino, il devient étonament très silencieux, et les dirigeants d'ARM se succèdent aux postes d'administrateurs.

En cherchant vous retrouverez des demandes d’utilisateurs dont le programme était instable dans le temps et où virer la classe String a résolu le problème. Vous trouverez aussi nombre de discussion sur ESP (don’t certaines bibliothèques utilisent abondamment la classe String) ou il est proposé un mécanisme qui fait rebooter tous les jours l’ESP pour éviter les crash.

Adafruit et Sparkfun recommandent aux développeurs de bibliothèques de ne pas utiliser cette classe sans comprendre finement les conséquences tout comme les développeurs chevronnés qui participent sur les différents forum.

On vous a donné des liens, expliqué ce qu’il se passait en dessous mais vous ne lisez sans doute pas… ou faites semblant de ne pas comprendre.

Oui c’est simplificateur quand on ne veut pas se pencher sur les cString, que pour un petit bout de code court qui ne va pas tourner longtemps ce n’est pas un souci généralement mais c’est une très mauvaise habitude à donner aux débutants (notamment par exemple quand vous l’utilisez parce que vous avez la flemme de faire deux print séparés).

Il en va de même pour votre obstination à ne pas mettre le break dans votre code de réception série alors que c’est une source potentielle de bug clairement. Mais vous n’envoyez pas de commandes rapidement donc vous n’avez jamais vu le bug donc pour vous c’est ok… mais non, pas quand on partage un code à vocation générale ou pédagogique… on essaie d’être le plus propre possible.

Bonjour,

Moi aussi ça fait 45 ans que je programme et si ça m'a apprit une chose c'est que si ça peut planter, ça va planter.

J'ai toujours du mal à comprendre ce raisonnement: Pourquoi faire les choses bien alors qu'en faisant n'importe quoi ça arrive à marcher marchotter?