Idée de concours : Optimisation de code

Salut

En lisant un post sur ce forum et plus précisément un débat sur le choix de tel ou tel type variable, j'ai eu une idée (ça m'arrive ...).

Pourquoi ne pas organiser un pseudo concours sans prise de tête où le but serait d'optimiser au mieux le code afin de le rendre le plus "léger" possible !

Il y aurait un "sujet" défini au départ : un truc relativement "simple" et accessible au plus grand nombre .

Cela permettrait aux membres de voir plusieurs façons de faire ...

Un exemple de sujet qui pourrait servir de premier test :
*A l'aide d'une carte Arduino, afficher la température d'une sonde DS18B20 toutes les 5 seconds dans le moniteur série"

Interessant ou non ?

Ce genre de truc peut vite partir en vrille tu sais :smiling_imp: .
Déjà rien que pour se mettre d'accord sur ce que recouvre l'idée d'optimisation du code.

Je pensais plus à de la chasse aux octets superflus :wink: !

fdufnews:
Ce genre de truc peut vite partir en vrille tu sais :smiling_imp: .
Déjà rien que pour se mettre d'accord sur ce que recouvre l'idée d'optimisation du code.

:grin:

+1 avec toi

L'important est toujours de savoir/apprécier l'entrée dans une vrille et de savoir/pouvoir en sortir 8)

fdufnews:
Ce genre de truc peut vite partir en vrille tu sais :smiling_imp: .
Déjà rien que pour se mettre d'accord sur ce que recouvre l'idée d'optimisation du code.

Déclarer un int pour y stocker le numéro d'une broche c'est un bon début.

je sors

Moi je trouve que c'est une bonne idée. Je suis conscient de mes limites en programmation : le C à peu près OK, mais le C++ m'est totalement étranger. Je n'ai pas le temps ni la possibilité de prendre des cours de programmation objet. Apprendre sur un sujet sur lequel je me serais déjà posé des questions me semble un bon moyen de progresser, alors qu'aider des personnes qui ont un niveau plus faible que le mien ne me permettra guère de m'améliorer.

lesept:
Moi je trouve que c'est une bonne idée. Je suis conscient de mes limites en programmation : le C à peu près OK, mais le C++ m'est totalement étranger. Je n'ai pas le temps ni la possibilité de prendre des cours de programmation objet. Apprendre sur un sujet sur lequel je me serais déjà posé des questions me semble un bon moyen de progresser, alors qu'aider des personnes qui ont un niveau plus faible que le mien ne me permettra guère de m'améliorer.

C'est aussi le but recherché .
Confronter les idées de chacun afin que tout le monde progresse/apprenne ...

On peut toujours faire un test si ça vous tente , si c'est un flop car trop "bordélique" ou autre ...tanpis on aura essayé ..

A l'aide d'une carte Arduino, afficher la température d'une sonde DS18B20 toutes les 5 seconds dans le moniteur série

Le possibilités d'optimisation sont pratiquement inexistantes dans un cas aussi simple.

@+

Ajoutez le stockage et l'affichage des valeurs sur un serveur, voire un peu de traitement

hbachetti:
Le possibilités d'optimisation sont pratiquement inexistantes dans un cas aussi simple.

@+

Même en utilisant différentes librairies ?

BrUnO14200:
Même en utilisant différentes librairies ?

:grin:

Pour faire un choix entre les # lib , il faut regarder comment chacune est.. optimisée 8)

Artouste:
:grin:

Pour faire un choix entre les # lib , il faut regarder comment chacune est.. optimisée 8)

D'où ma proposition de concours ... :smiley: !

Même en utilisant différentes librairies ?

Y compris sans librairie en utilisant directement Wire/I2C. Trop simple.

Je propose un nouveau tuto en annexe du concours :

Comment mettre le feu au forum.....

:grin:

Du moment qu'il n'y a pas de prosélytisme pourquoi pas s'il y a des volontaires.
Mais pourquoi s’arrêter au seul logiciel ?
L'optimisation du microcontrôleur est au minimum aussi importante.

De plus pour tout concours il faut un jury ... impartial.

:smiling_imp:

Mon idée de base était de comparer la taille de ...nos programmes :smiley: .

C'était le seul critère "objectif" à mon sens ..

Le but était aussi de proposer une autre façon d'apprendre que les éternels copies de tutos ...

C'était le seul critère "objectif" à mon sens ..

Pas vraiment d'accord. Privilégier la taille au détriment de la lisibilité n'est pas une solution.
Cela conduit généralement à du code du genre gros pâté monolithique.

+1 avec hbachetti... la maintenabilité du code et le respect des types par exemple sont 2 points importants qu’un hack qui fonctionne aujourd’hui est un bug difficile à trouver demain...

Cf bug de l’an 2000 parce qu’on avait voulu économiser 2 octets par date (et pris une représentation ascii)

Cf le bug d’un booléen b auquel on pouvait faire b++ par le passé pour le faire alterner entre true et false

Cf du code en assembleur qui vous laisse coincé dans le passé

La taille de n’est pas tout....

J-M-L:
La taille de n’est pas tout....

Oui, l'important c'est la manière de s'en servir, d'où l'idée initiale...

Peut-être le mot de "concours" était-il mal choisi, car il laisse penser à une comparaison, voire une récompense. Je ne pense pas que c'était inclus dans son idée.