Discussion pro vs amateur

des exemples (ici sur le forum c'est encore mieux) ?

Non, c'est là ou tu te trompe.
Vscode et je suppose Xcode, ne fait pas partie de l'environnement de développement (Framework).
Le Framework n'est pas non plus constitué majoritairement de bibliothèque, il y aussi un logiciel au moins aussi important qui est le compilateur et le logiciel de transfert pour ESP32, pour un Arduino officiel, je ne sais plus si le transfert par sur le port série est effectué directement ou par un logiciel dédié.

Après cela n'empêche pas que pour toi, cela puisse être être différent, mais la définition est bien plus large.
D'ailleurs si on considère que majoritairement les bibliothèques, du coup ce n'est plus vraiment un framwork :slight_smile:

Oui, c'est bien qu'il est un bar, pour discuter de ce qui n'a finalement pas vraiment d'importance :slight_smile:

[mod provoque ON] je dois l'être plus que toi, moi qui considère que la lecture, ralentit ton cerveau et donc est contre :slight_smile: [mode OFF]
C'est quoi qu'il la choque ?
Je ne connais pas vraiment les deux, mais il me semble que c'est les deux écrivains de théâtre les plus connus, je ne sais pas si on peut du coup comparer Shakespeare à des écrivains dans d'autre domaine ?

Je partage aussi ce ressentiment :slight_smile:

On est d'accord, Xcode ou vscode ne sont pas dans le framework.
➜ le compilateur ne fait pas partie du framework pour moi.
➜ le logiciel de transfert (pySerial ou esptool par exemple) non plus

Après cela n'empêche pas que pour toi, cela puisse être être différent, mais la définition est bien plus large.

Pour moi un framework informatique offre un cadre de travail, un ensemble de bibliothèques et de conventions et éventuellement d'outils spécifiques pour structurer et simplifier le développement d'applications.

Dans le contexte du framework Arduino, il n'y a pas vraiment d'outils au sens traditionnel du terme inclus directement dans le framework. Le framework Arduino est principalement constitué de code, comme des bibliothèques et des fonctions, qui fournissent des abstractions pour faciliter le développement.

Je veux bien qu'il y ait un débat sur l'IDE car il permet à l'approche setup() + loop() de fonctionner par le biais de génération de code qui injecte le main() et crée les prototypes de fonctions. Mais en général un IDE est environnement général pour écrire, compiler et déboguer du code, qui peut être utilisé avec divers langages de programmation et frameworks. Il fournit des fonctionnalités telles que l'édition de code, le débogage, et la gestion de projets, mais il n'est pas spécifique à un framework particulier.

Les véritables outils externes, comme les compilateurs ou outils de chargement de code ne sont pas inclus dans le framework mais sont des applications complémentaires qui aident à utiliser ce framework. Le framework lui-même est axé sur les éléments de code et les conventions de programmation, plutôt que sur des outils matériels ou logiciels distincts.

De manière plus générale, un framework peut inclure des outils logiciels spécifiques, comme des générateurs de code ou outils de test qui sont intégrés au framework pour automatiser des tâches spécifiques et faciliter le développement.

Personnellement je ne connais aucun IDE qui correspond à cette définition.

@68tjs La traduction française retenue pour framework est cadriciel pour cadre logiciel mais j'ignore si ce terme est encore officiellement reconnu.

Eclipse prend en charge de nombreux langages grâce à divers plugins, notamment Java, C/C++, Python, PHP, JavaScript, et quelques autres...

Xcode permet de compiler et debugger des langages comme Swift, Objective-C, C, ou C++ par exemple (spécifique au monde apple).

On peut rajouter Visual studio(le version pro) et Visual code.
On peut d'ailleurs presque pousser à dire qu'il n'y plus vraiment D'IDE restrictif à un langage et un compilateur/débuggeur et que les IDE modernes sont développer pour être justement indépendant de la chaine de compilation.

Oui, c'est une vision assez courante, mais comme l'indique @le_viking cela est plus restreint par rapport à la définition de cadre logiciel ou environnement de développement.
Mais du coup la différence entre Framework et bibliothèque est assez fine.

En discutant avec mon amis ChatGPT, il classe Arduino dans les framework avec toute fois quelque bémol.
Par contre autant Angular est pour lui un framework, mais pas React :slight_smile:

Pas vraiment — un framework comprend un ensemble de bibliothèques (pas qu'une) et surtout des conventions de programmation pour structurer les projets autour de ces bibliothèques.

Je n'ai jamais rencontré cadriciel (mon correcteur orthographique me le souligne comme étant erroné d'ailleurs) mais ce ne serait pas surprenant que cela ait été créé comme courriel, pourriel ou en dehors de l'informatique comme divulgâcher (que je n'ai pas vu très souvent non plus)... Pourquoi inventer un mot qui sonne français mais qui n'existe pas quand on peut adopter (comme on l'a fait pour 1000 autres choses) des mots d'une autre langue pizza, kiosk, sushi, tsunami, brunch, ...

