Je vais pas sortir la blague de l'éditeur de l'éditeur qui crache le code tout seul (tiens on pourrait, ya une news sur un nouveau méta-truc, Acceleo), mais imaginer un rêve pragmatique.
Ayant récemment changé de taf, et travaillant maintenant avec des collègues réèlement compétent, je découvre tout ce qu'Eclipse a dans le ventre, et c'est vrai que l'on peut automatiser pas mal de choses, à condition d'aimer les interfaces à la clicodrome+Emacs qui oblige à se tordre les doigts avec des control+alt+shift+backspace+fin/whatever (c'est ce que j'aime pas dans Emacs).
Faut avouer que c'est puissant comme outil.
- Il y a plein de chose qu'un éditeur pourrait deviner avec une bonne IA, dans une logique "je détecte un comportement répétitif, je propose de le généraliser". Typiquement, les comportement primitif du genre "l'utilisateur tappe à partir de
boolean b1,b2,b3,b4;
un test comme suit :
if (b1) {
} else if (b2) {
}
L'IDE me proposerai de généraliser l'écriture
La plupart du temps, quand c'est vraiment trop lent à le faire à la main,je sort un script perl.
- Un système permettant de poser des contrats et trouver des contre exemples, comme dans Esterel...
On en a pas mal discuté, mais vu les difficultés, il faudra longtemps avant que l'on en dispose pour Lisaac.
- C'est plus un problème de langage, mais pouvoir rejouer un morceaux de programme,dans les mêmes conditions, après 1 heure de calcul, ça serait génial.
Il parait que c'est possible en caml, mais c'est son approche fonctionnel qui le permet surement. Quoique certaines implémentations de smalltalk le fond aussi.
Cela dit, dans certains cas, enregistrer l'état de la mémoire du programme répondrai peut être au problème, mais bonjour l'explosio, de la consommation.
- Pouvoir mettre un scope sur une variable, plus exactement d'avoir un historique de ses états successifs, et un pointeur vers la ligne où elle a été modifiée. C'est un peu un concept de programmation orienté aspect, mais en c'est parfaitement implémentable en debug.
Avec un système de regexp permettant un filtrage, pour ne pas se coltiner une liste trop longue de modifications.
- Poser des questions
Lorsqu'on débug, c'est surtout trouver le petit bug qui ennuie tout le monde qui pose problème.
Un système de requêtage serait génial, il permettrait de demander quel branches de code peuvent impliquer que telle collection a été vidée. Quel est la relation entre telle ou telle variable. Ce dernier point permettrait de détecter que deux listes différentes contiennent des éléments identiques au niveau référence (même pointeurs) et que modifier l'élément dans une le modifie dans l'autre.
- Visualiser un graphe d'appel en 3D
Mes deux centimes.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
# Puisqu'on à le droit de rêver...
Posté par Ontologia (site web personnel) . En réponse au journal Qu'est-ce qu'un outils de développement de rève ?. Évalué à 4.
Ayant récemment changé de taf, et travaillant maintenant avec des collègues réèlement compétent, je découvre tout ce qu'Eclipse a dans le ventre, et c'est vrai que l'on peut automatiser pas mal de choses, à condition d'aimer les interfaces à la clicodrome+Emacs qui oblige à se tordre les doigts avec des control+alt+shift+backspace+fin/whatever (c'est ce que j'aime pas dans Emacs).
Faut avouer que c'est puissant comme outil.
- Il y a plein de chose qu'un éditeur pourrait deviner avec une bonne IA, dans une logique "je détecte un comportement répétitif, je propose de le généraliser". Typiquement, les comportement primitif du genre "l'utilisateur tappe à partir de
boolean b1,b2,b3,b4;
un test comme suit :
if (b1) {
} else if (b2) {
}
L'IDE me proposerai de généraliser l'écriture
La plupart du temps, quand c'est vraiment trop lent à le faire à la main,je sort un script perl.
- Un système permettant de poser des contrats et trouver des contre exemples, comme dans Esterel...
On en a pas mal discuté, mais vu les difficultés, il faudra longtemps avant que l'on en dispose pour Lisaac.
- C'est plus un problème de langage, mais pouvoir rejouer un morceaux de programme,dans les mêmes conditions, après 1 heure de calcul, ça serait génial.
Il parait que c'est possible en caml, mais c'est son approche fonctionnel qui le permet surement. Quoique certaines implémentations de smalltalk le fond aussi.
Cela dit, dans certains cas, enregistrer l'état de la mémoire du programme répondrai peut être au problème, mais bonjour l'explosio, de la consommation.
- Pouvoir mettre un scope sur une variable, plus exactement d'avoir un historique de ses états successifs, et un pointeur vers la ligne où elle a été modifiée. C'est un peu un concept de programmation orienté aspect, mais en c'est parfaitement implémentable en debug.
Avec un système de regexp permettant un filtrage, pour ne pas se coltiner une liste trop longue de modifications.
- Poser des questions
Lorsqu'on débug, c'est surtout trouver le petit bug qui ennuie tout le monde qui pose problème.
Un système de requêtage serait génial, il permettrait de demander quel branches de code peuvent impliquer que telle collection a été vidée. Quel est la relation entre telle ou telle variable. Ce dernier point permettrait de détecter que deux listes différentes contiennent des éléments identiques au niveau référence (même pointeurs) et que modifier l'élément dans une le modifie dans l'autre.
- Visualiser un graphe d'appel en 3D
Mes deux centimes.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker