Wykaaa a écrit :
(snip)
>
> Le débat entame ici le fond du problème pour l'enseignement de la
> programmation.
> Je vais donner mon point de vue personnel qu'on peut ne pas partager
> (mais sans polémique SVP) :
> 1) Pour les futurs développeurs (en se cantonnant seulement à la
> programmation et pas au reste du cycle de vie ni à la gestion de projet) :
> Apprentissage des bases de la programmation, ce qui veut dire (pas
> forcément dans l'ordre):
> - notion de variable et de classe d'allocation mémoire (auto, statique,
> externe, constante), valeurs littérales
> - notion de sous-programme (procédure, fonction, méthode, appelons tout
> cela sous ce nom générique) et de passage d'argument (par valeur, par
> référence, par valeur d'adresse, par nom. Ce dernier à cause de certains
> macro-processeurs principalement)
> - notion de typage : types de base, types construits. Le typage
> statique, le typage dynamique
> - notion de programmation structurée (ce n'est pas parce que l'objet
> que, hein ?) : structures itératives et alternatives
> - notion de récursivité
> - notion de modularité : package, classes (pour préparer les notions
> objets)
> - Notion de compilation séparée (avec les différentes variantes. Par
> exemple, séparation ou non de la spécification d'un module et de son
> corps : .h et .c ou .cpp en C et C**, package et package body en ADA où
> la notion de package n'est pas liée à la notion de fichier, package à la
> Java)
> - Comment structurer une application en énonçant les critères (notion
> d'abstraction, forte cohésion interne, faible couplage)
> - Notion d'héritage et de polymorphisme
> - La généricité (les templates)
Et rien sur l'approche fonctionnelle ???