C'est quoi un ensemble de bibliothèque une médiathèque ? :slight_smile:
Du coup la différence n'est quand même pas énorme, puisqu'une bibliothèque étant déjà un regroupement de fichier source facilitant de développement de logiciel et que donc on a un ensemble de regroupement de fichier source et de conventions de programmations.

C'est un autre débat, sur l'uniformisation des langages vers celle dominante. La France par rapport au Quebec est bien moins intransigeante.

Après tu notera que je n'ai pas repris ce mot que je ne connaissais pas, mais plus le sens qu'il y avait derrière.

LOL

non un framework si elles font partie d'un tout cohérent avec des conventions de programmation :slight_smile:

Tu as l'air d'avoir raison car cadriciel nous arrive tout droit du Québec car c'est la traduction de l'office québécois de la langue française pour framework. J'ai souvenir que Airbus comme Air France nous interdisait le terme déboguer pour debug recommandé officiellement mais pas reconnu officiellement (à remplacer par déverminage). Il faut bien occuper les près de 6 millions de fonctionnaires.

Je ne connais pas la version pro visual studio mais Visual code et il n'est absolument pas un IDE général il est multiplateforme et multi langage mais ne gère aucun embarqué

Ba si Arduino, Via PlatformIO, Arduino, ESP32, ARM mbed, Atmel AVR.
C'est bien de l'embarqué ?
Il est donc Multiplateforme à l'exécution et la génération, ainsi que multi Langage, difficile de faire plus généraliste ?

Non, PlateformIo est un IDE plutôt spécialisé embarqué qui n'a pas d'éditeur de texte, c'est la raison pour laquelle il est souvent associé à VSCode. Mais ce n'est pas VSCode qui supporte l'embarqué

Je crois que tu fais référence aux EDI propriétaires des fabricants de microcontrôleurs qui ne peuvent gérer qu'une marque de microcontrôleurs. Ce sont des cas particuliers.

Des EDI comme Arduino 2 et VsCode sont des EDI non spécialisés qui peuvent, librement, recevoir des plug-ins.

Pour moi un EDI agrège dans une interface graphique des programmes qui autrement ne pourraient s'exécuter qu'en ligne de commande dans un terminal, ainsi que des bibliothèques.
La question est : quels sont ces programmes et bibliothèques ?

J'ai lu, et je veux bien le croire, qu'il existe toujours des pros qui refusent les EDIs et qui préfèrent écrire un fichier texte (bash linux ou batch windows) pour obtenir une configuration "aux petits oignons".
Je n'ai pas compris les configurateurs de Gcc. Je me dis deux choses : s'il y a tant de possibilités, c'est qu'il y a une raison et nous sommes complètement tributaires des choix "secrets" faits par les responsables de l'EDI. Des fois quand il manque un peu de mémoire, peut-être qu'en acceptant un code un plus lent il y aurait un peu plus de place.

Ce qui fait la force d'un EDI moderne, c'est son aptitude à recevoir des fonctions supplémentaires écrite par des utilisateurs.
C'est ce qui actuellement fait la force d'Eclipse avec son descendant Theia.
Au premier regard qui pourrait dire qu'Arduino 2 et VsCode sont basées sur Theia ?

PlateformIO n'est pas un EDI, l'EDI c'est Vscode.

PlatformIO est un plugin à Vscode.
PlatformIO complète Vscode.
PlatformIO utilise les plugins C et C++ de Vscode, que ce soit en éditeur ou en compilateur.

Les EDI modernes sont modulables.
Ils ne font pas tout et ils accueillent volontiers ceux qui veulent les compléter.

Il y a plus de 10 ans j'ai voulu voir ce qu'un EDI comme Eclipse faisait.
Je suis venu, j'ai vu, ............ , je n'ai pas du tout vaincu,

Mais j'ai appris des choses intéressantes comme la notion de liba.

Eclipse vient sans compilateur.
À l'installation, au moins sous Linux, il recherche les compilateurs disponibles sur le PC.

J'avais suivi un tuto sur le net, malheureusement hors ligne depuis, et j'ai remarqué qu'avec :

  • les configurateurs du tuto
  • la version de Gcc sur mon PC, plus à jour que celle de l'IDE arduino

J'obtenais un binaire plus petit et l'exécution de digitalWrite sur une nano prenait légèrement moins de cycle horloge.

J'en avais assez vu, devant la complexité de la doc de GCC, j'ai laissé tomber.

