[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Développement coopératif avec cweb ?



Bon, ce n'est pas spécifique à Debian, mais cela va être utilisé pour des
développements pour Debian.

J'ai quelques projets de développements, en partie pour l'installation de la
distrib, et j'ai besoin/envie de faire les choses correctement. L'un des
projets consiste à développer un calcul des dépendances des paquets de
manière, je crois, plus efficace que ce qui est fait actuellement, et
permettant en plus d'obtenir sur un client aux capacités limités un
programme d'installation simplifié.

L'algorithme en vue nécessite d'être bien expliqué. Il est donc plus
efficace, plus simple et finalement plus plaisant de développer
l'explication et la programmation (en C) en parallèle, et l'utilisation de
la « programmation lettrée », c'est-à-dire cweb semble la voie la plus
indiquée.

Problèmes:

1) Les tentatives d'interventions sur les programmes écrits de cette manière
(typiquement les extensions de TeX, comme par exemple Omega) semblent à
première vue difficiles, et il n'est pas certain que le travail collaboratif
soit très simple dans ce cas.
	Bémol: TeX est spécial dans le sens où Knuth a interdit qu'on modifie
	directement le source si on veut continuer à l'appeler TeX; ce qui
	impose les .ch ; deuxièmement, TeX et METAFONT sont écrits en Pascal via
	web, et le Pascal n'est pas vraiment la tasse de thé de grand monde.

2) Je ne connais pas de projet un peu large qui soit parti sur ces bases,
principalement d'ailleurs parce que peu connaissent web/cweb.

Avantages:

1) La documentation est faite en même temps que la programmation.

2) Cela impose une programmation structurée et ne peut qu'augmenter la
qualité du code : on est obligé de réfléchir à la structure

3) Par définition, cela permet d'expliquer comme s'assemblent les
différentes pièces du puzzle, tout en séparant dans l'explication les
éléments : c'est tangle/ctangle qui se charge d'assembler tout ça. Exemple
trivial : on commence toujours par les déclarations de variables, mais elles
sont utilisées dans différentes parties du source ; là, on peut associer les
déclarations aux instructions qui les utilisent, et identifier clairement
leurs fonctions.

4) Somme toute, l'investissement en apprentissage n'est pas si redoutable,
et c'est « rentable ».

Question : quelqu'un a-t-il des expériences à ce sujet ?

A+
-- 
Thierry LARONDE, Centre de Ressources Informatiques, Archamps - France
http://www.cri74.org/



Reply to: