• # "Management", Modules et Apprentissage.

    Posté par (site web personnel) . En réponse au journal Repenser les langages et le développement logiciel. Évalué à 3.

    pour résoudre le problemes des bugs et des couts associes :

    Management => Extreme programming. (programmation par paires, test unitaires, client-dev synchro le + possible, etc...)

    Modules => Utilisation de librairies, modules le plus possible (revient a decouper en petit probleme les grands). L'Open Source donne ici de grands résultats.
    Un bon exemple est de developpement de jeux video (million de dollars de budgets) lire ce papier :
    A FLEXIBLE AND EXPANDABLE ARCHITECTURE FOR COMPUTER GAMES Jeff Plummer => http://www.jeffplummer.com/Writings/Thesis/Thesis_with_Appendix.pdf(...)

    Apprentissage => Tous les developpeurs devraient connaittre par coeurs les motifs de conception basique. (design patterns du gof)

    Pour l'écriture de logiciel moins complexe, mon opinion personnelle:

    Plus un language est de haut niveau, moins les "programmeurs" l'utilisant ont a manier de concept abstrait.

    On va vers la multiplicité des languages et leurs adaptation a la tache (qui explique le succes de php pour le web, le succes de VB pour excel et access).

    Quand on recupere des sources VB et PHP, on le voit bien : Pas de fonction, que des variables globales, pas de gestion memoires, etc... et souvent les codeurs sont pas tres vieux.
    Mais ca marche.

    Pour les taches complexes non standard (pas du web, access, excel), il faut assembler des modules en langage de bas niveau pour gagner en expressivité du langage (et ne surtout pas tout recoder soi-meme.)
    C'est tout le succés de Java de proposer des librairies standard tres etoffées, l'assemblage est alors tres simple, et le gain en expressivité est tres vite réalisé.