Non, c'est un ide à part entière il fonctionne avec d'autres support comme atom qui est un simple éditeur de texte aujourd'hui plus ou moins abandonné.

Eclipse est beaucoup utilisé par les pros mais pas facile à mettre en œuvre donc peu utilisé par les amateurs.
Les pros utilisent AVRStudio ou cube pour deux raisons. La première est le support constructeur sans l'utilisation de l'IDE constructeur pas de support avec une petite exception avec IAR pour Atmel et la deuxième est la relation avec la librairie constructeur car ils préfèrent, pour des raisons évidentes, utiliser directement les registres.

Le terme IDE (environnement de développement intégré) désigne un ensemble d'outils réunis pour faciliter le développement logiciel, généralement comprenant un éditeur de code, un compilateur, un débogueur, et des outils de gestion de projet.

Dans le cas de PlatformIO, il ne fournit pas son propre éditeur de code mais il intègre tous les autres outils essentiels ( la gestion des bibliothèques, la compilation croisée, le débogage, et le flashage des microcontrôleurs).

Lorsqu'il est utilisé avec un éditeur de code comme Visual Studio Code, Atom, SublimeText, PlatformIO transforme cet éditeur en un véritable IDE en ajoutant toutes ces fonctionnalités supplémentaires.

C'est pourquoi, bien qu'il dépende d'un éditeur de code externe, PlatformIO est souvent décrit comme un IDE, car il fournit tout ce dont un développeur embarqué a besoin au-delà de l'édition de code (➜ PlatformIO fournit un outil en ligne de commande qui permet de réaliser toutes les tâches essentielles sans dépendre d’un éditeur de texte particulier).

Mais si on s’en tient à la notion du I de intégré dans IDE, la non disponibilité de l’éditeur dans le « package » en fait un IDE incomplet et on peut aussi dire que c’est un plug-in de l’éditeur qui fait du tout un IDE…

Effectivement si tu supprime l'éditeur et ses fonctionnalité et intégration de toutes la chaine de compilation de l'IDE, alors il ne reste que le framework Arduino au sens ou @J-M-L l'utilise.
Dans lequel ou on pourrait même sortie la chaine de compilation.

Ba non, tu ne peux dire que platformeIO est un IDE car c'est lui qui supporte l'environnement de développement et que VScode l'est aussi.

Oui et non, c'est difficilement comparable et en générale maintenant on utilise les deux.
Je n'utilise pas Eclipse, mais Visual studio qui est très équivalent pour gérer tout mes projets, j'utilise Vscode pour afficher les logs, fichier de configuration et petit script.
Je n'utilise jamais VSCode pour compiler.

Donc on pourrait presque schématiser par il y a un plus dédié au Pro(Eclipse) et un dédié au amateur(VScode),
Même si au final je pense qu'il a plus de Pro qui ont VScode d'installé sur leur machine, qu'Eclipse :slight_smile:

Si je peux me permettre je rajouterais quelque chose comme et paraphraserais @68tjs :

en fait un IDE "moderne" incomplet.

Je suis moins vieux que certains, mais il me semble que l'on a parlé d'IDE à partir du moment ou fut constitué des logiciels intégrant tout le nécessaire pour développer, il me semble qu'un éditeur de texte est quand même le premier à avoir ?
Par exemple à l'époque un emacs ou notepad++ plus la chaine de compilation ne constitue par un IDE, alors que Visual studio, Delphi, ..., oui.

Je suppose que vous ne mettez pas l'OS dans les pré-requis.

L'OS contient souvent un éditeur de texte (ne serait que vi, emacs, ... par exemple sur Mac/Linux) et donc avec le reste de la CLI fournie par platformIO vous avez tout ce qu'il faut sans rajouter un produit tiers.

Il faut que tu préviennes platformIO de changer leur page d'accueil

PlatformIO IDE

A new generation toolset for embedded C/C++ development

:smiley:

Non je ne le mets effectivement pas dedans, enfin disons que c'est tellement évident que je le cite pas.

Oui platformeIO à tous ce qu'il faut pour concevoir un logiciel, mais ce n'est pas le sens de mes propos.
Je n'ai d'ailleurs jamais dit qu'il fallait un IDE pour développer un logiciel ?

Ou arrêter de croire tout ce que dit le marketing, je vais peut être te choquer, mais les déodorants ne permette pas de faire de toi un donjuan :rofl:

Pour contre tu pourra noter que les propos que tu as cité, ne disait pas que platformeIO n'est pas un IDE, mais que si c'est le cas, alors VSCode n'en n'est pas un.
Tu n'aurais pas fait un peu de marketing, pour utiliser des ficelles aussi voyante pour ne pas répondre directement à l'argument :wink: ?